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 的結果失敗且傳回 destination host unreachable(無法聯繫目的地主機),則您的系統或想找的伺服器可能設定錯誤或故障。請從其他機器執行 ping your_hostname 指令。若從其他機器成功聯繫到您的機器,則表示伺服器完全未運作,或是設定不正確。

      若 ping 失敗且傳回 unknown host(不明主機),則是名稱服務設定錯誤,或使用的主機名稱不正確。請使用 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 找出問題的原因,並告知管理員。

一旦您辨識出網路問題的原因,就可以自己解決(若問題發生在您機器上的話),或將您的發現告訴網路系統管理員,讓他們可以重新設定服務,或修復必要的系統。