使用 ifconfig
诊断网络问题时,可以按照以下步骤进行系统化排查。ifconfig
(部分现代系统已改用 ip addr
)能提供网卡配置、状态和基础流量信息,适合快速定位常见网络问题。
ifconfig -a
eth0
、ens33
),可能是驱动未加载或硬件故障。UP
标志:网卡需处于 UP
状态(如 inet addr:
存在)。若为 DOWN
,需手动启用:
bash
sudo ifconfig eth0 up
inet 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
进行更深层分析。