主機名稱 -i 和 /etc/hosts 之間的區別

主機名稱 -i 和 /etc/hosts 之間的區別

長話短說,我和我的同事在嘗試讓 jconsole 透過遠端連線連接到我們的開發盒時經歷了一段痛苦的時光(即使對我來說,開發盒位於我的網路上)

基本上我們發現以下指南說明

因此,以調試模式啟動 jconsole(jconsole -debug 從終端)。如果您看到本機(從伺服器角度)IP(例如127.0.1.1),則必須進入伺服器,輸入hostname -i 並查看伺服器如何解析主機名稱(例如127.0.1.1)。然後,您必須變更 etc/hosts 檔案中將伺服器主機名稱轉換為本機 IP (127.0.1.1) 的行。您可以刪除該行並使用 DNS 或插入伺服器 IP。

當我們檢查 in 的值/etc/hosts與 for 的值不同時hostname -i- 這是正確的/etc/hostshostname -i

謝謝

答案1

他們告訴您使用主機的實際 IP 位址,而不是指派給主機名稱 (127.0.1.1) 或 localhost(127.0.0.1) 的環回位址。如果您的盒子 IP 是 192.168.5.5,您可以將其放入主機檔案中。如果您的網路動態分配 IP 位址,請使用該盒子的 DNS 名稱,這樣即使 IP 分配發生變化,它也會自動解析。

因此,假設您的盒子名為“BOX1”,其 IP 為 192.168.5.5,您的主機檔案中會有一行,如下所示:

192.168.5.5     BOX1

或者您可以忽略所有這些,只需刪除 BOX1 到 127.0.0.1 的線路映射,但這可能會幹擾其他應用程式。

相關內容