linux中ifconfig已被废弃,应使用iproute2的ip link、ip addr、ip route三条命令替代:ip link管理链路层(启停、mtu、mac等),ip addr管理ip地址(支持多地址、标签、作用域),ip route管理路由(支持多表、策略路由等)。

Linux 中 ifconfig 已被明确标记为废弃(deprecated),其功能由更强大、统一的 iproute2 工具集替代。现代网络配置应使用 ip link、ip addr 和 ip route 三条核心命令,它们结构清晰、语义明确、支持 IPv4/IPv6 双栈及高级特性(如多播、策略路由、link 层控制等)。
用 ip link 替代 ifconfig 控制接口启停与状态
ip link 管理网络设备的底层链路层属性,对应传统 ifconfig up/down 和 ifconfig -a 的设备列表功能。
-
查看所有接口(含未启用):
ip link show(比ifconfig -a更简洁,不混杂 IP 地址) -
启用/禁用网卡:
ip link set eth0 up或ip link set eth0 down -
修改 MTU 或 MAC 地址:
ip link set eth0 mtu 1400,ip link set eth0 address 00:11:22:33:44:55 -
查看接口统计信息:
ip -s link show eth0(显示收发包、错误、丢包等计数)
用 ip addr 管理 IP 地址与别名(替代 ifconfig add/del)
ip addr 专用于协议地址管理,支持多个地址共存、作用域控制、临时/永久标记,远超 ifconfig 的简单增删逻辑。
-
添加 IPv4 地址:
ip addr add 192.168.1.100/24 dev eth0 -
添加带标签的别名地址(类似 ifconfig eth0:0):
ip addr add 10.0.0.5/24 dev eth0 label eth0:1 -
删除某地址:
ip addr del 192.168.1.100/24 dev eth0 -
清空接口所有 IPv4 地址:
ip addr flush dev eth0 scope global(scope global避免误删 link-local 地址) -
查看地址详情(含 scope、dynamic、preferred_lft):
ip addr show eth0
用 ip route 管理路由表(替代 route 命令)
ip route 是统一的路由操作入口,支持多表、策略路由、源路由、ECMP 等,语法比 route 更直观且可读性更强。
-
查看主路由表:
ip route show(默认查 table main) -
添加默认网关:
ip route add default via 192.168.1.1 dev eth0 -
添加静态路由:
ip route add 10.20.0.0/16 via 192.168.1.254 dev eth0 -
删除路由:
ip route del 10.20.0.0/16 -
添加路由到指定表(如 table 100):
ip route add 172.16.0.0/12 dev eth1 table 100,再配合ip rule使用
实用技巧与注意事项
实际运维中需注意几个关键点,避免踩坑:
-
地址和路由操作默认不持久:重启后丢失,需写入网络配置文件(如 systemd-networkd 的 .network 文件、NetworkManager 的 connection、或发行版特定方式如 Debian 的
/etc/network/interfaces) -
ip addr add 不会自动覆盖已有地址:同一接口可存在多个 /24 地址,而
ifconfig eth0 192.168.1.100会先清空再设,行为不同 -
查看邻居缓存(替代 arp):
ip neigh show,清理条目:ip neigh flush dev eth0 -
快速诊断连通性问题:组合使用
ip addr show(确认地址已配)、ip route get 8.8.8.8(查目标走哪条路由)、ip neigh show(查 ARP 是否成功)










