允許多個本地伺服器共享一個本地域
我想在 VMWare 中設置多個本地伺服器。例如,一台 web 伺服器、一台文件伺服器、一台 openvpn 伺服器等。
我想創建一個在本地工作的域(例如example.localservers),它指向他們都可以訪問的 Web 伺服器。但是,我還想與其他伺服器(例如files.example.localservers、vpn.example.localservers)共享該域,以便將所有內容分開並且它們都位於不同的本地 IP 上。
我怎麼能接近這個?
快速,10,000 英尺的 DNS 伺服器如何工作的視圖(至少 w/r/t 你的問題):
DNS 伺服器是普通主機上的普通守護程序。它在 TCP 和 UDP 埠 53 上偵聽查詢。對於我們的目的,唯一的查詢是什麼是 IP 地址
foo.example.com
?(或任何主機名)。DNS 為該查詢提供了一些可能的答案:
沒有這樣的主機名。
我沒有線索。(這是一個錯誤情況。)
IP 地址是 10.11.12.13(或其他)。
詢問位於(某個主機名)的 DNS 伺服器/名稱伺服器。
上面的第四個答案是 DNS 委託的工作方式。有一堆根伺服器。那些告訴您向名稱伺服器詢問
com
. 然後這些伺服器告訴您向名稱伺服器詢問example.com
,等等。DNS 伺服器有兩個知識來源:本地配置和與其他 DNS 伺服器對話(注意:為了提高效率,從其他伺服器獲得的知識被記憶體)。本地配置包括根名稱伺服器列表(或至少其中一些;您可以向其中任何一個詢問完整列表)、此伺服器處理的區域列表以及這些區域的主機→IP 映射。
區域只是 DNS 中的一個控制區域。通常,一個或多個點分隔部分。在
foo.example.com
中,有根區域、com
區域和example.com
區域。如果有a.foo.example.com
,有時它會成為example.com
區域的一部分,有時還會有一個額外的區域——這是管理員foo.example.com
的配置決定。example.com
DNS 伺服器處理兩種不同類型的查詢:遞歸和非遞歸。遞歸查詢主要來自隨機電腦(客戶端)。非遞歸查詢主要來自其他 DNS 伺服器。遞歸查詢要求 DNS 伺服器完全解析名稱,處理“詢問其他伺服器”本身。非遞歸查詢只返回詢問的位置。
如果您有 3 台主機,不了解 DNS,並且不想學習它,那麼 stevieb 建議使用主機文件就可以了。每次添加主機時,都必須將其添加到所有主機上的 hosts 文件中,但如果只是幾台主機,那也沒什麼大不了的。
OTOH,如果您想設置 DNS,您將不得不花一些時間閱讀它——我個人從早期版本的DNS 和 BIND中學到了很多東西,但已經有一段時間了,可能有更好的資源現在。簡而言之,您將配置一個本地記憶體名稱伺服器,使其對 具有權威性
example.localservers
,然後為其提供所有主機→IP 映射。(還有IP→主機映射,可能還有其他東西)。最後,如果您使用的是已註冊的、全球認可的域(您在 Namecheap 上獲得的域等),您可能會發現將名稱→IP 映射添加到他們的 DNS 服務會更容易,您可以使用他們網站上的控制面板。