
目录
- 一、iproute2 核心命令:`ip`
- 二、常用功能详解
- 1. 管理网络接口(`link` 对象)
- 2. 管理 IP 地址(`address` 对象)
- 3. 管理路由表(`route` 对象)
- 4. 管理 ARP 和邻居缓存(`neigh` 对象)
- 5. 管理网络命名空间(`netns` 对象)
- 三、其他实用工具
- 四、与 `ifconfig` 的对比
- 五、配置持久化
- 六、常见问题
- 1. 如何安装 iproute2?
- 2. 接口名称变化(如 eth0 → enp0s3)?
- 七、总结
iproute2 是现代 Linux 系统中替代传统网络工具(如 ifconfig、route、arp)的集成工具集,功能更强大且设计更统一。以下是其核心命令 ip 的详细使用指南:
一、iproute2 核心命令:ip
基本语法:
ip [选项] 对象 {操作} [参数]
- 对象:
address(IP地址)、link(网络接口)、route(路由表)、neigh(ARP缓存)等。 - 操作:
show(查看)、add(添加)、del(删除)、set(设置)等。
二、常用功能详解
1. 管理网络接口(link 对象)
-
查看所有接口状态:
ip link show # 简写 ip l输出关键字段:
UP/DOWN:接口启用状态mtu:最大传输单元LOWER_UP:物理连接状态
-
启用/禁用接口:
sudo ip link set eth0 up # 启用 sudo ip link set eth0 down # 禁用 -
修改接口属性(如 MTU、MAC 地址):
sudo ip link set eth0 mtu 9000 # 设置 MTU sudo ip link set eth0 address 00:11:22:33:44:55 # 修改 MAC 地址
2. 管理 IP 地址(address 对象)
-
查看接口 IP 地址:
ip address show # 查看所有接口 ip addr show eth0 # 指定接口 # 简写 ip a -
添加/删除 IP 地址:
sudo ip addr add 192.168.1.100/24 dev eth0 # 添加 IPv4 sudo ip addr del 192.168.1.100/24 dev eth0 # 删除 IPv4 -
清空接口所有 IP 地址:
sudo ip addr flush dev eth0
3. 管理路由表(route 对象)
-
查看路由表:
ip route show # 简写 ip r -
添加/删除路由:
# 添加默认网关 sudo ip route add default via 192.168.1.1 dev eth0 # 添加静态路由 sudo ip route add 10.0.0.0/24 via 192.168.1.2 dev eth0 # 删除路由 sudo ip route del 10.0.0.0/24 -
策略路由(高级):
ip rule add from 192.168.1.100 lookup 100 # 根据源 IP 选择路由表 ip route add default via 10.0.0.1 table 100
4. 管理 ARP 和邻居缓存(neigh 对象)
-
查看 ARP 缓存:
ip neigh show -
添加/删除 ARP 条目:
sudo ip neigh add 192.168.1.2 lladdr 00:11:22:33:44:55 dev eth0 sudo ip neigh del 192.168.1.2 dev eth0
5. 管理网络命名空间(netns 对象)
-
创建/删除网络命名空间:
sudo ip netns add ns1 # 创建 sudo ip netns delete ns1 # 删除 -
在命名空间中执行命令:
sudo ip netns exec ns1 ip a # 查看 ns1 中的网络接口
三、其他实用工具
iproute2 工具集还包含以下命令:
ss:替代netstat,查看套接字统计。ss -tunlp # 查看所有 TCP/UDP 监听端口tc:流量控制(限速、优先级管理)。tc qdisc add dev eth0 root netem delay 100ms # 模拟 100ms 网络延迟bridge:管理网桥。bridge link show # 查看网桥接口
四、与 ifconfig 的对比
| 操作 | ifconfig | iproute2 |
|---|---|---|
| 查看接口状态 | ifconfig | ip link show |
| 设置 IP 地址 | ifconfig eth0 192.168.1.100 | ip addr add 192.168.1.100/24 dev eth0 |
| 查看路由表 | route -n | ip route show |
| 修改 MAC 地址 | ifconfig eth0 hw ether... | ip link set eth0 address... |
五、配置持久化
ip 命令的修改是临时的,需通过以下方式持久化:
- Debian/Ubuntu:编辑
/etc/network/interfaces。 - RHEL/CentOS:编辑
/etc/sysconfig/network-scripts/ifcfg-eth0。 - 通用方法:使用
NetworkManager或netplan(Ubuntu 18.04+)。
六、常见问题
1. 如何安装 iproute2?
大多数 Linux 系统已预装。若缺失:
sudo apt install iproute2 # Debian/Ubuntu
sudo yum install iproute # RHEL/CentOS
2. 接口名称变化(如 eth0 → enp0s3)?
这是由 systemd 的 Predictable Network Interface Names 导致,可通过以下方式禁用:
- 编辑
/etc/default/grub,添加net.ifnames=0。 - 运行
sudo update-grub并重启。
七、总结
- 优势:功能全面、语法统一、支持现代网络特性(如 VRF、网络命名空间)。
- 学习建议:
- 掌握常用对象:
link、addr、route。 - 使用
man ip或ip help查看详细文档。 - 逐步替换旧脚本中的
ifconfig/route命令。
- 掌握常用对象:
掌握 iproute2 是 Linux 网络管理的必备技能,尤其适用于容器化、虚拟化等复杂网络环境。







![每日c/c++题 备战蓝桥杯(小球反弹)[镜像思路求解,最小公倍数]](https://i-blog.csdnimg.cn/direct/9e494a8eaed744ada59e87a3e73ab341.png)









