🤖 Ai回答: `ip link` 是 Linux 系统中 `ip` 命令的一个子命令,属于 `iproute2` 工具包的一部分,用于管理和查看网络接口(网卡)的链路层(数据链路层)信息。它比传统的 `ifconfig` 更强大、更灵活,是现代 Linux 系统推荐使用的网络配置工具。
🔧 基本语法:
bash
ip link [COMMAND] [DEVICE]
📚 常用命令和示例
1、查看所有网络接口
bash
ip link show
或简写为
ip link
输出示例:
text
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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff
`<UP,LOWER_UP` 表示接口已启用且物理链路正常。
`state UP` 表示链路状态为激活。
`link/ether` 显示 MAC 地址。
2、查看指定接口
bash
ip link show dev eth0
3、启用(up)网络接口
bash
sudo ip link set eth0 up
这相当于“开启”网卡,使其可以收发数据。
4、禁用(down)网络接口
bash
sudo ip link set eth0 down
关闭网卡,断开链路连接。
5、修改接口的 MTU(最大传输单元)
bash
sudo ip link set eth0 mtu 1400
常用于调整网络性能或适应特定网络环境(如 PPPoE、VPN)。
6、修改接口的 MAC 地址(硬件地址)
bash
sudo ip link set eth0 address 02:11:22:33:44:55
⚠️ 注意:修改 MAC 地址前接口通常需要处于 `down` 状态。
完整操作:
bash
sudo ip link set eth0 down
sudo ip link set eth0 address 02:11:22:33:44:55
sudo ip link set eth0 up
7、重命名网络接口
bash
sudo ip link set eth0 name newname
例如:
bash
sudo ip link set eth0 name internet0
同样需要先 `down` 接口。
8、设置接口为只接收广播或多播(高级用途)
bash
设置为仅多播
sudo ip link set eth0 allmulticast on
设置为允许接收所有广播包(杂凑模式)
sudo ip link set eth0 promisc on