iproute2

iproute2 是一个强大的网络工具集,用于管理和配置 Linux 系统的网络功能。它是传统网络工具(如 ifconfigroutearp 等)的现代替代品,提供了更丰富的功能和更灵活的配置方式。以下是 iproute2 的主要功能:
1. 网络接口管理

  • 查看网络接口信息
1
ip link show

启用/禁用网络接口

1
2
ip link set dev eth0 up
ip link set dev eth0 down

修改网络接口属性(如 MTU、MAC 地址):

1
2
ip link set dev eth0 mtu 1500
ip link set dev eth0 address 00:11:22:33:44:55

2. IP 地址管理

  • 查看 IP 地址
1
ip address show

添加 IP 地址

1
ip address add 192.168.1.100/24 dev eth0

删除 IP 地址

1
ip address del 192.168.1.100/24 dev eth0

3. 路由管理

  • 查看路由表
1
ip route show

添加路由

1
ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0

删除路由

1
ip route del 192.168.2.0/24 via 192.168.1.1 dev eth0

修改默认网关

1
ip route add default via 192.168.1.1 dev eth0

4. ARP 表管理

查看 ARP 表

1
ip neigh show

添加 ARP 条目

1
ip neigh add 192.168.1.100 lladdr 00:11:22:33:44:55 dev eth0

删除 ARP 条目

1
ip neigh del 192.168.1.100 dev eth0

5. 网络命名空间管理

创建网络命名空间

1
ip netns add ns1

在命名空间中执行命令

1
ip netns exec ns1 ip link show

删除网络命名空间

1
ip netns del ns1

6. 策略路由

查看策略路由规则

1
2
ip rule show

添加策略路由规则

1
ip rule add from 192.168.1.100 lookup 100

删除策略路由规则

1
ip rule del from 192.168.1.100 lookup 100

7. 流量控制(QoS)

  • 查看流量控制配置
1
tc qdisc show

添加流量控制规则

1
2
tc qdisc add dev eth0 root handle 1: htb
tc class add dev eth0 parent 1: classid 1:1 htb rate 1gbit

8. 隧道管理

  • 创建 IPIP 隧道
1
ip tunnel add tun0 mode ipip remote 203.0.113.1 local 192.168.1.100

启用隧道接口

1
ip link set dev tun0 up

9. VLAN 管理

  • 创建 VLAN 接口
1
ip link add link eth0 name eth0.100 type vlan id 100

启用 VLAN 接口

1
ip link set dev eth0.100 up

10. 多播路由

  • 查看多播路由表
1
ip mroute show

添加多播路由

1
ip mroute add 224.0.0.0/4 dev eth0

总结

iproute2 是一个功能强大的工具集,涵盖了网络管理的各个方面,包括接口管理、IP 地址配置、路由管理、ARP 表管理、网络命名空间、策略路由、流量控制、隧道和 VLAN 管理等。它比传统的网络工具更灵活,更适合现代 Linux 系统的网络配置需求。