1. 關於/etc/host,主機名和IP配置文件
Hosts - The static table lookup for host name(主機名查詢靜態表)
Linux 的/etc/hosts是配置ip地址和其對應主機名的文件,這裡可以記錄本機的或其他主機的ip及其對應主機名。不同的Linux版本,這個配置文件也可能不同。比如Debian的對應文件是/etc/hostname。
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文件的每行為一個主機,每行由三部份組成,每個部份由空格隔開。其中#號開頭的行做說明,不被系統解釋。
第一部份:網絡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