Linux中的ip link
命令是iproute2
工具包中的一个核心命令,用于查看、管理和操作网络接口的属性,与传统的ifconfig
命令相比,ip link
功能更强大,支持更多现代网络特性,如VLAN、隧道、 bonding等,是Linux网络管理中不可或缺的工具,以下将详细介绍ip link
命令的用法、常用选项及实际应用场景。

基本语法与常用选项
ip link
命令的基本语法结构为:
ip link [选项] <操作> <设备名>
常用操作包括show
(显示接口信息)、set
(修改接口属性)、add
(添加虚拟接口)、delete
(删除接口)等,常用选项包括:
up
/down
:启用或禁用接口。name <新名称>
:重命名接口。mtu <数值>
:设置最大传输单元(MTU)。mac <地址>
:修改MAC地址。master <设备名>
:将接口加入bonding或bridge。vlan-id <ID>
:设置VLAN ID(需配合VLAN设备使用)。
查看网络接口信息
使用ip link show
或简写ip link
可以列出系统中所有网络接口的详细信息,包括状态、MAC地址、MTU、队列长度等。
ip link show
输出结果通常包含以下字段:

link/ether
:MAC地址。mtu
:最大传输单元。state
:接口状态(UP
/DOWN
)。qlen
:传输队列长度。
对于多接口系统,可通过指定设备名查看特定接口信息,如ip link show eth0
。
接口状态管理
启用/禁用接口
通过up
或down
选项可控制接口的运行状态,启用eth0
接口:
sudo ip link set eth0 up
禁用接口则使用down
选项,注意,禁用接口会导致网络中断,需谨慎操作。
修改MTU
MTU决定了接口一次可传输的最大数据包大小,将eth0
的MTU设置为9000:

sudo ip link set eth0 mtu 9000
调整MTU常用于优化网络性能,尤其是在大文件传输或Jumbo Frame场景中。
接口重命名与MAC地址修改
重命名接口
Linux允许动态修改接口名称,将eth0
重命名为lan0
:
sudo ip link set eth0 name lan0
重命名后,需通过ip link show lan0
确认操作成功。
修改MAC地址
临时修改MAC地址(需root权限):
sudo ip link set eth0 address 00:11:22:33:44:55
修改后需重启接口或使用ip link set eth0 up
使配置生效,注意,某些系统可能禁止动态修改MAC地址。
高级网络功能应用
VLAN配置
ip link
支持VLAN设备的创建与管理,创建一个VLAN ID为100的子接口:
sudo ip link add link eth0 name eth0.100 type vlan id 100 sudo ip link set eth0.100 up
完成后,可为eth0.100
配置IP地址并启用路由。
Bonding(链路聚合)
通过将多个物理接口绑定为一个逻辑接口,提高网络带宽和冗余性,创建bond0
并绑定eth0
和eth1
:
sudo ip link add bond0 type bond mode active-backup sudo ip link set eth0 master bond0 sudo ip link set eth1 master bond0 sudo ip link set bond0 up
mode
参数支持多种聚合模式,如balance-rr
(轮询)、active-backup
(主备)等。
网桥配置
创建网桥并添加接口:
sudo ip link add name br0 type bridge sudo ip link set eth0 master br0 sudo ip link set br0 up
网桥常用于虚拟化环境(如KVM)或实现二层网络转发。
接口统计信息
ip -s link show
可显示接口的详细统计信息,包括接收/发送字节数、数据包数量、错误计数等。
ip -s link show eth0
输出中的RX
和TX
部分分别记录了接收和发送的统计信息,便于网络故障排查。
常见错误与注意事项
- 权限问题:
ip link
命令通常需要root权限执行,普通用户需通过sudo
提升权限。 - 接口不存在:操作前需确认接口名称正确,可通过
ip link show
列出所有接口。 - 配置持久化:
ip link
的临时配置在系统重启后会丢失,若需永久生效,需结合网络配置工具(如NetworkManager
、ifcfg
文件)或netplan
等。
实际应用场景示例
场景1:快速排查网络问题
当网络不通时,可通过以下步骤排查:
- 检查接口状态:
ip link show eth0
确认是否为UP
。 - 检查MTU设置:
ip link show eth0 | grep mtu
。 - 检查MAC地址:确认是否与预期一致。
场景2:配置VLAN隔离网络
在服务器上划分VLAN实现业务隔离:
# 创建VLAN 10 sudo ip link add link eth0 name eth0.10 type vlan id 10 sudo ip addr add 192.168.10.1/24 dev eth0.10 sudo ip link set eth0.10 up
相关问答FAQs
问题1:ip link
与ifconfig
的主要区别是什么?
解答:ip link
是iproute2
工具包的一部分,功能更全面,支持现代网络特性(如VLAN、bonding),而ifconfig
是传统的net-tools
工具,已逐渐被淘汰。ip link
的输出更结构化,且支持批量操作,适合复杂网络环境。
问题2:如何通过ip link
永久修改接口的MAC地址?
解答:临时修改可通过ip link set <接口> address <MAC>
实现,但重启后失效,永久修改需编辑网络配置文件(如/etc/network/interfaces
或/etc/sysconfig/network-scripts/ifcfg-eth0
),添加HWADDR=<MAC>
字段,或使用NetworkManager
的图形化工具配置。