从centos7以前我们一直使用ifconfig命令来执行网络相关的任务,比如检查和配置网卡信息,但是ifconfig已经不再被维护,并且在最近版本的Linux中被废除了!ifconfig命令已经被ip命令所代替了。

ip 命令跟 ifconfig 命令有些类似,但是强力的多,他有许多新功能。ip 命令完成很多ifconfig命令无法完成的任务。

本教程将会讨论ip命令的12中最常用法,让我们开始吧

案例1:检查网卡信息

  • 检查网卡的诸如IP地址,子网等网络信息,使用ip addr show
[root@ecs-c286]$ ip addr show

[root@ecs-c286]$ ip a s
[root@ecs-c286]$ ip a
  • 如果显示系统中所有可用网卡的相关网络信息,不过如果你想查看某块网卡的信息,则命令为:
[root@ecs-c286 ~]# ip a s eth0

案例2:启动/禁用网卡

  • 使用ip命令来启用一个被禁用的网卡:
[root@ecs-c286 ~]# ip link set eth0 up
  • 而要禁用网卡则使用down触发器:
[root@ecs-c286 ~]# ip link set eth0 down

案例3:为网卡分配IP地址以及其他网络信息

  • 要为网卡分配IP地址,我们使用下面命令:
ip addr add 192.169.1.250/255.255.255.0 dev eth1
  • 也可以使用ip命令来设置广播地址。默认是没有设置广播地址的,设置广播地址的命令为:
ip addr add broadcast 192.168.1.255 dev eth1
  • 我们也可以使用下面命令来根据IP地址设置标准的广播地址:
ip addr add 192.168.1.10/24 brd + dev eth1

例如上面例子所示,我们可以使用brd代替broadcast来设置广播地址

案例4:删除网卡中配置的IP地址

  • 若想从网卡中删除掉某个IP,使用如下ip命令:
ip addr del 192.168.1.10/24 dev eth1

案例5:为网卡添加别名(假设网卡名为eth0)

  • 添加别名,即为网卡添加不止一个ip,执行下面命令:
ip addr add 192.168.1.20/24 dev eth0 label eth0:1

案例6:检查路由/默认网卡的信息

  • 查看路由信息会给我们显示数据包到达目的地的路由路径。要查看网络路由信息,执行下面命令:
ip route show
  • 在上面输出结果中,我们能够看到所有网卡上数据包的路由信息。我们也可以获取特定IP的路由信息,方法是:
ip route get 192.168.1.1

添加静态路由

  • 我们也可以使用ip来修改数据包的默认路由。方法是使用 ip route 命令:
ip route add default via 192.168.1.150/24
  • 这样所有的网络数据包通过192.168.1.150 来转发,而不是添加默认路由了。若要修改某个网卡的默认路由,执行:
ip route add 172.16.32.32 via 192.168.1.150/24 dev eth0

案例8:删除默认路由

  • 要删除之前设置的默认路由
ip route del 192.168.1.150/24

注意:用上面方法修改的默认路由只是临时有效的,在系统重启后所有的改动都会丢失。要永久修改路由,需要修改或者创建route-eth0文件。将下面这行加入其中:

vi /etc/sysconfig/network-scripts/route-eth1
172.16.32.32 via 192.168.0.150/24 dev eth1

保存并退出该文件。

若你使用的是基于 Ubuntu 或 debian 的操作系统,则该要修改的文件为 /etc/network/interfaces,然后添加 ip route add 172.16.32.32 via 192.168.1.150/24 dev eth1 这行到文件末尾。

案例9:检查所有的ARP记录

ARP,是地址解析协议的缩写,用于将ip地址转换为物理地址(也就是MAC地址)。所有的ip和其对应的MAC明细都存储在一张表中,这张表叫做arp缓存。

  • 要查看ARP缓存中的记录,即连接到局域网中设备的MAC地址,则使用如下ip命令:
ip neigh

案例10:修改ARP记录

  • 删除ARP记录的命令为:
ip neigh del 192.168.1.106 dev eth1
  • 若想往ARP缓存中添加新记录,则命令为:
ip neigh add 192.168.1.150 lladdr 33:1g:75:37:r3:84 dev eth1 nud perm

这里nud的意思是“neghbour state”(网络邻居状态),他的值可以是:

  1. perm - 永久有效并且只能被管理员删除
  2. noarp - 记录有效,但在生命周期过期后就允许被删除了
  3. stale - 记录有效,但可能已经过期
  4. reachable - 记录有效,但超时后就失效了

查看网络统计信息

通过ip命令还能查看网络统计信息,比如所有网卡上传输的字节数和报文数,错误或者丢弃的报文数等,使用ip -s link 命令来查看:

ip -s link

获取帮助

若你想查看某个上面例子中没有的选项,那么你可以查看帮助。事实上对任何命令你都可以寻求帮助。要列出 ip 命令的所有可选项,执行:

ip help

记住,ip 命令是一个对 Linux 系统管理来说特别重要的命令,学习并掌握它能够让配置网络变得容易。

ip命令规范的更多相关文章

  1. ip命令和ifconfig命令(转载)

    Linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者.使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务.ifconfig是net-tools中已被废弃使用的一个命 ...

  2. dos 固定ip命令

    dos 固定ip命令 ***************************************************************************************** ...

  3. Linux下的ip命令,除了ifconfig还有很多

    linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者.使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务.ifconfig是net-tools中已被废弃使用的一个命 ...

  4. linux包之iproute之ip命令

    [root@localhost ~]# rpm -qf /sbin/ipiproute-2.6.32-31.el6.x86_64ip 是个命令, ip 命令的功能很多!基本上它整合了 ifconfig ...

  5. [网络配置相关]——ifconfig命令、ip命令、route命令

    ifconfig命令 1. 查看已被激活的网卡的详细信息 # ifconfig eth0 Link encap:Ethernet HWaddr 00:30:67:F2:10:CF inet addr: ...

  6. linux下ip命令用法

    配置数据转发,可以通过 1.路由转发即用用路由器实现: 2.使用NAT转发: 简单的说: 路由表内的信息只是指定数据包在路由器内的下一个去处.并不能改变数据包本身的地址信息.即它只是“换条路而已,目的 ...

  7. IP命令

    ip命令是Linux下较新的功能强大的网络配置工具. 1 功能 ip命令用来显示或操纵Linux主机的路由.网络设备.策略路由和隧道. 2用法 Usage: ip [ OPTIONS ] OBJECT ...

  8. 试试Linux下的ip命令,ifconfig已经过时了

    linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者.使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务.ifconfig是net-tools中已被废弃使用的一个命 ...

  9. Linux:Day11(下) ip命令及配置文件方式

    配置Linux网络属性:ip命令 ip [ OPTIONS ] OBJECT { COMMAND | help } OBJECT := { link | addr | route } link OBJ ...

随机推荐

  1. bugku come_game

    首先打开游戏发现就是一个单纯的游戏但是当你闯过一关去的时候会发现会多一个文件 看一下玩游戏前 与玩游戏之后有什么变化 然后发现一个文件叫temp 然后用hxd进行分析一下然后尝试着将01改成02然后就 ...

  2. 类型type:clusterip和service内部的关系

    类型type:clusterip和service内部的关系 待办 https://stackoverflow.com/questions/41509439/whats-the-difference-b ...

  3. Android学习11

    Android存储概念 File内部存储 通过file=openFileOutput()获得,将数据存储在data/data/+包名+files下面. layout布局文件: <?xml ver ...

  4. Go_channel

    通道可以被认为是Goroutines通信的管道.类似于管道中的水从一端到另一端的流动,数据可以从一端发送到另一端,通过通道接收. 在前面讲Go语言的并发时候,我们就说过,当多个Goroutine想实现 ...

  5. December 31st, Week 53rd Tuesday, 2019

    Nothing comes from nothing. 天下没有免费的午餐. Nothing comes from nothing, and in some cases, even something ...

  6. reduce 方法(升序)

    语法: array1.reduce(callbackfn[, initialValue]) 参数 定义 array1 必需.一个数组对象. callbackfn 必需.一个接受最多四个参数的函数.对于 ...

  7. The Preliminary Contest for ICPC Asia Shanghai 2019 B Light bulbs (离散的差分)

    复杂度分析,询问一千次,区间长1e6,O(1e9)超时. 那么我们知道对于差分来说,没必要一个一个求,只需要知道区间长就可以了,所以我们定义结构体差分节点,一个头结点,一个尾节点. 这样tail.lo ...

  8. 201771010135 杨蓉庆《面对对象程序设计(java)》第十七周学习总结

    1.实验目的与要求 (1) 掌握线程同步的概念及实现技术: (2) 线程综合编程练习 一.理论知识 ⚫ 线程同步 (1)多线程并发运行不确定性问题解决方案:引入线 程同步机制,使得另一线程要使用该方法 ...

  9. Spring的核心api和两种实例化方式

    一.spring的核心api Spring有如下的核心api BeanFactory :这是一个工厂,用于生成任意bean.采取延迟加载,第一次getBean时才会初始化Bean Applicatio ...

  10. html表单中的input元素的两种提交方式比较(get/post)

    Http存在两种最常用的提交方式:Get和Post(电话面试有问到两种提交方式的区别) 什么是HTTP? 超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信. HTTP 的工作方式是客 ...