实用网络站
白蓝主题五 · 清爽阅读
首页  > 服务器维护

网络部署后无法上网?5步快速排查故障

刚把新服务器装好、网线插牢、IP配完,浏览器一打开——网页打不开,ping 外网也不通。别急,这不是玄学,是典型部署后连不上网的现场。下面这五步,我每天在机房里用得最多,照着做基本能定位问题。

第一步:先看物理层通不通

别笑,真有人跳过这步。拔掉网线再插紧,确认交换机或路由器对应端口灯亮不亮。如果是光纤,看光模块收发光是否正常(绿灯常亮一般表示链路建立)。如果灯都不闪,换根线、换个端口试试——很多“上不了网”其实是网线芯断了或者水晶头压歪了。

第二步:查本机网络配置

登录服务器,执行:

ip addr show

看分配的 IP 是不是你预期的(比如配了 192.168.10.5 却显示 169.254.x.x,说明 DHCP 没拿到地址或静态配置没生效)。再检查默认网关:

ip route show

输出里必须有一行类似 default via 192.168.10.1 dev eth0。没有?补上:

ip route add default via 192.168.10.1

第三步:网关能不能通

网关就是你家网络的“大门”,门打不开,外面再热闹也进不来。直接 ping 网关:

ping -c 4 192.168.10.1

如果全丢包,检查服务器和网关是否在同一子网、网关设备本身是否开机、防火墙有没有拦掉 ICMP(有些路由器默认禁 ping)。顺手 telnet 一下网关的 22 或 80 端口也能辅助判断:

telnet 192.168.10.1 22

第四步:DNS 解析有没有卡住

能 ping 通网关但打不开 www.baidu.com?很可能是 DNS 没配对。查当前 DNS 设置:

cat /etc/resolv.conf

里面至少得有一行 nameserver 8.8.8.8 或国内的 114.114.114.114。测试解析:

nslookup baidu.com

如果超时或返回 NXDOMAIN,就手动改 /etc/resolv.conf,写死一个靠谱的 DNS,记得加 options timeout:1 attempts:2 防卡死。

第五步:查路由表和防火墙

有些环境开了 iptables/nftables,一部署完规则就自动加载,把出方向全 DROP 了。临时关掉试试:

systemctl stop firewalld  # CentOS/RHEL
ufw disable # Ubuntu/Debian

如果关了就能上网,那就回头检查防火墙策略,重点看 OUTPUT 和 FORWARD 链。另外,多网卡服务器容易配错源路由,用 ip rule showip route show table all 看有没有异常路由表干扰。

以上五步走完还不通?翻翻交换机 ACL、检查上游 ISP 是否做了 MAC 绑定、看看服务器 BIOS 里网卡是不是被禁用了——真实排障,往往就卡在这些不起眼的地方。