
我在實驗室網路中的 Citrix XenServer 6.1 之上設定了多個運行虛擬機,但我認為此問題可能並非 XenServer 所特有。
有幾種不同的作業系統正在運行:
- 軟呢帽 19
- Ubuntu 12.04 桌面版
- Ubuntu 12.04 伺服器
- Windows 7的
每一個從 DHCP 取得兩個 DNS 伺服器位址:
- 主要:172.16.18.68,這是我們實驗室網路上的本地 DNS。它解析我們實驗室網路內部的名稱。
- 輔助:10.10.201.11,這是我們實驗室網路以外的 DNS,但仍然是我們公司的一部分。它為我們提供了接觸外在世界的途徑。
在 Windows 7 和 Ubuntu 12.04 Server 上,我可以解析實驗室網路外部和內部的網域名稱。在 Ubuntu 12.04 Desktop 和 Fedora 19 上,我只能解析實驗室網路內部的名稱 - 我無法解析外部的任何名稱。不過,我仍然可以透過在網頁瀏覽器中輸入 74.125.131.106 來存取 google.com,因此我確實可以存取外部世界,只是無法存取 DNS。如果我切換 DNS 伺服器的順序,那麼我可以解析外部名稱,但無法解析內部名稱。因此,Fedora 19 和 Ubuntu Desktop 僅使用 DNS 伺服器清單中的第一台伺服器,如果失敗,它們不會嘗試備用伺服器。這是為什麼?為什麼同樣的事情在 Ubuntu Server 和 Windows 7 上沒有發生?
答案1
主 DNS 伺服器和輔助 DNS 伺服器預計會給出相同的結果。您似乎已經設定了自己的 DNS 伺服器,希望作業系統使用您的 DNS 伺服器來解析您的實驗室名稱/IP,並使用公司 DNS 伺服器來解析所有其他名稱/IP。
這不是它的工作方式。如果您的 PC 向您的 DNS 伺服器詢問公司伺服器的 IP,而您的 DNS 伺服器回答該名稱未知,那麼就會有結果,無需詢問其他 DNS 伺服器。此外,如果您的 PC 向公司 DNS 伺服器詢問實驗室名稱,那麼它會回答說它不知道該名稱。
您應該設定您的 DNS 伺服器,將除您以外的網域的所有請求轉送到公司 DNS 伺服器。在理想情況下,公司 DNS 伺服器應配置為了解您的子網域並將您網域的所有請求轉送到您的 DNS 伺服器。
您應該使用您的 DNS 伺服器作為主 DNS 伺服器。如果您可以在公司 DNS 中設定轉送區域,則可以將該 DNS 伺服器用作輔助 DNS 伺服器,否則不應設定輔助 DNS 伺服器。
由於您似乎不了解 DNS 的工作原理,因此您應該請公司管理員來幫助您。
答案2
其中,外部 DNS 伺服器往往不會解析內部名稱(這不被視為「最佳實踐」)。內部 DNS 伺服器通常應答內部名稱並將未知查詢轉送至外部伺服器。建議查看內部 DNS 伺服器中的轉發器聲明。
將工作站中的內部和外部名稱伺服器作為主伺服器和輔助伺服器將導致您所描述的問題(除非將外部名稱伺服器配置為實際上是內部伺服器的輔助伺服器)(兩個區域之間應該發生區域傳輸)伺服器).