Linux 的/etc/hosts是配置ip位址和其對應主機名稱的檔,這裡可以記錄本機的或其他主機的ip及其對應主機名稱。不同的linux版本,這個設定檔也可能不同...
1、關於/etc/host,主機名稱和IP設定檔
Hosts - The static table lookup for host name(主機名稱查詢靜態表)
hosts檔是Linux系統中一個負責IP位址與功能變數名稱快速解析的檔,以ASCII格式保存在“/etc”目錄下,檔案名為“hosts”(不同的linux版本,這個設定檔也可能不同。比如Debian的對應檔是/etc/hostname)。hosts檔包含了IP位址和主機名稱之間的映射,還包括主機名稱的別名。在沒有功能變數名稱伺服器的情況下,系統上的所有網路程式都通過查詢該檔來解析對應於某個主機名稱的IP位址,否則就需要使用DNS服務程式來解決。通常可以將常用的功能變數名稱和IP位址映射加入到hosts檔中,實現快速方便的訪問。
2、設定檔
這個檔可以配置主機ip及對應的主機名稱,對於伺服器類型的linux系統其作用還是不可忽略的。在局域網或是INTERNET上,每台主機都有一個IP位址,它區分開每台主機,並可以根據ip進行通訊。但IP位址不方便記憶,所以又有了功能變數名稱。在一個局域網中,每台機器都有一個主機名稱,用於區分主機,便於相互訪問。
Linux主機名稱的相關設定檔就是/etc/hosts;這個檔告訴本主機哪些功能變數名稱對應那些ip,那些主機名稱對應哪些ip:
比如檔中有這樣的定義
192.168.1.100 linumu100 test100
假設192.168.1.100是一台網站伺服器,在網頁中輸入http://linumu100或http://test100就會打開192.168.1.100的網頁。
通常情況下這個檔首先記錄了本機的ip和主機名稱:
127.0.0.1 localhost.localdomain localhost
3、設定檔格式說明
一般/etc/hosts 的內容一般有如下類似內容:
127.0.0.1 localhost.localdomain localhost
192.168.1.100 linmu100.com linmu100
192.168.1.120 ftpserver ftp120
一般情況下hosts檔的每行為一個主機,每行由三部份組成,每個部份由空格隔開。其中#號開頭的行做說明,不被系統解釋。
hosts檔的格式如下:
IP地址 主機名稱/功能變數名稱
第一部份:網路IP位址;
第二部份:主機名稱或功能變數名稱;
第三部份:主機名稱別名;
當然每行也可以是兩部份,即主機IP位址和主機名稱;比如 192.168.1.100 linmu100。
這裡可以稍微解釋一下主機名稱(hostname)和功能變數名稱(Domain)的區別:主機名稱通常在局域網內使用,通過hosts檔,主機名稱就被解析到對應ip;功能變數名稱通常在internet上使用,但如果本機不想使用internet上的功能變數名稱解析,這時就可以更改hosts檔,加入自己的功能變數名稱解析。
4、 /hosts檔可以幫助解決哪些問題
4.1 遠端登入linux主機過慢問題
有時用戶端想遠端登入一台linux主機,但每次登錄輸入密碼後都會等很長一段時間才會進入,這是因為linux主機在返回資訊時需要解析ip,如果在linux主機的hosts檔事先加入用戶端的ip位址,這時再從用戶端遠端登入linux就會變很快。
注:這裡所說的遠端登入不僅僅是ssh,還可能是mysql遠端登入,或是檔共用的查詢等。
4.2 雙機互連
當兩台主機只是雙機互連時,這時兩台主機都需要設置自己的ip,同時在對方的hosts檔裡加入自己的ip和主機名稱。
5、主機名稱修改工具hostname;
其實主機名稱的修改也有專用工具,就是hostname
hostname - show or set the system’s host name
顯示主機名稱:
# hostname
linmu100
此主機的主機名稱是linmu100,不加參數是用來顯示當前主機的主機名稱;
臨時設置主機名稱:
# hostname test100
# hostname 注:顯示主機名稱
test100
通過hostname 工具來設置主機名稱只是臨時的,下次重啟系統時,此主機名稱將不會存在;
顯示主機IP:
# hostname -i
192.168.1.100
本文自http://os.51cto.com/art/200803/68170.htm轉貼