# 简述

  • net-tools 起源于 BSD 的 TCP/IP 工具箱,后来成为老版本 Linux 内核中配置网络功能的工具。但自 2001 年起,Linux 社区已经对其停止维护,甚至一些 Linux 发行版比如 Arch Linux 和 CentOS/RHEL 7 则已经完全抛弃了 net-tools,只支持 iproute2。

  • iproute2 的出现旨在从功能上取代 net-tools,是目前主流 Linux 所配带的网络套件,同时提供 net-tools 下 ifconfig 和 route 命令所不具备的高级特性。

net-toolsiproute2note
ifconfigip linkListing interfaces
ifconfig -aip addrShow addresses
routeip routeRouting tables
arpip neighNeighbors
iptunnelip tunnelTunnels
nameif, ifrenameip link set nameRename network interfaces
ipmaddrip maddrMulticast
netstatssShow various networking statistics
brctlbridgeHandle bridge addresses and devices

# 基本对照

# 列出 active 网卡接口信息

  • net-tools
ifconfig
  • iproute2
ip link show up

# 显示网络接口 ip 地址

显示所有接口或指定接口(eg:eth0)的 ip 地址

  • net-tools
ifconfig -a
ifconfig eht0
  • iproute2
ip a
ip addr show dev eth0

# 激活或禁止网络接口

启动或关闭某个接口(eg:eth0)

  • net-tools
ifconfig eth0 up/down
  • iproute2
ip link set up/down eth0

# 分配 ipv4/ipv6 地址

给某个接口(eg:eth0)临时配置 ipv4/ipv6 地址,并加上子掩码

  • net-tools
ifconfig eth0 192.168.1.56 netmask 255.255.255.0
ifconfig eth0 inet6 add 2002:0db5:0:f102::1/64
  • iproute2
ip addr add 192.168.1.56/24 dev eth0
ip -6 addr add 2002:0db5:0:f102::1/64 dev eth0

# 删除 ipv4/ipv6 地址

就 ip 地址的移除而言,除了给接口分配全 0 地址外,net-tools 没有提供任何合适的方法来移除网络接口的 ipv4 地址。

  • net-tools
ifconfig eth0 0
ifconfig eth0 inet6 del 2002:0db5:0:f102::1/64
  • iproute2
ip addr del 192.168.1.56/24 dev eth0
ip -6 addr del 2002:0db5:0:f102::1/64 dev eth0

# 修改 MAC 地址

  • net-tools
ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
  • iproute2
ip link set dev eth0 address 00:AA:BB:CC:DD:EE

# 查看套接字统计信息

  • net-tools
netstat
netstat -l
  • iproute2
ss
ss -l

# 查看 ARP 表

  • net-tools
arp -an
  • iproute2
ip n

# 添加、删除或查看多播地址

对某个接口(eg:eth0)临时操作多播地址及查看

  • net-tools
ipmaddr add 33:44:00:00:00:01 dev eth0
ipmaddr del 33:44:00:00:00:01 dev eth0
ipmaddr show dev eth0
  • iproute2
ip maddr add 33:44:00:00:00:01 dev eth0
ip maddr del 33:44:00:00:00:01 dev eth0
ip maddr list dev eth0

# 查看 ip 路由表

  • net-tools
route -n
  • iproute2
ip route

# 添加或修改默认路由

对某个接口(eg:eth0)添加或修改默认路由

  • net-tools
route add/del default gw 192.168.10.1 eth0
  • iproute2
ip route add/del default via 192.168.10.1 dev eth0

# 添加或删除静态路由

对某个接口(eg:eth0)添加或删除静态路由

  • net-tools
route add -net 172.14.32.0/24 gw 192.168.1.1 dev eth0
route del -net 172.14.32.0/24
  • iproute2
ip route add 172.14.32.0/24 via 192.168.1.1 dev eth0
ip route del 172.14.32.0/24

# 参考

https://dougvitale.wordpress.com/2011/12/21/deprecated-linux-networking-commands-and-their-replacements/

https://www.baturin.org/docs/iproute2/

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

夏沫の浅雨 微信支付

微信支付

夏沫の浅雨 支付宝

支付宝