使用 ifconfig 诊断网络问题时,可以按照以下步骤进行系统化排查。ifconfig(部分现代系统已改用 ip addr)能提供网卡配置、状态和基础流量信息,适合快速定位常见网络问题。
ifconfig -a
eth0、ens33),可能是驱动未加载或硬件故障。UP 标志:网卡需处于 UP 状态(如 inet addr: 存在)。若为 DOWN,需手动启用:
bash
sudo ifconfig eth0 upinet addr 是否有效(非 127.0.0.1 或 169.254.x.x,后者为DHCP失败后的自动分配地址)。Mask 需与网络规划一致。bash
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0观察 RX(接收)和 TX(发送)的统计信息:
- 错误包:errors、dropped、overruns 高表明硬件或驱动问题。
- 解决方案:
- 更换网线或接口。
- 更新网卡驱动:
bash
sudo ethtool -i eth0 # 查看驱动信息
route -n 或 ip route 确认)。/etc/resolv.conf)。iptables -L 或 ufw status)。bash
ping 8.8.8.8 # 测试基础连通性
ping google.com # 测试DNS解析bash
ip addr show # 更现代的IP查看方式
ip link show # 详细网卡状态| 现象 | 可能原因 | 解决命令/步骤 |
|---|---|---|
| 网卡未显示 | 驱动未加载 | sudo modprobe <driver> |
| IP为169.254.x.x | DHCP失败 | sudo dhclient eth0 |
大量RX errors |
网线/交换机故障 | 更换硬件或接口 |
| 能ping通IP但无域名 | DNS配置错误 | 编辑 /etc/resolv.conf |
ifconfig 已逐步被 ip 命令取代(如CentOS 8+、Ubuntu 18.04+默认未安装)。建议学习新工具:
bash
ip addr show # 替代 ifconfig
ip route show # 替代 route -n/etc/network/interfaces 或 nmcli)。通过以上步骤,可快速定位大部分网络层问题。若问题依旧,需结合 tcpdump、netstat 或 ss 进行更深层分析。