CentOS双网卡机器172.*子网突然无法访问求助
排查CentOS 172.*子网网卡故障的实用步骤
你的CentOS机器突然丢失172.*子网的连通性,咱们一步步来定位问题:
1. 先确认物理链路是否正常
先看ip link输出里的eno33557248条目,重点关注状态字段:
- 如果显示
UP但没有LOWER_UP,基本是物理层问题——先检查网线是否插紧,交换机对应端口是否被禁用,换个端口或网线试试最直接。
2. 核对IP配置是否正确
把ifconfig的输出和/etc/sysconfig/network-scripts/ifcfg-eno33557248文件内容做对比:
- 确认IP地址、子网掩码完全属于172.*网段,避免掩码写错导致网段偏移的低级错误
- 如果172.*子网需要网关才能访问外部资源,检查文件里的
GATEWAY配置是否正确,同时留意有没有多个网关导致路由冲突的情况
3. 检查路由表是否缺失关键条目
从ip route输出里找172.*相关的路由:
- 正常情况下,网卡配置好IP后应该自动生成一条直连路由,格式类似
172.x.x.x/xx dev eno33557248 proto kernel scope link src 172.x.x.x - 如果找不到这条路由,手动添加试试(根据实际子网调整掩码):
加完立刻ping同网段的其他机器,看连通性是否恢复ip route add 172.0.0.0/8 dev eno33557248
4. 排除防火墙和SELinux的干扰
CentOS自带的防火墙或SELinux经常会“误拦截”流量:
- 临时关闭firewalld测试:
systemctl stop firewalld - 检查SELinux状态,临时改为宽容模式:
如果关闭后连通性恢复,就需要针对性调整防火墙规则,允许172.*网段的流量通过getenforce setenforce 0
5. 查看系统日志找报错线索
系统日志里大概率会留下故障痕迹:
- 查网卡相关的内核日志:
dmesg | grep eno33557248 - 查network服务的运行日志:
如果看到驱动加载失败、链路频繁断开的报错,试试重新加载网卡驱动(先查对应驱动名称,比如常见的journalctl -u networke1000e):
之后再重启网卡modprobe -r e1000e modprobe e1000e
6. 分层测试链路连通性
- 先ping同网段的其他机器IP,如果不通,问题就在本地网卡或同网段链路;如果能通,再ping172.*子网的网关,看网关是否可达
- 如果网关能通但访问不了跨网段的172.*资源,那可能是网关的路由配置有问题,需要联系网络管理员排查
另外,你已经试过ifconfig down/up,如果没用,可以试试重启network服务:
# CentOS 7及以前版本 systemctl restart network # 如果用NetworkManager管理网卡 nmcli connection reload && nmcli connection up eno33557248
内容的提问来源于stack exchange,提问作者Ya.
相关产品推荐
相关产品推荐

