主機文件是一個非常有用的小文本文件,用於存儲主機名和關聯的 IP 地址。這基本上是主機名到 IP 地址的映射。
所有網絡協議都使用此映射將主機名轉換為數字 IP 地址。映射是因為網絡層不適用於主機名。
只有真實的 IP 地址用於網絡協議。但是,我們人類更容易使用字母和名稱,因此使用主機名而不是 IP 地址來記住特定端點很有幫助。
在我們今天所知道的互聯網上, 域名系統 (域名系統) 將 URL 解析為 IP 地址。
如果您連接到局域網 (局域網),沒有DNS服務器可以查詢,所以直接將IP地址映射到主機名更有意義。因此,DNS 服務器始終 不 如果可用,應用程序將直接引用此文件。
主機文件功能
啟用主機文件 IP地址的唯一分配 給主機。這將找到兩個主機,即使它們具有相同的名稱。當從一個網絡移動到另一個網絡時,這尤其常見。
在 Ubuntu 系統上,hosts 文件位於: /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 地址進行測試。很明顯,它不連接網站,但它在沒有網絡的情況下也能解析域名。所以本質上這與 域名系統 合同OK!難怪現在到處都在使用它,對吧?
同樣,接下來的幾行是 IPv6
地址。他們中的第一個 ::1
定義的 localhost
端點在環回中與自身通信,例如 127.0.0.1
.
接下來的兩行用於多播。 nodes
和 routers
網絡 IPv6
嚴重依賴 UDP-組播.
總結
主要觀點 /etc/hosts
它是關於在詢問 Internet 上的任何其他服務器之前啟動與本地應用程序本身的通信。除此之外,它對今天的應用程序沒有太大影響。所以除了這個之前使用的歷史意義外,不要太在意這個文件。 域名系統 進入了照片。
參考
- /etc/hosts 中的 Ubuntu 手冊頁條目