Hosts

主機文件:在多行上使用相同的 IP 地址是否不正確?

  • February 14, 2018

有一段時間我一直在像這樣格式化我的主機文件。注意兩行相同的ip:

e.f.g.h foo.mydevsite.com
e.f.g.h foo.myOtherDevSite.com

我最近讀到別名應該合併在一行上:

e.f.g.h foo.mydevsite.com foo.myOtherDevSite.com 

但是,我不喜歡這種方法,因為您不能輕易地註釋掉某些別名或向特定別名添加註釋,如下所示:

 a.b.c.d foo.mydevsite.com          # myDevSite on box 1
# a.b.c.d foo.myOtherSite.com        # myOtherSite on box 1 
 a.b.c.d ubuntuBox                  

 e.f.g.h foo.myOtherSite.com        # myOtherSite testing environment

到目前為止,這一直執行良好;這有問題嗎?

我發現這個執行緒討論了按照這些構想做一些事情。該執行緒非常堅決地認為文件中沒有多行/etc/hosts

摘錄 -回复:/etc/hosts:兩行具有相同的 IP 地址?

不,它不會。解析器在第一個解析處停止。有類似的東西:

   127.0.0.1 localhost.localdomain localhost
   127.0.0.1 somenode.somedom.com somenode

不會做你所說的。但是有:

   127.0.0.1 somenode.somedom.com somenode
   127.0.0.1 localhost.localdomain localhost

會造成各種破壞。包括轉發。

我通常不會做你正在嘗試的事情。如果您需要更多證據,手冊頁甚至說不要這樣做:

摘抄man hosts

本手冊頁描述了 /etc/hosts 文件的格式。此文件是一個簡單的文本文件,它將 IP 地址與主機名相關聯,每個 IP 地址一行。對於每台主機,應有一行包含以下資訊:

         IP_address canonical_hostname [aliases...]

話雖如此,如果您的主機名是 FQDN 並且它們不重疊,那麼您可能可以安全地做您正在做的事情。請記住,如果有任何重疊,例如上麵執行緒中提到的內容,那麼您可能會遇到解決問題。

引用自:https://unix.stackexchange.com/questions/102660