Linux服务器常见的网络故障排查方法

描述

  日常工作中我们有时会遇到服务器网络不通问题,导致服务器无法正常运行。要想解决服务器网络故障问题,通常要先进行网络故障排查,这里以Linux服务器为例来看下常用的网络故障排查方法介绍。

  第1步、访问Linux服务器

  出现网络故障问题时,Linux服务器通常不能通过SSH访问了,这时您需要采用外控制台访问。比如您在专用服务器上,则需要访问IPMI控制台;在美国VPS服务器上,可能要访问VNC控制台进行登录。这两种方法都可以在远程SSH访问不可用情况下,为您提供诊断问题的权限。

  通过以上两种方法正常访问到Linux服务器后,运行以下命令检查下是否可以访问Google的公共DNS服务器。PS:目前大多数国外主机商提供有24小时技术支持服务,当您服务器遇到网络故障无法正常使用时,也可联系主机商及时进行解决。

  ping 8.8.8.8

  如果通过这个Ping命令,服务器无法到达目的地,这表明网络配置上存在问题,下面就要查看网络配置具体是哪里出现了问题。

  第2步、检查网络配置故障

  首先尝试通过ping命令(从本地计算机)ping服务器的主IP和网关,确定下Linux服务器是否有网络连接。

  ping {your server’s main IP}

  如果您可以成功 ping 服务器的网关 IP,这表明网络路由是正确的,现在可以进行下一步的故障排除。

  登录后,您可以通过执行以下命令查看到服务器的网络路由:

  route -n

  这将向您展示网络流量如何到达您的服务器,并将证明流量确实到达了您服务器的网关 IP。

  如果由于某种原因,您发现在本地计算机终端上对主服务器 IP 的 ping 尝试无效,则表明路由主 IP 的特定接口上存在连接问题。

  提示:您需要确保启用网络接口(例如“eth0”)——要执行此操作并检查所有配置的接口,您可以运行以下命令:

  ip addr

  此命令输出服务器上配置和可用的所有网络接口,并为您提供两种相关状态之一:“UP”或“DOWN”

  如果您碰巧发现分配给您进行故障排除的 IP 的接口显示“DOWN”状态,您可以通过发出以下命令将其打开(并使其“UP”):

  if down {interface name} /* brings an interface down */

  if up {interface name} /* brings an interface up */

  例如:if up eth0 /* 启动接口“eth0” */

  如果由于某种原因上述命令无法工作,则很有可能您正在排除故障的接口未处于 if down(和 if up)脚本检测它的状态。在这种情况下,请尝试使用force 标志:

  if down –force {interface name}

  if up {interface name}

  执行此命令时,它将显示错误,指出脚本未按预期(并成功)运行的原因——最可能的原因是配置文件中的语法错误:

  ①对于使用CentOS 和基于 RHEL 的服务器的用户,请通过发出以下命令查看您的配置文件:

  cat /etc/sysconfig/network-scripts/ifcfg-{interface name}

  ②对于使用Ubuntu 和 Debian 服务器的用户,通过发出以下命令查看您的配置文件:

  cat /etc/network/interfaces

  请注意,对于专门在 Ubuntu 18.04 LTS 以上的 Ubuntu 和 Debian 服务器上的客户端,此命令略有不同,如下所示:

  cat /etc/netplan/file.yml

  网络配置文件更改之后,通过运行以下命令来重新启动网络服务。

  Ubuntu和Debian 18.04 LTS之前版本重启网络服务命令:

  service restart networking

  Ubuntu和Debian 18.04 LTS之后版本重启网络服务命令:

  netplan apply

  基于CentOS和RedHat服务器重启网络命令:

  service restart network

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分