標籤:主機 form 檔案 配置資訊 icm 並且 返回 intern mat
Linux 能PING IP 但不能PING 主機網域名稱的解決方案 轉載 2013年12月25日 10:24:27 13749.vi /etc/nsswitch.confhosts: files dnsnetworks: files改成:hosts: files dns winsnetworks: files如果不一樣的話,就在hosts:原來那行後面加個wins 就行了。--------------------------------------------------------------------------------------------------------------------------------------------------------------最近碰到了這麼一個問題: ping一個網域名稱domain_name的時候提示”ping: unknown host domain_name“,但是ping網域名稱對應的IP地址 (使用host或nslookup擷取) 卻沒有問題。libc && glibc 標準C庫 (the standard C library) 實現了ISO C標準,包含了一套所有C程式都可以使用的函數。libc通常被用作the standard C library的簡寫。 libc也被用作一個標準C庫的實現的名字。在19世紀90年代早期,Linux核心的開發人員把glibc 1.x獨立了出來 (forked glibc),並把它稱為”Linux libc”,也簡稱為libc。Linux libc主要發布了2, 3, 4, 5四個版本。 1997年,FSF發布了glibc 2.0,它對POSIX標準有更好的支援,並且代碼的可移植性更好。因此,現在所有主要的Linux發行版都是使用glibc。 Linux libc的最後的so-name是libc.so.5。因此後來的glibc 2.x使用的so-name是libc.so.6。網路資訊服務(Network Information Service, NIS) NIS也曾被稱YP (Yellow Pages),它是一個基於RPC (Remote Procedure Call Protocol) 的客戶機/伺服器系統,允許一個NIS域中的一組機器共用一系列設定檔。在NIS環境中,有主伺服器、從伺服器和客戶機三種類型的主機。伺服器的作用是充當主機配置資訊的中央資料庫。主伺服器上儲存著這些資訊的權威副本,而從伺服器則是儲存這些資訊的冗餘副本。客戶機依賴於伺服器向它們提供這些資訊。DNS Resolver 一個網域名稱 (Domain Name) 由一個或多個標籤 (label) 組成,標籤之間用點隔開。最右端的標籤代表頂級域 (top-level domain,TLD)。DNS (Domain Name System, 網域名稱解析系統) 是互連網的一項核心服務,它是一個分布式層次化的系統,能夠將網域名稱和IP地址相互映射。DNS通過允許一個網域名稱伺服器把它的一部分網域名稱解析服務委託給子伺服器而實現了一種層次化的網域名稱空間。DNS由解析器 (Resolver) 和網域名稱伺服器兩部分組成。 DNS系統的用戶端被稱為DNS解析器 (DNS Resolver)。在Linux系統上,解析器並不是特指某個應用程式,而是指解析器庫。這個庫包含了標準C庫中的一系列函數,最主要的兩個函數是gethostbyname()和gethostbyaddr()。可以對DNS解析器進行配置,使得它們尋找/etc/hosts中的資訊、查詢DNS伺服器或者使用網路資訊服務系統的配置資訊。libc使用/etc/host.conf設定檔;glibc使用/etc/nsswitch.conf設定檔。 /etc/host.conf中主要的選項有:(1) order指定網域名稱解析的尋找順序,其中hosts表示/etc/hosts設定檔;bind表示查詢DNS伺服器;nis表示查詢NIS系統的配置資訊。(2) multi [on|off]指定/etc/hosts中的主機是否可以有多個IP地址。 /etc/nsswitch.conf是名字服務開關 (name service switch) 的設定檔,其中對應DNS解析器的資料庫名字是hosts:。它的主要選項有:(1) dns表示使用DNS解析地址 (2) files表示使用/etc/hosts和/etc/network設定檔 (3) nis或nisplus。 DNS伺服器在/etc/resolv.conf中配置。ping ping命令用來測試網路上的一台主機是否能夠連通。ping命令向目標主機發送ICMP (Internet Control Message Protocol) 回聲請求訊息然後等待目標主機的回應,與此同時計算訊息從源主機到目標主機的往返時間 (round-trip time,RTT)。問題解決 首先,能夠ping網域名稱對應的IP,顯然不可能是伺服器禁止了ping服務 (使用防火牆等)。host和nslookup能夠返回網域名稱對應的IP地址,那麼/etc/resolv.conf中的DNS設定也是沒有問題的。 事實上,使用ping命令處理一個網域名稱的時候,是使用gethostbyname()函數返回對應的主機資訊 (參加原始碼); 而host和nslookup則是直接使用/etc/resolv.conf中的DNS伺服器。因此,需要查看/etc/nsswitch.conf中的hosts:資料庫是否開啟了dns選項。
Linux 能PING IP 但不能PING 主機網域名稱的解決方案 vim /etc/nsswitch.conf hosts: files dns wins