1. 關(guān)于/etc/host,主機(jī)名和IP配置文件
Hosts - The static table lookup for host name(主機(jī)名查詢靜態(tài)表)
Linux 的/etc/hosts是配置ip地址和其對應(yīng)主機(jī)名的文件,這里可以記錄本機(jī)的或其他主機(jī)的ip及其對應(yīng)主機(jī)名。不同的linux版本,這個(gè)配置文件也可能不同。比如Debian的對應(yīng)文件是/etc/hostname。
2. 配置文件
這個(gè)文件可以配置主機(jī)ip及對應(yīng)的主機(jī)名,對于服務(wù)器類型的linux系統(tǒng)其作用還是不可忽略的。在局域網(wǎng)或是INTERNET上,每臺主機(jī)都有一個(gè)IP地址,它區(qū)分開每臺主機(jī),并可以根據(jù)ip進(jìn)行通訊。但I(xiàn)P地址不方便記憶,所以又有了域名。在一個(gè)局域網(wǎng)中,每臺機(jī)器都有一個(gè)主機(jī)名,用于區(qū)分主機(jī),便于相互訪問。
Linux主機(jī)名的相關(guān)配置文件就是/etc/hosts;這個(gè)文件告訴本主機(jī)哪些域名對應(yīng)那些ip,那些主機(jī)名對應(yīng)哪些ip:
比如文件中有這樣的定義
192.168.1.100 linumu100 test100
假設(shè)192.168.1.100是一臺網(wǎng)站服務(wù)器,在網(wǎng)頁中輸入http://linumu100或http://test100就會打開192.168.1.100的網(wǎng)頁。
通常情況下這個(gè)文件首先記錄了本機(jī)的ip和主機(jī)名:
127.0.0.1 localhost.localdomain localhost
3. 配置文件格式說明
一般/etc/hosts 的內(nèi)容一般有如下類似內(nèi)容:
127.0.0.1 localhost.localdomain localhost
192.168.1.100 linmu100.com linmu100
192.168.1.120 ftpserver ftp120
一般情況下hosts文件的每行為一個(gè)主機(jī),每行由三部份組成,每個(gè)部份由空格隔開。其中#號開頭的行做說明,不被系統(tǒng)解釋。
第一部份:網(wǎng)絡(luò)IP地址;
第二部份:主機(jī)名或域名;
第三部份:主機(jī)名別名;
當(dāng)然每行也可以是兩部份,即主機(jī)IP地址和主機(jī)名;比如 192.168.1.100 linmu100。
這里可以稍微解釋一下主機(jī)名(hostname)和域名(Domain)的區(qū)別:主機(jī)名通常在局域網(wǎng)內(nèi)使用,通過hosts文件,主機(jī)名就被解析到對應(yīng)ip;域名通常在internet上使用,但如果本機(jī)不想使用internet上的域名解析,這時(shí)就可以更改hosts文件,加入自己的域名解析。
4. /hosts文件可以幫助解決哪些問題
4.1 遠(yuǎn)程登錄linux主機(jī)過慢問題
有時(shí)客戶端想遠(yuǎn)程登錄一臺linux主機(jī),但每次登錄輸入密碼后都會等很長一段時(shí)間才會進(jìn)入,這是因?yàn)閘inux主機(jī)在返回信息時(shí)需要解析ip,如果在linux主機(jī)的hosts文件事先加入客戶端的ip地址,這時(shí)再從客戶端遠(yuǎn)程登錄linux就會變很快。
注:這里所說的遠(yuǎn)程登錄不僅僅是ssh,還可能是mysql遠(yuǎn)程登錄,或是文件共享的查詢等。
4.2 雙機(jī)互連
當(dāng)兩臺主機(jī)只是雙機(jī)互連時(shí),這時(shí)兩臺主機(jī)都需要設(shè)置自己的ip,同時(shí)在對方的hosts文件里加入自己的ip和主機(jī)名。
5. 主機(jī)名修改工具h(yuǎn)ostname;
其實(shí)主機(jī)名的修改也有專用工具,就是hostname
hostname - show or set the system’s host name
顯示主機(jī)名:
# hostname
linmu100
此主機(jī)的主機(jī)名是linmu100,不加參數(shù)是用來顯示當(dāng)前主機(jī)的主機(jī)名;
臨時(shí)設(shè)置主機(jī)名:
# hostname test100
# hostname 注:顯示主機(jī)名
test100
通過hostname 工具來設(shè)置主機(jī)名只是臨時(shí)的,下次重啟系統(tǒng)時(shí),此主機(jī)名將不會存在;
顯示主機(jī)IP:
# hostname -i
192.168.1.100