hosts 文件是一個非常有用的小文本文件,用於存儲主機名和相關的 IP 地址。這基本上是主機名到 IP 地址的映射。

所有網絡協議都使用此映射將主機名轉換為數字 IP 地址。映射是因為網絡層不適用於主機名。

所有網絡協議都只使用真實的 IP 地址。但是,我們人類使用字母和名稱更容易,因此使用主機名而不是 IP 地址來記住特定端點會很有幫助。

眾所周知,在互聯網上, 域名系統 (域名系統) 將 URL 解析為 IP 地址解析。

如果您連接到 LAN(局域網),沒有可查詢的 DNS 服務器,因此將 IP 地址直接映射到主機名更有意義。因此,DNS 服務器始終 數字 可用時,應用程序直接引用此文件。

主機文件功能

啟用主機文件 IP 地址的唯一分配 給主人。這將找到兩個主機,即使它們具有相同的名稱。這在從一個網絡移動到另一個網絡時尤其常見。

在 Ubuntu 系統上,主機文件位於此處: /etc/hosts.

您可以使用您喜歡的編輯器打開此文件。我會用 vi 編輯。

[email protected]:~# vi /etc/hosts

該文件看起來有點類似於下面的屏幕截圖

等主機文件

默認情況下,僅列出幾個條目。第一行對應機器的本地地址。

這通常被稱為 本地主機 歸一化為 127.0.0.1所以任何機器都可以使用它來訪問它自己本地地址的應用程序服務器,但沒有別的。這是您的機器用來與自身通信的地址。

這個條目是 數字 否則,在嘗試與應用程序通信時可能會出現問題。

第二行 127.0.1.1 ubuntu 表示同上。這是另一個別名映射: 本地主機 地址。但這條線不僅僅是一個別名。

第二行確保當其他應用程序嘗試與本地計算機通信時,它們實際上會到達本地網絡上的目標主機名。如果您更改主機名,您還應該在此文件中將 ubuntu 更改為您想要的主機名。

同樣,您可以更改第二行以更改靜態 IP 地址。同樣,不要更改第一行。

向 /etc/hosts 添加一個條目

讓我們在主機映射中添加一個條目。嘗試映射到這個網站 (www.howlinux.com)。但在此之前,讓我們使用 ping 命令。

ping howlinux.com

由於這在您的本地網絡之外,因此您需要查詢您的 DNS 服務器以獲取 IP 地址。如果找到匹配項,則返回 IP 地址。

平面網站

好的,服務器正在運行並且具有屏幕截圖中給出的 IP 地址。現在讓我們添加到 etc/hosts.

添加條目後的主機文件添加條目後的主機文件

現在保存並退出。現在,當您訪問 howlinux.com 時,您的系統將直接將您指向我們的站點。 /etc/hosts 參考文件而不是搜索 DNS 服務器。

您可以在未連接到 Internet 時在瀏覽器中打開 IP 地址進行測試。顯然它不會連接到網站,但它會在沒有網絡的情況下解析域名。所以本質上這與 域名系統 我們可以同意!難怪現在到處都在使用它,對吧?

同樣,接下來的幾行是 IPv6 地址。他們中的第一個 ::1 定義 localhost 一個循環回自身的端點,例如 127.0.0.1.

接下來的兩行用於多播。 nodes 什麼時候 routers 由於網絡 IPv6 高度依賴 UDP組播.

概括

主要觀點 /etc/hosts 這是關於在詢問 Internet 上的任何其他服務器之前啟動與本地應用程序本身的通信。除此之外,它對今天的應用程序沒有太大影響。所以不要太在意這個文件,除了它以前使用的歷史意義。 域名系統 進入了畫面。

參考

  • /etc/hosts 中的 Ubuntu 手冊頁條目