文章

iproute2软件包


一、前言

  • iproute2是在Linux系统中用于管理网络协议栈和网络设备的软件包,主要是替代老的net-tools,因为其已经不建议使用,net-tools的主要命令就是大家非常熟悉的ifconfig,netstat,route和arp。
  • 由于net-tools自身存在一些缺陷,并且已经停止维护,在新版本的系统上都已经不再搭载,所以是时候学习新的命令了。

二、网络接口管理

  • 查看接口基本信息:
1
2
ip link
ip link show
  • 查看特定接口信息:
1
ip link show wlan1
  • 查看接口详细信息:
1
ip -s link show wlan1
  • 只看已经激活的接口:
1
ip link show up
  • 启动/停止网络接口
1
2
ip link set wlan1 up
ip link set wlan1 down
  • 修改接口MTU
1
ip link set wlan1 mtu 1500
  • 修改接口MAC地址(需要先关闭接口)
1
2
3
ip link set wlan1 down
ip link set wlan1 address 00:01:02:03:04:05
ip link set wlan1 up

三、IP协议管理

  • 查看所有接口:
1
2
ip addr
ip addr show
  • 查看特定接口:
1
ip addr show dev wlan1
  • 为接口添加一个IP地址,不再使用子网掩码,而是使用CIDR:
1
2
3
ip addr add 192.168.1.100/24 brd + dev wlan1
# 使用brd +是默认广播地址,即和下面的语句等价
ip addr add 192.168.1.100/24 brd 192.168.1.255 dev wlan1
  • 删除接口的指定IP地址
1
ip addr del 192.168.1.100/24 dev wlan1
  • 删除接口的全部IP地址
1
2
3
4
5
6
# 同时清除IPv4和IPv6地址
ip addr flush dev wlan1
# 仅清除IPv4地址
ip addr -4 flush dev wlan1
# 仅清除IPv6地址
ip addr -6 flush dev wlan1

四、网络状态管理

  • 查看系统中活动的连接
1
ss
  • 查看系统中的端口占用情况
1
ss -nlp

五、路由管理

  • 查看系统路由表
1
2
ip route
ip route show
  • 新增路由条目
1
ip route add 192.168.1.0/24 via 192.168.1.100
  • 删除路由条目
1
ip route del 192.168.1.0/24 via 192.168.1.100

五、ARP协议管理

  • 查看ARP表
1
2
ip neigh
ip neigh show
  • 新增ARP条目
1
ip neigh add 192.168.1.1 lladdr 00:01:02:03:04:05 dev wlan1
  • 删除ARP条目
1
ip neigh del 192.168.1.1 lladdr 00:01:02:03:04:05 dev wlan1

六、总结

  • 总体来说iproute2使用起来还是很方便的,鉴于net-tools已经不维护了,所以建议迁移到iproute2来。
本文由作者按照 CC BY 4.0 进行授权