从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 系统管理来说特别重要的命令,学习并掌握它能够让配置网络变得容易。

05-28 23:13