[root@vagrant ~]# yum provides ip Last metadata expiration check: 1:29:26 ago on Wed 29 May 2024 09:11:03 AM CST. iproute-5.15.0-2.2.0.1.el9_0.x86_64 : Advanced IP routing and network device configuration tools Repo : ol9_baseos_latest Matched from: Provide : /sbin/ip Filename : /usr/sbin/ip
ip link可以对设备参数进行配置,包括MTU以及该网口的MAC等等,另外也可以启动关闭某个网口。
1 2
ip [-s] link show [device] ip linkset [device] [动作和参数]
动作和参数包含:
up|down:启动和关闭某个接口
address:如果支持修改MAC,则使用此参数修改
name:修改设备名称
mtu:修改MTU
链路状态
1 2 3 4 5 6 7 8 9 10
# 查询系统中的所有可用网络接口 [root@vagrant ~]# ip link [show ens192] 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: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether 00:50:56:bf:18:da brd ff:ff:ff:ff:ff:ff altname enp11s0 3: vboxnet0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000 link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff [root@vagrant ~]#
lo:环回接口
要正确配置每个网络接口,你需要知道哪个接口连接到哪个网络.
link/ether后面为MAC地址
链路统计信息
ip命令可以显示有关网络性能的统计信息,每个网络接口的计数器可用于识别网络问题。
计数器记录的统计信息包括:RX收到,TX发出的数据包数量,数据包错误数量,丢失的数据包数量
加上-s参数后,会显示相关统计信息,RX接受,TX发送,与ifconfig所输出结果相同。
1 2 3 4 5 6 7 8
[root@vagrant ~]# ip -s link show ens192 2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether 00:50:56:bf:18:da brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped missed mcast 37892609172 72207336 0 573 0 698794 TX: bytes packets errors dropped carrier collsns 133341842542 10940279 0 0 0 0 altname enp11s0
格式化输出
1 2 3 4
[root@vagrant ~]# ip -br link lo UNKNOWN 00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP> ens192 UP 00:50:56:bf:18:da <BROADCAST,MULTICAST,UP,LOWER_UP> vboxnet0 DOWN 0a:00:27:00:00:00 <NO-CARRIER,BROADCAST,MULTICAST,UP>
启动和关闭接口
1 2 3 4 5
# 启用 ip linkset eth0 up
# 关闭 ip linkset eth0 down
修改接口MTU
1
ip linkset eth0 mtu 9000
修改接口名称,MAC等信息
更新网卡的MTU使用ifconfig也可以,但如果要更改代号,MAC地址信息,则只能通过ip link set来完成。
修改之前需要先关闭接口。
1 2 3
ip linkset eth0 down ip linkset eth0 name eth99 ip linkset eth0 address xx:xx:xx:xx:xx:xx
创建VLAN子接口
1 2
# 在eth0接口下创建一个eth0.10的子接口,其vlan id为10 ip link add link eth0 name eth0.10 type vlan id 10
启用接口混杂模式
1
ip linkset eth0 promisc on
ip address
语法
如果说ip link与OSI的第二层有关的话,那么ip address就与第三层有关。
1 2
ip address [show ens192] ip address [add|del] [IP参数] [device_name] [相关参数]
IP地址参数
192.168.1.1/24
192.168.1.0/24
device_name
指定接口名称
相关参数
broadcast:指定广播地址,如果值为+则表示让系统自动计算
label:设备别名,例如eth0:1
scope:领域
global:允许来自所有来源的连接,默认值。
site:仅支持IPv6,仅允许本主机的连接
link:仅允许该设备自我连接
host:仅允许本主机内部的连接
查看网络地址信息
1 2 3 4 5 6 7 8 9
[root@vagrant ~]# ip address show ens192 2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:50:56:bf:18:da brd ff:ff:ff:ff:ff:ff altname enp11s0 inet 10.10.10.131/25 brd 10.10.10.255 scope global noprefixroute ens192 valid_lft forever preferred_lft forever inet6 fe80::250:56ff:febf:18da/64 scope link valid_lft forever preferred_lft forever [root@vagrant ~]#
# 默认输出为IPv4路由表信息 [root@vagrant ~]# ip route default via 10.10.10.1 dev ens192 proto static metric 100 10.10.10.1 dev ens192 proto static scope link metric 100 10.10.10.128/25 dev ens192 proto kernel scope link src 10.10.10.131 metric 100 192.168.56.0/24 dev vboxnet0 proto kernel scope link src 192.168.56.1 linkdown [root@vagrant ~]# # 格式化输出 [root@vagrant ~]# ip route list | column -t default via 10.10.10.1 dev ens192 proto static metric 100 10.10.10.1 dev ens192 proto static scope link metric 100 10.10.10.128/25 dev ens192 proto kernel scope link src 10.10.10.131 metric 100 192.168.56.0/24 dev vboxnet0 proto kernel scope link src 192.168.56.1 linkdown
# IPv6路由表 [root@vagrant ~]# ip -6 route ::1 dev lo proto kernel metric 256 pref medium fe80::/64 dev vboxnet0 proto kernel metric 256 linkdown pref medium fe80::/64 dev ens192 proto kernel metric 256 pref medium [root@vagrant ~]#