![本地主機位址 127.0.0.1 和 127.0.1.1 有什麼差別](https://rvso.com/image/1087113/%E6%9C%AC%E5%9C%B0%E4%B8%BB%E6%A9%9F%E4%BD%8D%E5%9D%80%20127.0.0.1%20%E5%92%8C%20127.0.1.1%20%E6%9C%89%E4%BB%80%E9%BA%BC%E5%B7%AE%E5%88%A5.png)
我剛剛學習使用 Ubuntu,當我嘗試配置 DNS 時,我需要處理一些稱為 localhost、環回介面的東西。誰能解釋一下它們之間的差異以及地址 127.0.0.1 和 127.0.1.1 的含義,什麼時候應該使用 127.0.0.1,什麼時候應該使用 127.0.1.1
答案1
當你的機器啟動時,它需要知道一些主機名稱到 IP 位址的映射,然後才能引用 DNS。該映射保存在/etc/hosts
文件中。如果沒有名稱伺服器,系統上的任何網路程式都會查閱此檔案以決定與主機名稱對應的 IP 位址。
環回設備是一種特殊的虛擬網路接口,您的電腦使用它與自身進行通訊。它主要用於診斷和故障排除,以及連接到本地電腦上運行的伺服器。
環回為接口lo
,預設IP位址為127.0.0.1。
127.0.0.1 localhost
Debian 和 Ubuntu 選擇定義 127.0.1.1 來對應您的 host_name 的 IP 位址,以防您沒有網路。
host_name 與 中定義的主機名稱相符/etc/hostname
。
對於具有永久 IP 位址的系統,此處應使用該永久 IP 位址而非 127.0.1.1。
127.0.1.1 host_name
答案2
它實際上並沒有什麼特別的含義(它只是 127.0.0.0/8 區塊中的另一個 IP)。
其用作主機名稱 IP 的原因在第 10.4 節中進行了解釋Debian 參考手冊。
引用:
某些軟體(例如,GNOME)期望系統主機名稱可解析為具有規範完全限定網域名稱的 IP 位址。這確實不合適,因為系統主機名稱和網域名稱是兩個截然不同的東西;但是你現在有了。為了支援該軟體,必須確保可以解析系統主機名稱。大多數情況下,這是透過在 /etc/hosts 中放置一行包含一些 IP 位址和系統主機名稱來完成的。如果您的系統有永久 IP 位址,則使用該位址;否則使用位址 127.0.1.1。
答案3
答案4
127.0.0.1 是環回位址,俗稱localhost
,是本地主機檔案解析為它的名稱。根據作業系統的不同,該檔案位於不同的位置,但在大多數 Linux 發行版中,它位於/etc/hosts
.該位址始終指的是發出請求的計算機,因此 127.0.0.1 可以說不是「真實」位址。每個設備都有自己的localhost
.另一方面,某些軟體使用 127.0.1.1 表示相同的意思,在某種程度上是別名,但事實並非如此。你的機器內部使用的環回位址應該是127.0.0.1,所以不要在你的hosts檔案中弄亂這個位址!