ifconfig 是什么
ifconfig 是 net-tools 包里的传统网卡管理命令,用于查看接口地址、启停接口、临时配置地址和 MTU。它出自 BSD 传统,在 Linux 上已被 iproute2 的 ip 命令取代,新发行版往往默认不再安装。老文档、老脚本和部分最小化系统中仍能见到它,看懂它是必要的,但新环境建议直接用 ip。
基本信息
| 所属 | net-tools(已停止积极维护) |
|---|---|
| 语法 | ifconfig [接口] [地址] [netmask 掩码] [mtu N] [up|down] |
| 替代命令 | ip addr / ip link / ip route(iproute2) |
| 安装状态 | 多数新发行版默认未安装,需显式装 net-tools |
典型使用场景
- 阅读与维护老脚本、老运维手册里的网卡配置
- 在未安装 iproute2 的极简或老系统上临时查地址
- 快速启停单个网卡做连通性排查
- 临时给接口配地址做验证,用完即弃
- 从老系统的输出里确认 MTU 与收发计数
- 对接只认 ifconfig 输出的老监控或自动化工具
常用示例
常用示例
ifconfig -a # 列出所有接口,含已关闭的
ifconfig eth0 # 只看指定接口
ifconfig eth0 up # 启用接口
ifconfig eth0 down # 关闭接口
ifconfig eth0 10.0.0.5 netmask 255.255.255.0 up # 老写法临时配地址
ifconfig eth0 mtu 1400 # 临时改 MTU 验证分片问题
ip addr show eth0 # 推荐替代:信息更完整
ip -s link show eth0 # 看收发计数与错误统计输出逐段读法
| 输出片段 | 含义 | 正常/异常 |
|---|---|---|
| UP / RUNNING | 接口启用且链路就绪 | 只有 UP 没有 RUNNING 说明链路未起 |
| inet addr | IPv4 地址 | 缺失说明未配地址 |
| RX packets / errors | 接收包数与错误数 | errors 持续增长说明链路或驱动异常 |
| MTU | 最大传输单元 | 以太网默认 1500 |
| collisions | 冲突计数 | 半双工或链路异常时会增长 |
ifconfig 对辅助地址与部分新特性的显示不完整:一个接口绑了多个 IP 时它可能看不全。排查多地址绑定、地址是否真的生效,用 ip addr 更可靠。
用 ifconfig 直接改 IP 属于临时配置:不写入任何配置文件,重启后丢失,服务会跟着起不来。生产环境的地址变更应走发行版网络配置或云平台网络配置。
iproute2 与 net-tools 的常见对应关系:ifconfig eth0 up 对应 ip link set eth0 up,ifconfig 看地址对应 ip addr show,ifconfig eth0 10.0.0.5 对应 ip addr add 10.0.0.5/24 dev eth0。
ifconfig 的输出在不同发行版上细节有差异,老系统里可能看不到 IPv6 地址段;核对地址是否配置齐全时,用 ip addr 交叉确认一次更稳妥。