ip命令用来显示或操纵Linux主机的路由、网络设备、策略路由和隧道,是Linux下较新的功能强大的网络配置工具。
格式:ip [参数] [选项]
-V:显示指令版本信息
-s:输出更详细的信息
-f:强制使用指定的协议族
-4:指定使用的网络层协议是IPv4协议
-6:指定使用的网络层协议是IPv6协议
-0:输出信息每条记录输出一行,即使内容较多也不换行显示
-r:显示主机时,不使用IP地址,而使用主机的域名
4.1 用ip命令显示网络设备的运行状态
[root@localhost ~]# ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:50:56:26:d8:88 brd ff:ff:ff:ff:ff:ff
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
link/ether 52:54:00:d2:18:f4 brd ff:ff:ff:ff:ff:ff
4: virbr0-nic: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN mode DEFAULT group default qlen 1000
link/ether 52:54:00:d2:18:f4 brd ff:ff:ff:ff:ff:ff
[root@localhost ~]#
4.2 输出更详细的信息
[root@localhost ~]# ip link list
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: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP
link/ether 00:50:56:26:d8:88 brd ff:ff:ff:ff:ff:ff
4.3 显示核心路由表
[root@localhost ~]# ip route list
default via 172.16.0.1 dev ens33 proto dhcp metric 100
172.16.0.0/23 dev ens33 proto kernel scope link src 172.16.0.76 metric 100
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
[root@localhost ~]#
4.4 显示核心路由表
[root@localhost ~]# ip route show
default via 172.16.0.1 dev ens33 proto dhcp metric 100
172.16.0.0/23 dev ens33 proto kernel scope link src 172.16.0.76 metric 100
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
[root@localhost ~]#
4.5 显示邻居路由表
[root@localhost ~]# ip neigh list
172.16.0.1 dev ens33 lladdr 58:69:6c:28:0c:4e STALE
172.16.0.51 dev ens33 lladdr 54:e1:ad:ac:1e:7b REACHABLE
[root@localhost ~]#
4.6 显示邻居路由表
[root@localhost ~]# ip neigh show
172.16.0.1 dev ens33 lladdr 58:69:6c:28:0c:4e STALE
172.16.0.51 dev ens33 lladdr 54:e1:ad:ac:1e:7b REACHABLE
[root@localhost ~]#
4.7 启动指定网卡
[root@localhost ~]# ip link set dev ens33 up
[root@localhost ~]#
4.8 关闭指定网卡
[root@localhost ~]# ip link set dev ens33 down
[root@localhost ~]#
4.9 改变设备传输队列的长度
[root@localhost ~]# ip link set dev ens33 txqueuelen 100
[root@localhost ~]#
4.10 改变网络设备MTU(最大传输单元)的值
[root@localhost ~]# ip link set dev ens33 mtu 1500
[root@localhost ~]#
4.11 修改网络设备的MAC地址
[root@localhost ~]# ip link set dev ens33 address 00:50:56:26:d8:88
[root@localhost ~]#
4.12 查看eth0网卡信息
[root@localhost ~]# ip -s link ls ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:50:56:26:d8:88 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
850361623 2870487 0 0 0 0
TX: bytes packets errors dropped carrier collsns
16964899 24723 0 0 0 0
[root@localhost ~]#
等同于ifconfig eth0
4.13 为每个地址设置一个字符串作为标签
[root@localhost ~]# ip addr add local 172.16.0.76 brd + label ens330:1 dev ens33
[root@localhost ~]#
4.14 添加虚拟网卡
[root@localhost ~]# ip addr add local 172.16.0.77 brd + label ens330:2 dev ens33
[root@localhost ~]#
在以太网接口ens33上增加一个地址172.16.0.77,掩码长度为24位(255.255.255.0),标准广播地址,标签为ens33:Alias
4.15 删除虚拟网卡
[root@localhost ~]# ip addr del local 172.16.0.77 brd + dev ens33 label ens33:2
[root@localhost ~]#
ip address delete–删除一个协议地址. 缩写:delete、del、d
4.16 显示协议地址
[root@localhost ~]# ip addr ls ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:50:56:26:d8:88 brd ff:ff:ff:ff:ff:ff
inet 172.16.0.76/23 brd 172.16.1.255 scope global noprefixroute dynamic ens33
valid_lft 19031sec preferred_lft 19031sec
inet 172.16.0.76/32 scope global ens330:1
valid_lft forever preferred_lft forever
inet6 fe80::16e5:9e6b:b4d5:68de/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@localhost ~]#
ip address show–显示协议地址. 缩写:show、list、lst、sh、ls、l
4.17 取消所有以太网卡的IP地址
[root@localhost ~]# ip -4 addr flush label ens33
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::16e5:9e6b:b4d5:68de prefixlen 64 scopeid 0x20<link>
ether 00:50:56:26:d8:88 txqueuelen 1000 (Ethernet)
RX packets 2871714 bytes 850478808 (811.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 25185 bytes 17037874 (16.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens330:1: error fetching interface information: Device not found
[root@localhost ~]#
4.18 在设备ens33上,为地址10.0.0.3添加一个permanent ARP条目
[root@localhost ~]# ip neigh add 172.16.0.4 lladdr 0:0:0:0:0:1 dev ens33 nud perm
[root@localhost ~]#
4.19 把状态改为可达
[root@localhost ~]# ip neigh chg 172.16.0.4 dev ens33 nud reachable
[root@localhost ~]#
4.20 删除设备上的一个ARP条目
[root@localhost ~]# ip neigh del 172.16.0.4 dev ens33
[root@localhost ~]#
4.21 添加172.16.0.0网段转发到ens33
[root@localhost ~]# ip route add 172.16.0.0 dev ens33
[root@localhost ~]#
参考:【Linux】一步一步学Linux系列教程汇总
参考:https://blog.csdn.net/wj78080458/article/details/86909969