日常工作中我们有时会遇到服务器网络不通问题,导致服务器无法正常运行。要想解决服务器网络故障问题,通常要先进行网络故障排查,这里以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
审核编辑黄宇
-
Linux
+关注
关注
87文章
11303浏览量
209444 -
服务器
+关注
关注
12文章
9149浏览量
85401 -
网络故障
+关注
关注
0文章
28浏览量
8486
发布评论请先 登录
相关推荐
评论