网络问题

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

过程 28.6. 如何识别网络故障

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

  1. 如果使用的是以太网连接,请首先检查硬件。 确保您的网络电缆已正确插入计算机和路由器(或集线器等)。以太网连接器旁边的控制灯通常应全部激活。

    如果连接失败,请检查网线在别的计算机上是否正常。 如果正常,则可能是网卡引起了该问题。 如果您的网络设置中有集线器或交换机,它们也可能有故障。

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

  3. 一旦完成了对基本网络连通性的检查,请尝试找出没有响应的服务。 收集设置中所需的所有网络服务器的地址信息。 在相应的 YaST 模块中查找这些信息,或者询问您的系统管理员。 以下列表给出了设置中涉及的一些典型网络服务器问题以及服务中断的症状。

    DNS(名称服务)

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

    NTP(时间服务)

    NTP 服务发生故障或完全中断可能会影响 Kerberos 身份验证和 X 服务器功能。

    NFS(文件服务)

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

    Samba(文件服务)

    如果任何应用程序需要储存在有故障的 Samba 服务器目录中的数据,它将不能启动或正常运行。

    NIS(用户管理)

    如果您的 SUSE Linux Enterprise Desktop 系统依赖有故障的 NIS 服务器提供用户数据,用户将无法登录此计算机。

    LDAP(用户管理)

    如果您的 SUSE Linux Enterprise Desktop 系统依赖有故障的 LDAP 服务器提供用户数据,用户将无法登录此计算机。

    Kerberos(身份验证)

    身份验证无法进行,登录至任何计算机都会失败。

    CUPS(网络打印)

    用户无法打印。

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

    [Important]

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

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

      如果 ping 命令失败,同时显示消息目标主机不可访问,则表明您的系统或期望的服务器未正确配置或已宕机。 可从其他计算机运行 ping IP 地址您的主机名命令来检查您的系统是否可达。 如果可以从其他计算机访问您的计算机,则服务器不会运行或正确配置。

      如果 ping 命令失败,同时显示未知主机,则表示名称服务未正确配置或使用的主机名不正确。 要对该问题进行进一步的检查,请参见步骤 4.b。 如果 ping 命令仍然失败,则可能网卡未正确配置或网络硬件存在故障。

    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 服务器的 DNS 配置正确,请检查网络和网络设备的配置。

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

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

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

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

NetworkManager 问题

如果网络连接有问题,请按过程 28.6, “如何识别网络故障”中所述缩小范围。如果 NetworkManager 看上去是 culprit,请按如下步骤操作,获得日志,它会提供 NetworkManager 为何失效的线索:

  1. root 用户身份打开 shell 并登录。

  2. 重启动 NetworkManager:

    rcnetwork restart -o nm
  3. 作为普通用户打开 网页(例如 http://www.opensuse.org)看是否能连接。

  4. 收集 /var/log/NetworkManager 中有关 NetworkManager 状态的任何信息。

有关 NetworkManager 的更多信息,请参考第 23 章 使用 NetworkManager