1. 程式人生 > >linux /etc/resolv.conf /etc/hosts配置檔案詳解

linux /etc/resolv.conf /etc/hosts配置檔案詳解

/etc/resolv.conf

該檔案是由域名解析器(resolver,一個根據主機名解析IP地址的庫)使用的配置檔案
該檔案是DNS域名解析的配置檔案,它的格式很簡單,每行以一個關鍵字開頭,後接配置引數。
resolv.conf的關鍵字主要有四個,分別是:
nameserver   #定義DNS伺服器的IP地址
domain         #定義本地域名
search          #定義域名的搜尋列表
sortlist         #對返回的域名進行排序


詳細說明:
nameserver:表明DNS伺服器的IP地址。可以有很多行的nameserver,每一個帶一個IP地址。在查詢時就按nameserver在本檔案中的順序進行,且只有當第一個nameserver沒有反應時才查詢下面的nameserver。
domain:宣告主機的域名。很多程式用到它,如郵件系統;當為沒有域名的主機進行DNS查詢時,也要用到。如果沒有域名,主機名將被使用,刪除所有在第一個點( .)前面的內容。
search:它的多個引數指明域名查詢順序。當要查詢沒有域名的主機,主機將在由search宣告的域中分別查詢。domain和search不能共存;如果同時存在,後面出現的將會被使用。“search domainname.com”表示當提供了一個不包括完全域名的主機名時,在該主機名後新增domainname.com的字尾

sortlist:允許將得到域名結果進行特定的排序。它的引數為網路/掩碼對,允許任意的排列順序。
  
/etc/resolv.conf的一個示例:
domain centoscn.com
search  www.centocn.com www.wgjlb.com
nameserver 202.96.128.86
nameserver 202.96.128.166
最主要是nameserver關鍵字,如果沒指定nameserver就找不到DNS伺服器,其它關鍵字是可選的。Red Hat中沒有提供預設的/etc/resolv.conf檔案,它的內容是根據在安裝時給出的選項動態建立的。


/etc/hosts

Hosts - The static table lookup for host name(主機名查詢靜態表)

hosts檔案是 Linux系統中一個負責IP地址與域名快速解析的檔案,以ASCII格式儲存在“/etc”目錄下,檔名為“hosts”(不同的linux版本,這個配置檔案也可能不同。比如Debian的對應檔案是/etc/hostname)。hosts檔案包含了IP地址和主機名之間的對映,還包括主機名的別名。在沒有域名伺服器的情況下,系統上的所有網路程式都通過查詢該檔案來解析對應於某個主機名的IP地址,否則就需要使用DNS服務程式來解決。通常可以將常用的域名和IP地址對映加入到hosts檔案中,實現快速方便的訪問。

在區域網或是 INTERNET上,每臺主機都有一個IP地址,它區分開每臺主機,並可以根據ip進行通訊。但IP地址不方便記憶,所以又有了域名。在一個區域網中,每臺機器都有一個主機名,用於區分主機,便於相互訪問。

hosts檔案的格式如下
IP地址   主機名/域名
第一部份:網路IP地址;
第二部份:主機名.域名;
第三部份:主機名別名;

示例:192.168.1.100 localhost.localdomain localhost

當然每行也可以是兩部份,即主機IP地址和主機名;比如 192.168.1.100 linmu100

主機名和域名的區別

主機名(hostname)和域名(Domain)的區別:主機名通常在區域網內使用,通過hosts檔案,主機名就被解析到對應ip;域名通常在internet上使用,但如果本機不想使用internet上的域名解析,這時就可以更改hosts檔案,加入自己的域名解析。

主機名修改工具hostname
其實主機名的修改也有專用工具,就是hostname
hostname - show or set the system’s host name
顯示主機名
# hostname
不加引數是用來顯示當前主機的主機名;
臨時設定主機名
# hostname test100
通過hostname 工具來設定主機名只是臨時的,下次重啟系統時,此主機名將不會存在;
顯示主機IP
# hostname -i
192.168.1.100

轉自:http://www.centoscn.com/CentOS/config/2013/0723/443.html