/etc/hosts檔案簡介

Yanfei90發表於2012-09-05

1、檔案作用

hosts檔案是"主機名靜態查詢檔案"(The static table lookup for host name),主要完成主機名與IP地址、主機別名與IP地址的對映關係,在區域網沒有DNS伺服器的時候能夠使主機識別其他的機器。不同的Unix/Linux版本該檔案也有不同的命令,在Redhat/CentOS/Fedora中該檔案是/etc/hosts,而在Debian/Ubuntu系列中是 /etc/hostname,其語法與功能大致相同,一下統一稱為hosts檔案。

2、檔案配置方法

hosts檔案的語法非常的簡單,以行為單位,每一行作為一個IP與主機名、主機別名的對映,格式如下:

IP-Address    Hostname    [Aliases Hostname]  # Comments
#之後的部分為本行的註釋,系統將忽略。IP-Address與Hostname,以及Hostname與Aliases Hostname之間可以分割任意個空格 / 製表符。Hostname與Aliases Hostname必須有字母、數字以及'-'和'.'構成,而且必須以字母開始,以字母或者數字結尾。

例如:

127.0.0.1       localhost
10.15.62.70     CentOS-70           cluster1
10.15.62.71     CentOS-71    
在區域網內,我們即可通過IP地址來訪問該機器,也可以通過Hostname來進行訪問。

3、主要解決的問題

1)區域網內不同主機直接相互識別的問題。在區域網中,特別是要進行相應的叢集時,非常有必要將各個機器的IP與Hostname放在每一臺機器上,這樣會非常有利於叢集的搭建;

2)在我們使用遠端登入時,有些機器常常會會費很長的時間才能夠成果連線,這也有可能是這個檔案的原因。如果能夠在被連線機器的hosts檔案中預先的設定連線機器的IP和Hostname等資訊,這樣將會大大的提高連線的效率;

3)網路介面卡(NIC、網路卡)常常使用hosts檔案作為NIC的資料來源檔案,儘管現在很多的NIC都是使用的DNS,但是在沒有DNS伺服器的情況下,配置hosts檔案非常有必要。

4、hostname命令

hostname命令能夠檢視或者修改相應IP-Hostname的對映資訊,而且搭配上不同的引數,還能夠成為作為其他命令使用。hostname的用法如下:

hostname [-v] {hostname|-F file}            set hostname (from file)
domainname [-v] {nisdomain|-F file}         set NIS domainname (from file)
hostname [-v] [-d|-f|-s|-a|-i|-y|-A|-I]     display formatted name
hostname [-v]                               display hostname
hostname -V|--version|-h|--help             print info and exit
其中,應注意的是:

dnsdomainname       = hostname -d
[yp|nis]domainname  = hostname -y
hostname命令的全部引數如下:

    -s, --short              short host name
    -a, --alias              alias names
    -i, --ip-address         addresses for the hostname
    -I, --all-ip-addresses   all addresses for the host
    -f, --fqdn, --long       long host name (FQDN)
    -A, --all-fqdns          all long host names (FQDNs)
    -d, --domain             DNS domain name
    -y, --yp, --nis          NIS/YP domainname
    -F, --file               read hostname or NIS domainname from given file

5、其他

實踐操作中,往往會遇到主機在區域網內找不到,或者是主機不可達的一些問題,而這些問題常常是由於兩個方面造成的:第一個也就是這篇文章提到的hosts檔案,而第二個這是防火牆,在遇到網路問題是應該先排除這兩個問題。


===============================================

參考:http://linux.die.net/man/5/hosts

            http://book.51cto.com/art/200801/64745.htm


相關文章