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、hosts 配置文件
這個文件可以配置主機 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 就會打開 http://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 和主機名