如何区分Linux中ifconfig与ip命令,快速精通网络配置技巧?
- 内容介绍
- 文章标签
- 相关推荐
你是否曾因为网络配置命令繁杂而头疼?按理说,在 Linux 程序里ifconfig 与 ip 这两条命令经常让新手感到困惑。下面用清晰的结构帮你快速了解两者区别,消除你在日常管理中的痛点。
说到痛点一,旧工具不再维护。安全性与兼容性受限
许多发行版已将 net-tools标记为废弃;若程序默认未安装,直接使用会报错。相比之下iproute2 是活跃维护的项目,能支持最新网络特性。如果你在公司环境中担心安全漏洞和长期维护成本,这一点尤为关键。
说到痛点二,语法混乱,脚本化困难
ifconfig 的选项多且分散。例如:
ifconfig eth0 up ifconfig eth0 192.168.1.10 netmask 255.255.255.0而
ip 则采用统一的子命令结构,更易于写脚本和自动化。从示例来看,
ip addr add 192.168.1.10/24 dev eth0 ip link set eth0 up
1️⃣ ifconfig:老牌但易用的接口查询工具
- 用途: 查看或临时修改网卡状态、IP 地址、广播地址等。
- 简单直观,很多入门教程仍以它为主线。不过,
- 不支持路由表、桥接、流量控制等高级功能;对新特性支持不足,
-
ifconfig eth0 # 查看信息 ifconfig eth0 up # 启动网卡 ifconfig eth0 down # 禁用网卡 ifconfig eth0 192.168.1.10 netmask 255.255.255.0 # 设置 IP
2️⃣ ip:现代化、一站式网络管理工具
- 覆盖从接口配置到路由表、桥接、隧道及 QoS 的全链路管理。
-
功能全面、语法统一,可通过
-brief/-s输出简洁信息;兼容最新硬件与技术, - 初学者需要适应子命令结构; 部分旧脚本需
-
ip addr show # 查看所有接口 IP ip link set eth0 up # 启动网卡 ip link set eth0 down # 禁用网卡 ip addr add 192.168.../24 dev eth0 # 添加 IP ip route add default via 192... # 添加默认路由
3️⃣ 对比
| 功能/参数 | ifconfig | ip |
|---|---|---|
| 接口状态查看/设置 | | |
sudo apt-get install iproute 或 sudo yum install iproute*.
" />
4️⃣ 快速上手教程
① 安装必要包: $ sudo apt-get update && sudo apt-get install -y iproute2 net-tools # Debian/Ubuntu $ sudo yum install -y iproute net-tools # CentOS/RHEL
② 检查当前网络状态: $ ip a # 或 $ ifconfig -a # 显示所有接口信息
③ 配置静态 IP: $ sudo ip addr flush dev eth0 # 清除已有配置 $ sudo ip addr add 10.*.*.*\/24 dev eth0 # 设置新的 IP 地址 $ sudo ip link set dev eth0 up # 启动接口
④ 验证连通性: $ ping -c4 google.com # 确认外部访问正常
💡 小技巧:如果你经常需要切换不同的网络环境。可以把上述步骤写成 shell 脚本,一键执行即可省去重复敲击命令的麻烦。
5️⃣ 常见问题排查小贴士
- ❌ 找不到 {cmd}?按理说,请检查 PATH 是否包含 /sbin 或 /usr/sbin。或者确认相应软件包已安装。
- ❌ “Operation not permitted”?请确保以 root 使用者或通过 sudo 执行相关操作。
- ❌ IP 冲突?先使用 ping -c1 ,再检查 ARP 表。
6️⃣ 小结 & 接下来学习建议
你是否曾因为网络配置命令繁杂而头疼?按理说,在 Linux 程序里ifconfig 与 ip 这两条命令经常让新手感到困惑。下面用清晰的结构帮你快速了解两者区别,消除你在日常管理中的痛点。
说到痛点一,旧工具不再维护。安全性与兼容性受限
许多发行版已将 net-tools标记为废弃;若程序默认未安装,直接使用会报错。相比之下iproute2 是活跃维护的项目,能支持最新网络特性。如果你在公司环境中担心安全漏洞和长期维护成本,这一点尤为关键。
说到痛点二,语法混乱,脚本化困难
ifconfig 的选项多且分散。例如:
ifconfig eth0 up ifconfig eth0 192.168.1.10 netmask 255.255.255.0而
ip 则采用统一的子命令结构,更易于写脚本和自动化。从示例来看,
ip addr add 192.168.1.10/24 dev eth0 ip link set eth0 up
1️⃣ ifconfig:老牌但易用的接口查询工具
- 用途: 查看或临时修改网卡状态、IP 地址、广播地址等。
- 简单直观,很多入门教程仍以它为主线。不过,
- 不支持路由表、桥接、流量控制等高级功能;对新特性支持不足,
-
ifconfig eth0 # 查看信息 ifconfig eth0 up # 启动网卡 ifconfig eth0 down # 禁用网卡 ifconfig eth0 192.168.1.10 netmask 255.255.255.0 # 设置 IP
2️⃣ ip:现代化、一站式网络管理工具
- 覆盖从接口配置到路由表、桥接、隧道及 QoS 的全链路管理。
-
功能全面、语法统一,可通过
-brief/-s输出简洁信息;兼容最新硬件与技术, - 初学者需要适应子命令结构; 部分旧脚本需
-
ip addr show # 查看所有接口 IP ip link set eth0 up # 启动网卡 ip link set eth0 down # 禁用网卡 ip addr add 192.168.../24 dev eth0 # 添加 IP ip route add default via 192... # 添加默认路由
3️⃣ 对比
| 功能/参数 | ifconfig | ip |
|---|---|---|
| 接口状态查看/设置 | | |
sudo apt-get install iproute 或 sudo yum install iproute*.
" />
4️⃣ 快速上手教程
① 安装必要包: $ sudo apt-get update && sudo apt-get install -y iproute2 net-tools # Debian/Ubuntu $ sudo yum install -y iproute net-tools # CentOS/RHEL
② 检查当前网络状态: $ ip a # 或 $ ifconfig -a # 显示所有接口信息
③ 配置静态 IP: $ sudo ip addr flush dev eth0 # 清除已有配置 $ sudo ip addr add 10.*.*.*\/24 dev eth0 # 设置新的 IP 地址 $ sudo ip link set dev eth0 up # 启动接口
④ 验证连通性: $ ping -c4 google.com # 确认外部访问正常
💡 小技巧:如果你经常需要切换不同的网络环境。可以把上述步骤写成 shell 脚本,一键执行即可省去重复敲击命令的麻烦。
5️⃣ 常见问题排查小贴士
- ❌ 找不到 {cmd}?按理说,请检查 PATH 是否包含 /sbin 或 /usr/sbin。或者确认相应软件包已安装。
- ❌ “Operation not permitted”?请确保以 root 使用者或通过 sudo 执行相关操作。
- ❌ IP 冲突?先使用 ping -c1 ,再检查 ARP 表。
6️⃣ 小结 & 接下来学习建议

