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的图形化工具配置。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/410494.html<
