很多时候服务器上不了网,问题并不复杂,只是排查顺序乱了,越查越懵。下面这套从物理层到应用层的标准网络排错步骤,从网线、网卡、路由、DNS 到 IP 冲突全覆盖,运维排查直接照着执行即可。
1、先确认基础:网线是否能正常联网
排查的第一步,先保证最基础的物理链路可用:
避免在网络本身不通的情况下,盲目排查服务器配置。
2、查看网卡是否被系统识别
先用命令查看网卡状态,判断系统是否识别到网卡:
根据结果分两种情况:
ifup eth0# 或者ip link set eth0 up
3、ping 网关,检查局域网是否通畅
# 先查看本机网关地址:route -n# 查看是否存在 这一行default via 192.168.x.x# 然后 ping 该网关:ping 192.168.x.x # 替换为实际网关
4、ping 公网 IP,检查路由是否正常
如果局域网正常,继续测试外网连通性:
ping 8.8.8.8ping 114.114.114.114
5、ping 域名,验证 DNS 是否正常
最后测试域名解析:
ping 不通域名:DNS 配置错误
ping 通域名:整套网络链路正常
6. 核心配置检查与修复
6.1 网卡配置(静态 IP / DHCP 二选一)
# 编辑网卡配置文件:vi /etc/sysconfig/network-scripts/ifcfg-eth0
典型配置示例:
DEVICE=eth0TYPE=EthernetONBOOT=yes # 开机自启,必开NM_CONTROLLED=no # 关闭 NetworkManager,CentOS 6 更稳定BOOTPROTO=dhcp # 自动获取 IP;静态 IP 改为 static
如果使用静态 IP,额外添加:
IPADDR=192.168.1.100NETMASK=255.255.255.0GATEWAY=192.168.1.1DNS1=114.114.114.114DNS2=8.8.8.8
修改后重启网络服务:
service network restart# 或/etc/init.d/network restart
6.2 修复 DNS 配置
添加通用 DNS:
nameserver 114.114.114.114nameserver 8.8.8.8
6.3 关闭防火墙与 SELinux(排查阶段常用)
很多网络不通,是被安全策略拦截:
临时关闭 iptables
永久关闭 iptables
关闭 firewalld
临时关闭 SELinux
永久关闭 SELinux
vi /etc/selinux/config# 修改为SELINUX=disabled
7. 极易忽略的坑:局域网 IP 地址冲突
这是很多人排查半天都找不到的问题:本机 IP 与局域网其他设备重复。
IP 冲突典型表现:
7.1 推荐方案:直接更换 IP 测试
实测最有效、最快捷的方式,就是直接换一个未被占用的 IP,重新配置后重试,作者遇到的是这个问题。
7.2 辅助检测方法(仅供参考)
方式一:arping 检测 IP 冲突
arping -D -I eth0 -c 2 192.168.1.100
收到 2 个响应 → IP 已被占用,存在冲突
无响应 → IP 可用
方式二:对比 MAC 地址判断冲突
# 先记录本机 MAC 地址ifconfig eth0# ping 自己的 IPping 192.168.1.100# 查看 ARP 表arp -n
显示 MAC 与本机不一致 → IP 冲突
显示 MAC 与本机一致 → 正常