菜鸟科技网

Linux ip link命令,如何查看与配置网络接口?

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

Linux ip link命令,如何查看与配置网络接口?-图1
(图片来源网络,侵删)

基本语法与常用选项

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

输出结果通常包含以下字段:

Linux ip link命令,如何查看与配置网络接口?-图2
(图片来源网络,侵删)
  • link/ether:MAC地址。
  • mtu:最大传输单元。
  • state:接口状态(UP/DOWN)。
  • qlen:传输队列长度。

对于多接口系统,可通过指定设备名查看特定接口信息,如ip link show eth0

接口状态管理

启用/禁用接口

通过updown选项可控制接口的运行状态,启用eth0接口:

sudo ip link set eth0 up

禁用接口则使用down选项,注意,禁用接口会导致网络中断,需谨慎操作。

修改MTU

MTU决定了接口一次可传输的最大数据包大小,将eth0的MTU设置为9000:

Linux ip link命令,如何查看与配置网络接口?-图3
(图片来源网络,侵删)
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并绑定eth0eth1

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

输出中的RXTX部分分别记录了接收和发送的统计信息,便于网络故障排查。

常见错误与注意事项

  1. 权限问题ip link命令通常需要root权限执行,普通用户需通过sudo提升权限。
  2. 接口不存在:操作前需确认接口名称正确,可通过ip link show列出所有接口。
  3. 配置持久化ip link的临时配置在系统重启后会丢失,若需永久生效,需结合网络配置工具(如NetworkManagerifcfg文件)或netplan等。

实际应用场景示例

场景1:快速排查网络问题

当网络不通时,可通过以下步骤排查:

  1. 检查接口状态:ip link show eth0确认是否为UP
  2. 检查MTU设置:ip link show eth0 | grep mtu
  3. 检查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 linkifconfig的主要区别是什么?
解答:ip linkiproute2工具包的一部分,功能更全面,支持现代网络特性(如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的图形化工具配置。

分享:
扫描分享到社交APP
上一篇
下一篇