CentOS7系统持续显示"正在连接"的故障分析与处理
典型故障现象
在CentOS7系统中,用户常遇到网络状态持续显示"正在连接"的情况,表现为:
- 系统托盘网络图标显示旋转动画
- 终端执行
nmcli device status
显示connecting状态 - 网络服务无法正常获取IP地址
诊断流程与解决方案
1. 验证基础服务状态
执行以下命令检查关键服务:
systemctl status NetworkManager
systemctl status network
若服务未激活,使用systemctl restart NetworkManager
重启服务并设置开机启动:
systemctl enable --now NetworkManager
2. 检查网络接口配置
查看网卡配置文件:
cat /etc/sysconfig/network-scripts/ifcfg-ens192
确保包含以下关键参数:
BOOTPROTO=dhcp
ONBOOT=yes
DEVICE=ens192
3. 测试物理层连接
通过ethtool
工具检测:
ethtool ens192 | grep -E 'Link detected|Speed'
正常输出应显示:
Link detected: yes
Speed: 1000Mb/s
4. 排查防火墙干扰
临时关闭防火墙进行测试:
systemctl stop firewalld
systemctl stop iptables
永久禁用需执行:
systemctl disable firewalld
systemctl mask iptables
5. DNS解析验证
检查/etc/resolv.conf
配置:
nameserver 8.8.8.8
nameserver 114.114.114.114
执行解析测试:
nslookup www.example.com
dig google.com
高级排查手段
通过tcpdump
抓包分析:
tcpdump -i ens192 -nn port 67 or port 68
检查DHCP交互过程,观察是否正常完成DORA流程(Discover, Offer, Request, Acknowledge)。
系统日志分析
查看实时日志:
journalctl -f -u NetworkManager
检索历史记录:
grep 'dhcp' /var/log/messages