如何排查Linux网络故障 常见问题诊断流程解析

首页 编程分享 LINUX丨SYSTEM 正文

P粉602998670 转载 编程分享 2025-07-30 22:12:44

简介 排查Linux网络故障应按步骤进行:一、检查本地网络接口状态,使用iplink或ifconfig确认网卡是否up,用ipaddr查看IP配置是否正确,并查看日志获取报错信息,必要时重启网卡或重新获取IP;二、测试基本连通性,先ping网关确认局域网状态,再ping外部地址测试外网连接,通过iprouteshow检查路由表是否正确;三、检查DNS和端口连接,修改/etc/resolv.conf测试DNS解析,使用nslookup验证域名解析,用telnet或nc测试目标端口是否开放;四、查看系统防


排查linux网络故障应按步骤进行:一、检查本地网络接口状态,使用ip link或ifconfig确认网卡是否up,用ip addr查看ip配置是否正确,并查看日志获取报错信息,必要时重启网卡或重新获取ip;二、测试基本连通性,先ping网关确认局域网状态,再ping外部地址测试外网连接,通过ip route show检查路由表是否正确;三、检查dns和端口连接,修改/etc/resolv.conf测试dns解析,使用nslookup验证域名解析,用telnet或nc测试目标端口是否开放;四、查看系统防火墙和selinux设置,使用systemctl status firewalld或ufw status检查防火墙状态,按需开放端口,临时禁用selinux以排除策略限制问题。

网络出问题的时候,第一反应不该是重启服务器,而是按照流程一步步排查。Linux系统下排查网络故障其实有一套相对固定的思路,从基础连通性到服务配置逐层深入,多数常见问题都能定位清楚。

一、检查本地网络接口状态

先确认网卡有没有正常启动。用 ip link 或者老一点的 ifconfig 看看网卡是不是 up 的状态。如果看到类似 DOWN 或者没有分配 IP 地址,那可能就是网卡没起来。

接着可以用 ip addr 查看IP地址是否正确,特别是如果你是手动配置的IP,容易写错子网掩码或者网关。
另外,可以看看 /var/log/messages 或者 journalctl -u networking(取决于发行版)是否有报错信息。

常见的处理方法:

  • 重启网卡:ip link set eth0 down/up
  • 重新获取IP(如果是DHCP):dhclient eth0
  • 检查网卡配置文件(如 /etc/network/interfaces 或 /etc/sysconfig/network-scripts/ifcfg-eth0)

有时候只是配置写错了,改完重启一下就通了。

二、测试基本连通性

确定本机网卡没问题后,下一步是测试网络是否通。最简单的办法是 ping 自己的网关:

ping <网关IP>

如果能通,说明局域网没问题;不通的话可能是交换机、防火墙或路由的问题。

再试着 ping 外部地址,比如:

ping 8.8.8.8

如果 ping 不通外网但能 ping 通网关,那可能是 DNS 配置不对或者默认路由设置有问题。这时候可以看一下路由表:

ip route show

确保默认路由指向正确的网关。如果有多个网卡或者多条路由,可能会出现优先级错误的情况。

三、检查DNS和端口连接

即使网络通了,也不代表服务就能访问。这时候要检查DNS解析是否正常。可以临时修改 /etc/resolv.conf 加一个公共DNS,比如:

nameserver 8.8.8.8

然后试试能不能解析域名:

nslookup example.com

如果还是不行,有可能是防火墙拦住了53端口,或者DNS服务器本身挂了。

另一个常见问题是目标端口不通。比如你访问不了网页,但 ping 是通的,那可能是 80/443 被屏蔽了。可以用 telnet 或 nc 测试端口:

telnet example.com 80

如果连接不上,可能是目标服务器没开对应服务,也可能是中间有防火墙拦截。

四、查看系统防火墙和SELinux设置

很多网络问题其实是被系统自带的防火墙挡住了。CentOS/RHEL 上可以用:

systemctl status firewalld

Ubuntu则是:

ufw status

如果防火墙开着,记得检查允许的端口。例如开放80端口:

firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload

另外,SELinux有时也会限制某些服务的网络访问。可以临时禁用看看:

setenforce 0

如果问题解决了,那就是SELinux策略的问题,需要调整相关策略或放行对应服务。


基本上就这些步骤,按顺序来一般能找到问题所在。网络排查不复杂,但容易忽略细节,比如拼写错误、防火墙规则、路由优先级这些小地方。遇到问题别急着重启,先查查日志和配置,效率更高。

以上就是如何排查Linux网络故障 常见问题诊断流程解析的详细内容,更多请关注php中文网其它相关文章!

转载链接:https://www.php.cn/faq/1432076.html


Tags:


本篇评论 —— 揽流光,涤眉霜,清露烈酒一口话苍茫。


    声明:参照站内规则,不文明言论将会删除,谢谢合作。


      最新评论




ABOUT ME

Blogger:袅袅牧童 | Arkin

Ido:PHP攻城狮

WeChat:nnmutong

Email:nnmutong@icloud.com

标签云