# 简述
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-tools | iproute2 | note |
---|
ifconfig | ip link | Listing interfaces |
ifconfig -a | ip addr | Show addresses |
route | ip route | Routing tables |
arp | ip neigh | Neighbors |
iptunnel | ip tunnel | Tunnels |
nameif, ifrename | ip link set name | Rename network interfaces |
ipmaddr | ip maddr | Multicast |
netstat | ss | Show various networking statistics |
brctl | bridge | Handle bridge addresses and devices |
# 基本对照
# 列出 active 网卡接口信息
# 显示网络接口 ip 地址
显示所有接口或指定接口(eg:eth0)的 ip 地址
| ip a |
| |
| ip addr show dev eth0 |
# 激活或禁止网络接口
启动或关闭某个接口(eg:eth0)
# 分配 ipv4/ipv6 地址
给某个接口(eg:eth0)临时配置 ipv4/ipv6 地址,并加上子掩码
| ifconfig eth0 192.168.1.56 netmask 255.255.255.0 |
| |
| ifconfig eth0 inet6 add 2002:0db5:0:f102::1/64 |
| 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 地址。
| ifconfig eth0 0 |
| |
| ifconfig eth0 inet6 del 2002:0db5:0:f102::1/64 |
| ip addr del 192.168.1.56/24 dev eth0 |
| |
| ip -6 addr del 2002:0db5:0:f102::1/64 dev eth0 |
# 修改 MAC 地址
| ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE |
| ip link set dev eth0 address 00:AA:BB:CC:DD:EE |
# 查看套接字统计信息
# 查看 ARP 表
# 添加、删除或查看多播地址
对某个接口(eg:eth0)临时操作多播地址及查看
| ipmaddr add 33:44:00:00:00:01 dev eth0 |
| ipmaddr del 33:44:00:00:00:01 dev eth0 |
| |
| ipmaddr show dev eth0 |
| 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 路由表
# 添加或修改默认路由
对某个接口(eg:eth0)添加或修改默认路由
| route add/del default gw 192.168.10.1 eth0 |
| ip route add/del default via 192.168.10.1 dev eth0 |
# 添加或删除静态路由
对某个接口(eg:eth0)添加或删除静态路由
| route add -net 172.14.32.0/24 gw 192.168.1.1 dev eth0 |
| |
| route del -net 172.14.32.0/24 |
| 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/