9.5. 网络问题

系统的许多问题可能都与网络相关,即使初看起来不是这样。例如,系统不允许用户登录的原因可能是某种网络问题造成的。本节将引入一个简单的核对表,您可以使用它来确定任何所遇到的网络问题的原因。

在检查机器的网络连接时,请执行如下操作:

  1. 如果使用的是以太网连接,请首先检查硬件。请确保网线已正确地插入计算机。以太网连接器旁边的控制灯(如果有的话)应全部亮起。

    如果连接失败,请检查网线在别的机器上是否正常。如果正常,则可能是网卡引起了该问题。如果网络设置中包含集线器和交换机,也需要对它们进行检查。

  2. 如果使用的是无线连接,请检查是否可与其他机器建立此无线链接。如果无法建立,请与无线网络管理员联系。

  3. 一旦完成了对基本网络连通性的检查,请尝试找出没有响应的服务。

    收集设置中所需的所有网络服务器的地址信息。在相应的 YaST 模块中查找这些信息,或者询问您的系统管理员。以下列表给出了设置中涉及的一些典型网络服务器问题以及服务中断的症状。

    DNS(名称服务)

    名称服务中断或发生故障会在许多方面影响网络运行。如果本地机器依赖于任何网络服务器进行鉴定,但由于名称解析问题而无法找到这些服务器,则用户甚至可能无法登录。网络中由中断的名称服务管理的机器将无法“看到”彼此且不能通信。

    NTP(时间服务)

    NTP 服务发生故障或完全中断可能会影响 Kerberos 鉴定和 X 服务器功能。

    NFS(文件服务)

    如果任何应用程序所需的数据存储在 NFS 安装目录中,则一旦此服务停止或配置错误,应用程序将无法启动或正常运行。最坏的情况是,如果由于 NFS 服务器宕机而无法找到包含 .gconf.kde 子目录的主目录,则该主目录所属的用户的个人桌面配置将无法启动。

    Samba(文件服务)

    如果任何应用程序所需的数据存储在 Samba 服务器上的某个目录中,则一旦此服务停止,则应用程序将无法启动或正常运行。

    NIS(用户管理)

    如果您的 SUSE Linux 系统依赖于 NIS 服务器提供用户数据,则一旦 NIS 服务停止,用户将无法登录到该机器。

    LDAP(用户管理)

    如果您的 SUSE Linux 系统依赖于 LDAP 服务器提供用户数据,则一旦 LDAP 服务停止,用户将无法登录到该机器。

    Kerberos(鉴定)

    如果此服务停止,则鉴定将不起作用,且用户无法登录到任何机器。

    CUPS(网络打印)

    如果此服务停止,用户将无法进行打印。

  4. 请检查网络服务器是否正在运行并且您的网络设置是否允许您建立连接:

    [Important]重要

    下面介绍的调试步骤只适用于简单的网络服务器/客户机设置,不涉及任何内部路由。我们假设服务器和客户机都是同一子网的成员,不需要额外的路由。

    1. 可使用 ping hostname(将 hostname 替换为服务器的主机名)来检查各台服务器是否正在运行且能够对网络作出响应。如果此命令成功,表示您所查找的主机在正常运行,并且网络的名称服务配置正确。

      如果 ping 命令失败,同时显示讯息目标主机不可访问,则表明您的系统或期望的服务器未正确配置或已宕机。可从其他机器运行 ping your_hostname 命令来检查您的系统是否可被访问。如果能够从其他机器成功访问您的机器,则故障原因是服务器未在运行或未正确配置。

      如果 ping 命令失败,同时显示未知主机,则表示名称服务未正确配置或使用的主机名不正确。请使用 ping -nipaddress 尝试连接到这一没有名称服务的主机。如果成功,则请检查主机名的拼写是否正确以及网络中的名称服务是否配置正确。要对该问题进行进一步的检查,请参阅步骤 4.b。如果 ping 命令仍然失败,则可能网卡未正确配置或网络硬件存在故障。有关此问题的信息,请参阅步骤 4.c

    2. 请使用 host hostname 来检查您尝试连接的服务器的主机名是否能够正确地转换为 IP 地址,反之亦然。如果此命令返回了该主机的 IP 地址,则名称服务已在正常运行。如果 host 命令失败,请检查您主机上所有与名称和地址解析相关的网络配置文件:

      /etc/resolv.conf

      此文件用于对当前使用的名称服务器和域进行跟踪。您可手工修改该文件,或者由 YaST 或 DHCP 自动调整。建议采用自动调整。但是,请确保此文件具有以下结构并且所有的网络地址和域名都正确无误:

      search fully_qualified_domain_name
      nameserver ipaddress_of_nameserver

      此文件中可以包含多个名称服务器地址,但是其中必须至少有一个能够对您的主机提供正确的名称解析。如果需要,可使用“YaST DNS 和主机名”模块调整该文件。

      如果网络连接是通过 DHCP 处理的,请在“YaST DNS 和主机名”模块中选择通过 DHCP 更改主机名通过 DHCP 更新名称服务器和搜索列表,以启用 DHCP 来更改主机名和名称服务信息。

      /etc/nsswitch.conf

      此文件告诉 Linux 到何处查找名称服务信息。它应显示为:

       ...
      hosts: files dns
      networks: files dns
      ...

      dns 条目是必需的。它告诉 Linux 要使用外部名称服务器。通常情况下,这些条目是由 YaST 自动建立的,但是从不会影响检查。

      如果主机上的所有相关条目均正确,请让系统管理员检查 DNS 服务器配置,以确定时区信息是否正确。有关 DNS 的详细信息,请参阅第 20 章 域名系统 (↑参考)。如果确信主机和 DNS 服务器的 DNS 配置正确,请检查网络和网络设备的配置。

    3. 如果系统无法与网络服务器建立连接,并且已排除了名称服务出现问题的可能,则请检查网卡的配置。

      请使用 ifconfig network_device 命令(以根用户的身份执行)来检查此设备是否已正确配置。确保 inet address Mask 已正确配置。如果 IP 地址中出现错误或网络掩码中缺少一位,将使您的网络配置无法使用。如有必要,也在服务器上执行该检查。

    4. 如果名称服务和网络硬件已正确配置并正在运行,但是某些外部网络连接仍然长时间超时或完全失败,请使用 traceroute fully_qualified_domain_name 命令(以根用户的身份执行)来跟踪这些请求所经过的网络路由。此命令将列出某一请求从您的机器传递到其目的地所经过的所有网关(中继)。它列出了每个中继的响应时间以及该中继是否可访问。请将 traceroute 和 ping 结合使用以确定故障原因并通知管理员。

一旦确定了网络故障的原因,就可以自行解决(如果问题出在您自己的机器上)或告诉网络系统管理员您所找到的问题,以便其重新配置服务或修复必要的系统。