Linux

為什麼我的主機名出現在 /etc/hosts 中的地址為 127.0.1.1 而不是 127.0.0.1?

  • July 1, 2021

這可能是一個有點愚蠢的問題,但我正在查看我新安裝的 Xubuntu 上的 /etc/hosts 並看到了這個:

127.0.0.1 localhost
127.0.1.1 myhostname

在我使用過的大多數’nixes中,第二行被省略了,如果我想將我的主機名添加到主機文件中,我會這樣做:

127.0.0.1 localhost myhostname

這兩個文件在任何實際意義上有區別嗎?

兩者之間沒有太大區別。127/8(例如:127.0.0.0=> 127.255.255.255)都綁定到環回介面。

原因記錄在 Debian 手冊的Ch. 5 網路設置 - 5.1.1。主機名解析

最終,這是一個錯誤解決方法;原始報告是316099

總結連結到的資訊:

  • /etc/hosts在將機器的完全限定域名轉換為其永久 IP 地址時輸入一個條目是(有爭議的)有用的。
  • debian-installer,更具體地說,它的netcfg組件目前(至少到 2013 年 3 月)創建了這個條目。
  • 如果機器不知道有一個永久的 IP 地址,debian-installer 仍然希望它有那種條目。
  • 該地址127.0.1.1使用環回介面,由您自己的機器回答,就像127.0.0.1但是是一個不同的條目,可以在必要時/etc/hosts單獨考慮。127.0.0.1

Thomas Hood 解釋添加此條目如下:

$$ This $$將確保如果 UNIX 主機名解析,那麼它將始終是它自己的規範主機名

但:

從長遠來看,UNIX 主機名根本不應該放在 /etc/hosts 中。

引用自:https://serverfault.com/questions/363095