多宿主、多域電腦的 /etc/hosts 檔案?

多宿主、多域電腦的 /etc/hosts 檔案?

我有一台帶有兩個網路介面的伺服器(debian),我想在其上託管多個服務和網域;我並不完全清楚應該如何設定主機檔案。例子:

eth0, bound to WAN interface 1.2.3.4:
   mail.example.com
   www.example.com
eth0:1, bound to WAN interface 1.2.3.5:
   www.other-domain.com
eth1, bound to LAN 192.168.1.123:
   some-clever-hostname

我的主機檔案應該是什麼樣子? (包括 localhost、localhost.localdomain 等)我應該對其中一些項目使用 DNS 嗎?哪個?

謝謝!

編輯:如果我無法使用 DNS 伺服器(例如在測試環境中)怎麼辦?

答案1

放入和localhost/etc/hostname

127.0.0.1 localhost.localdomain localhost

/etc/hosts很好。映射可以在 DNS 中設置,並且您可以明確設定其餘部分(apache 將在虛擬主機內配置 ServerName 等)。

答案2

多宿主系統與 Linux(或 Windows,或任何其他使用 TCP/IP 的電腦)上的多域系統,是兩個截然不同的事物。

多域系統:

伺服器本身只需要一個主機名,如果不是 Web 伺服器名稱,效果會更好。無論您是否位於 NAT 路由器後面,它都需要指向標識伺服器的公用 IP 位址,而不是私人 IP 位址。對於多個 IP 位址,它需要指向伺服器的主 IP 位址。然後發布要在 DNS 中解析的給定主機名稱。較大的公司可能有編號系統。伺服器001、伺服器002、伺服器003 等。

12.34.56.78 server001.mydomain.com server001
127.0.0.1 localhost.localdomain.local localhost

將 .local 新增至 localhost.localdomain 不是必需的,而是設定多宿主系統的先決條件。我傾向於添加它只是出於習慣。如果設定正確,任何其他網域都將透過 Web 伺服器進行處理。除了 Web 伺服器之外,只要 DNS IP 位址指向伺服器(電子郵件等)即可。如果您位於 NAT 路由器後面,則可以使用 .local 設定內部主機名稱。大多數時候這不是必需的,但可能會解決更困難的系統上的一些問題。

12.34.56.78 server001.mydomain.com server001
10.0.0.78 server001.mydomain.local server001
127.0.0.1 localhost.localdomain.local localhost

多宿主系統:

這是您實體上有多個網路卡連接到不同網路的地方。最常見的是一個介面上的公共網絡,另一個介面上的安全專用網路。例如,您可能在公用介面上擁有 Web 服務,並在私人介面上的單獨伺服器上擁有安全資料庫。這無需設定多宿主系統即可運作,但如果負載較重,則會清除大量 SYN TIMEOUT 連線。假設我們在12.34.56.50 : 10.0.0.50 上有一個Web 伺服器(server001),在10.0.0.51 上有一個內部資料庫伺服器(server002) 兩台伺服器都需要使用.local 指令對應到/etc/hosts 中的另一台伺服器

/etc/hosts server001

12.34.56.50 server001.mydomain.com server001
127.0.0.1 localhost.localdomain.local localhost
10.0.0.50 server.001.mydomain.local server001
10.0.0.51 server002.mydomain.local server002

/etc/hosts server002

10.0.0.1 server002.mydomain.local server002
127.0.0.1 localhost.localdomain.local localhost
10.0.0.50 server.001.mydomain.local server001

相關內容