如何使用 ip命令示例

    1. 显示 IP 地址
      我们可以通过运行“ip address show”来显示所有接口的 IP 地址信息,如下所示。
[jack@onitroad ~]# ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dd:cd:6a brd ff:ff:ff:ff:ff:ff
    inet 192.168.220.135/24 brd 192.168.220.255 scope global dynamic eno16777736
       valid_lft 1576sec preferred_lft 1576sec
    inet6 fe80::20c:29ff:fedd:cd6a/64 scope link
       valid_lft forever preferred_lft forever
  • 2.显示IP链接
    链接信息可以用'ip link show'显示,可以缩写为'ip l'。
[jack@onitroad ~]# ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:0c:29:dd:cd:6a brd ff:ff:ff:ff:ff:ff
    1. 显示 IP 路由表
      我们可以用'ip routing show'命令打印出路由信息,可以缩写为'ip r'。
[jack@onitroad ~]# ip r
default via 192.168.220.2 dev eno16777736  proto static  metric 100
192.168.220.0/24 dev eno16777736  proto kernel  scope link  src 192.168.220.135  metric 100
    1. 查看统计
      我们可以使用 -s 选项运行许多 ip 命令来显示各种统计信息。在下面的示例中,我们将 -s 与 'ip address show' 一起使用,以显示其他统计信息。
[jack@onitroad ~]# ip -s a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
    RX: bytes  packets  errors  dropped overrun mcast
    666        6        0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    666        6        0       0       0       0
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dd:cd:6a brd ff:ff:ff:ff:ff:ff
    inet 192.168.220.135/24 brd 192.168.220.255 scope global dynamic eno16777736
       valid_lft 1431sec preferred_lft 1431sec
    inet6 fe80::20c:29ff:fedd:cd6a/64 scope link
       valid_lft forever preferred_lft forever
    RX: bytes  packets  errors  dropped overrun mcast
    495701     5144     0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    2262117    4096     0       0       0       0
    1. 仅打印 IPv4
      使用 -4 选项,我们只能打印出与 IPv4 相关的信息。
[jack@onitroad ~]# ip -4 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet 192.168.220.135/24 brd 192.168.220.255 scope global dynamic eno16777736
       valid_lft 1267sec preferred_lft 1267sec
    1. 仅打印 IPv6
      同样,我们可以使用 -6 选项仅打印出与 IPv6 相关的信息。
[jack@onitroad ~]# ip -6 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 fe80::20c:29ff:fedd:cd6a/64 scope link
       valid_lft forever preferred_lft forever
    1. 单行输出
      我们可以使用 -o 选项将输出打印到一行,这样打印的输出就不会占用多行。
[jack@onitroad ~]# ip -o a
1: lo    inet 127.0.0.1/8 scope host lo\       valid_lft forever preferred_lft forever
1: lo    inet6 ::1/128 scope host \       valid_lft forever preferred_lft forever
2: eno16777736    inet 192.168.220.135/24 brd 192.168.220.255 scope global dynamic eno16777736\       valid_lft 1128sec preferred_lft 1128sec
2: eno16777736    inet6 fe80::20c:29ff:fedd:cd6a/64 scope link \       valid_lft forever preferred_lft forever
  • 8.临时修改接口配置
    虽然 ip 命令可用于编辑接口的网络配置,但通常不建议这样做,因为它不是持久更改,这意味着它不会在重新启动后继续存在。然而尽管如此,有时我们可能希望为当前会话临时设置 IP 地址,这可以使用 ip 命令完成。
[jack@onitroad ~]# ip address add 192.168.220.200 dev eno16777736

这已将第二个 IP 地址 192.168.220.200 添加到 eno16777736 设备。

[jack@onitroad ~]# ip -o -4 addr show dev eno16777736
2: eno16777736    inet 192.168.220.135/24 brd 192.168.220.255 scope global dynamic eno16777736\       valid_lft 1720sec preferred_lft 1720sec
2: eno16777736    inet 192.168.220.200/32 scope global eno16777736\       valid_lft forever preferred_lft forever

系统重新启动后,此配置更改将丢失。
有关这方面的更多信息,我们只需键入“ip addr add help”,它就会显示要使用的语法以及我们可以修改的其他内容。要修改路由,请查看“ip route add help”。

    1. 开启或者关闭接口
      我们可以使用 ip 命令关闭或者恢复网络链接,如下所示。
ip link set eno16777736 down
ip link set eno16777736 up
    1. 从文件中读取命令
      不是每次都将选项或者对象指定为 ip 命令的一部分,我们可以使用 -b 选项后跟文件路径从批处理文件中读取。
      在下面的示例中,我们可以看到 batch.txt 文件包含两个 ip 命令,当使用 -b 运行时,我们得到两个 'ip addr show' 的输出,然后是 'ip route show'。
[jack@onitroad ~]# cat batch.txt
addr show
route show
[jack@onitroad ~]# ip -b batch.txt
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dd:cd:6a brd ff:ff:ff:ff:ff:ff
    inet 192.168.220.135/24 brd 192.168.220.255 scope global dynamic eno16777736
       valid_lft 1667sec preferred_lft 1667sec
    inet6 fe80::20c:29ff:fedd:cd6a/64 scope link
       valid_lft forever preferred_lft forever
default via 192.168.220.2 dev eno16777736  proto static  metric 100
192.168.220.0/24 dev eno16777736  proto kernel  scope link  src 192.168.220.135  metric 100
    1. 显示版本
      我们可以使用 -V 选项显示 ip 工具的版本信息。
[jack@onitroad ~]# ip -V
ip utility, iproute2-ss130716
Linux ip 命令示例

'ip' 命令用于在 Linux 中打印出各种网络信息。
它取代了已弃用的“ifconfig”命令,在 CentOS 7 中默认情况下甚至未安装ifconfig命令。

ip 命令是 iproute 包的一部分,该包默认安装在大多数现代 Linux 发行版中。

日期:2020-07-07 20:57:00 来源:oir作者:oir