Networking
/etc/hosts 應該包含域名還是 FQDN?
如果我想添加一個條目來
/etc/hosts
解析 to 的所有流量example.com
,1.2.3.4
是否需要添加1.2.3.4 example.com 1.2.3.4 www.example.com 1.2.3.4 smtp.example.com 1.2.3.4 pop.example.com ...
或者只是添加
1.2.3.4 example.com
夠了嗎?
您將需要指定每個子域。如果這不是您想要的,您應該考慮安裝一個真正的 DNS 伺服器(例如 bind9)。
這很容易通過首先添加
example.com
到/etc/hosts
然後執行ping -c 2 example.com ping -c 2 www.example.com
第一個將使用提供的 IP 地址成功。第二個將轉到
93.184.216.119
(www.example.com 的網際網路 IP 地址)
/etc/hosts
是/曾經是網際網路處於起步階段時的 DNS 系統的前身。它今天仍然用於諸如當您想要解析少量本地系統或在您尚未設置 DNS 的開發設置中的情況。您將要解析為 IP 地址的所有主機名放入其中。您可以為一個 IP 地址分配多個名稱,因為
localhost
大多數發行版中的行具有:127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
如果您想添加
1.2.3.4
為您的網路伺服器,該伺服器被呼叫www.example.com
並通過更短的方式訪問它,請www
添加:1.2.3.4 www www.example.com
在您的實例中,您可以將所有名稱放在一行中:
1.2.3.4 www.example.com smtp.example.com pop.example.com
您的系統解析這些名稱的順序(
/etc/hosts
或 DNS 優先)可以在以下hosts:
行中配置/etc/nsswitch.conf
)但請記住,
/etc/hosts
僅適用於您的機器。如果您有幾個系統,/etc/hosts
則在每個系統上進行編輯都會變得笨拙。