ip命令是现代Linux网络配置的推荐工具,功能全、结构化强;ifconfig属传统工具,简单直观但逐渐被替代,运维中应优先掌握ip命令。

Linux系统中配置网络,ifconfig 和 ip 是两个最常用的命令,但它们定位不同:ifconfig 来自传统的 net-tools 工具包,功能简单直观;ip 命令属于更现代的 iproute2 套件,功能更全、设计更统一,也是当前推荐使用的工具。
查看网络接口信息
快速确认当前网卡状态和IP分配情况:
-
ifconfig:直接运行
ifconfig查看所有启用接口;加-a参数(ifconfig -a)可显示全部接口(含未启用的) -
ip:用
ip addr show或简写ip a,输出更结构化,包含IPv4/IPv6地址、MAC、UP/DOWN状态等完整信息
临时配置IP地址
这类设置重启后失效,适合测试或应急调整:
-
ifconfig:
ifconfig eth0 192.168.1.100 netmask 255.255.255.0—— 为 eth0 设置静态IP和子网掩码 -
ip:
ip addr add 192.168.1.100/24 dev eth0—— 注意 CIDR 表示法(/24 等价于 255.255.255.0),添加前建议先清空旧地址:ip addr flush dev eth0
启用/禁用网卡与设置默认路由
控制接口启停及基础路由规则:
-
ifconfig:
ifconfig eth0 up启用,ifconfig eth0 down关闭;设默认网关需配合route命令:route add default gw 192.168.1.1 -
ip:
ip link set eth0 up/down控制状态;设默认路由:ip route add default via 192.168.1.1,查看路由表用ip route show
永久生效需修改配置文件
临时命令不保存,要持久化必须编辑系统配置:
- Debian/Ubuntu 系统:修改
/etc/network/interfaces,例如添加:auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 - RHEL/CentOS/Fedora 系统:编辑
/etc/sysconfig/network-scripts/ifcfg-eth0,设置BOOTPROTO=static并填写IPADDR、NETMASK、GATEWAY等字段 - 启用新配置:
systemctl restart networking(Debian系)或nmcli connection reload && nmcli connection up eth0(若使用 NetworkManager)
实际运维中建议优先掌握 ip 命令,它逻辑清晰、扩展性强,且已成主流发行版默认工具;ifconfig 可用于快速排查或兼容老旧脚本,但不应作为新配置的首选。注意:多数现代系统已不再默认安装 ifconfig,需手动安装 net-tools 包。









