|原因|说明|

|-|-|

|网络抖动或操作系统层面问题|请求到达但未完成会话三次握手,可能是网络抖动或者操作系统层面原因导致无法完成三次握手|

|网卡配置错误|网卡没有正确配置开启,例如基于Debian的Linux的(永久)网络配置文件在/etc/network/interfaces,基于Red Hat的Linux的(永久)网络配置文件在/etc/sysconfig/network_scripts/ifcfg

  • ,如果配置文件中网卡的IP、子网掩码等信息错误,会导致网络不通|
  • |网关设置问题|如果网卡已经正常启动,需要确认目标网络接口是否正确配置网关,同时主机和网关之间的连接没有问题。如果无法ping通网关,可能是网关限制了ICMP数据包,或者交换机设置的问题|

    |DNS故障或配置不当|通常很多网络问题是DNS故障或配置不当造成的。如果nslookup命令无法解析目标域名,则很有可能是DNS配置不当。/etc/resolv.conf文件是临时即刻生效的DNS服务器配置,想要永久配置DNS服务器的地址,可以在/etc/networks/interfaces(基于Debian)中通过 “dns

  • nameservers” 字段来限制|
  • |无法正常路由到远程主机|互联网是通过大量路由器中继连接起来的,网络的访问就是在这些节点间一跳一跳最终到达目的地。如果ping不通目标主机,traceroute命令可以查看从当前主机到目标主机的全部“跳”的过程,“”是因为网络不通或者某个网关限制了ICMP协议包|

    |远程主机端口未开放|telnet命令是检查端口开放情况的利器,或者nmap工具。当防火墙存在时,telnet无法连接包含两种可能:1是端口确实没有开放,2是防火墙过滤了连接|

    |网络硬件问题|如网线没有连接好,或者链路不通等。如果网卡处于down状态,尝试手动启动后,需要再次运行检查命令,如果仍然处于down状态,则说明是网络硬件问题|

    |IP地址配置问题|如果网卡已经处于up状态,但仍无法上网,则需要查看网卡是否配置好ip地址。如果没有或者ip,就需要配置ip。如果是通过dhcp服务自动获取ip的,则可手动运行dhclint获取ip;如果无法获取ip,且网卡处于up状态,则可能是链路问题,无法连接远程DHCP服务器|

    二、排查Linux网络不通的基本步骤

    1. 检查网络连接状态

  • 使用 `ping` 命令检查网络连接是否正常,例如 `ping ` 。
  • 使用 `ifconfig` 或 `ip addr` 命令检查网络接口的状态和配置信息。
  • 2. 检查网线和网卡设置

  • 确保网线连接正常,网卡处于工作状态。可以通过查看网卡指示灯或者使用命令行工具检查网卡状态。
  • 3. 检查IP地址和子网掩码设置

  • 使用 `ifconfig` 或 `ip addr` 命令查看网卡的IP地址和子网掩码设置是否正确。
  • 4. 检查网关和路由设置

  • 使用 `route -n` 命令查看内核路由表,确认网关设置正确。
  • 尝试 `ping` 网关,排查与网关之间的连接。
  • 5. 检查DNS设置

  • 使用 `nslookup` 或 `dig` 命令检查DNS解析是否正常。
  • 检查 `/etc/resolv.conf` 文件中的DNS服务器配置。
  • 6. 检查防火墙设置

  • 检查防火墙规则是否阻止了网络连接。可以暂时关闭防火墙进行测试。
  • 7. 使用网络诊断工具

  • 使用 `traceroute` 命令追踪数据包的路由路径,查看网络延迟和中断点。
  • 使用 `telnet` 或 `nmap` 命令检查远程主机的端口开放情况。
  • 三、使用命令行工具排查Linux网络不通

    Linux网络不通:排查故障的几个关键步骤

    |命令|功能|示例|

    |-|-|-|

    |`ifconfig`|查看当前系统的网卡和IP地址信息|`ifconfig` 或 `ifconfig -s`(显示网卡信息的精简列表)|

    |`ip`|查看和配置网络接口|`ip link ls eth0`(查看eth0网卡状态),`ip addr add 172.16.0.2/24 dev eth0`(添加IP地址到eth0网卡)|

    |`ping`|测试网络连通性|`ping ip地址/域名`,如 `ping ` |

    |`traceroute`|跟踪数据包从本机到目标主机所经过的路由器路径|`traceroute www.` |

    |`netstat`|显示当前系统的网络连接状态、路由表、接口状态等信息|`netstat -tun`(显示所有TCP和UDP连接)|

    |`ss`|显示当前系统所有的套接字信息|`ss -tnl`(显示所有TCP监听端口)|

    |`arp`|显示和修改本地ARP缓存表中的内容|`arp -a`(显示所有ARP缓存表项)|

    |`tcpdump`|捕获网络数据包并将其显示出来|`tcpdump -i eth0 port 80 -n -v -X`(捕获eth0网卡上80端口的数据包)|

    |`nmap`|扫描目标主机上开放了哪些端口|`nmap -sS`(进行TCP SYN扫描)|

    |`iptables`|控制Linux系统上所有流入和流出的数据包|`iptables -L`(列出所有iptables规则)|

    |`dig`|DNS查询工具|`dig ` |

    四、网络配置文件检查方法

    1. 检查网卡配置文件

  • 基于Debian的Linux的(永久)网络配置文件在 `/etc/network/interfaces`。
  • 基于Red Hat的Linux的(永久)网络配置文件在 `/etc/sysconfig/network_scripts/ifcfg
  • `。
  • 检查文件中的IP地址、子网掩码、网关和DNS设置是否正确。
  • 2. 检查DNS配置文件

  • 临时即刻生效的DNS服务器配置文件为 `/etc/resolv.conf`。
  • 可以在 `/etc/networks/interfaces`(基于Debian)中通过 “dns
  • nameservers” 字段来永久配置DNS服务器的地址。
  • 五、硬件连接检查方法

    Linux网络不通:排查故障的几个关键步骤

    1. 检查网线连接

  • 确保网线插头插紧,没有松动或损坏。
  • 可以尝试更换网线或者使用网线测试仪检查网线是否导通。
  • 2. 检查网卡状态

  • 对于台式机,关闭电脑并拔掉电源,打开机箱,检查网络适配器是否安装牢固。如果是PCI或PCIe网卡,确保网卡插槽没有松动。
  • 对于笔记本,可以尝试拔掉充电器和电池,并按住开关按钮大约30秒来进行放电操作。
  • 3. 检查网卡指示灯

  • 一般网络适配器上有两个指示灯,其中一个是连接指示灯,如果该指示灯亮(通常为绿色),则表明网络适配器连接导通工作正常;如果该指示灯不亮,则表明网络适配器连接导通工作不正常。另一个是数据传输指示灯,如果该指示灯亮(通常为绿色),则表明网络适配器的数据传输工作正常;如果该指示灯不亮,则表明网络适配器的数据传输工作不正常。
  • 4. 检查路由器或交换机

    确保路由器或交换机工作正常,网络连接没有问题。可以尝试重启路由器或交换机。