在我的路由器上開啟 DNS 出現問題

在我的路由器上開啟 DNS 出現問題

最近我使用 Familyshield 切換到 O​​penDns。如果我沒有 3-4 小時使用互聯網,我的 ISP 會要求我重新登錄,然後我無法存取登錄頁面或互聯網。然後我必須轉到路由器上的 dns 設定並將設定更改為“自動從 ISP”,然後我可以看到登入頁面。只有當我的 ISP 要求我再次登入時才會發生這種情況,否則就可以了。

答案1

您需要水平分割 DNS 服務。

您的 ISP 顯然是使用內部網域進行僅對連接到其網路的客戶可見的內容的 ISP 之一。例如,它會將您引導至 WWW 頁面以便登錄,在您的 ISP 透過其代理 DNS 伺服器向客戶提供的 DNS 命名空間視圖之外,該 URL 中的https://internal.example.net./login網域不存在。 internal.example.net.example.net.這裡當然是您的 ISP 擁有的網域名稱。)

顯然,OpenDNS(諷刺的是,它還提供 DNS 命名空間的客製化版本)對此類安排一無所知。你也說不出來。

所以你需要所謂的水平分割 DNS 服務。您需要確保所有 DNS 查找example.net.及其子網域(即ISP 用於內部、僅限客戶的內容的每個網域名稱)都定向到ISP 的代理DNS 伺服器,並且所有其他網域的所有DNS 查找都定向到您的ISP的代理DNS 伺服器。

幾乎可以肯定,使用家用級路由器無法做到這一點。此類路由器缺乏此功能。您也無法透過調整 LAN 上各個工作站上的 DNS 用戶端來實現此目的。除了極少數 DNS 用戶端外,其他任何 DNS 用戶端都沒有內建此功能。 (幾乎只有 MacOS 才有這種機制。)

你需要做的是運行轉送代理 DNS 伺服器,位於 LAN 上的某個位置。您將該伺服器配置為執行有條件轉發,將example.net.其子網域與 DNS 命名空間的其餘部分分開;並且您將所有工作站配置為使用該 DNS 伺服器來提供代理 DNS 服務。為了獲得最佳結果,您無需手動查找 ISP 代理 DNS 伺服器的 IP 位址,您可以Automatic from ISP再次啟用該設置,並設定條件轉送以example.net.使用您的路由器作為中間轉送代理。

如果在LAN 上的任何其他電腦都已開啟的情況下必須開啟一台電腦的必要性讓您猶豫不決,您甚至可以在每個工作站上執行單獨的轉送代理DNS 伺服器,而不是為整個LAN 提供服務的中央伺服器。在每個工作站上運行 DNS 伺服器在網路世界中並不是什麼新鮮事。大約三十年前,人們已經把這視為理所當然的事了。大多數當前作業系統實際上都標配了 DNS 伺服器軟體。如果您有 BSD、Linuxen、Macintoshes、Solaris 等,則設定轉送代理 DNS 伺服器非常簡單,只需安裝 djbdns、PowerDNS、BIND 等並使用適當的條件轉送規則來設定。

Microsoft Windows 的非伺服器版本是明顯的例外。甚至 Windows Server 也標配有 DNS 伺服器。因此,只有當您擁有全 Windows 工作站網路且沒有任何 Windows 時,這才是真正的問題。伺服器機器或非 Windows 機器,您將因不具備軟體功能而遭受損失就在盒子裡

當然,還有其他方法可以解決這個問題:執行複雜的腳本來臨時重新配置事物並登錄,使用hosts檔案登入。但它們都面臨著與現在相同的問題:缺乏自動化。透過轉送代理 DNS 伺服器和水平分割 DNS 服務,您的 ISP 可以將其 DNS 伺服器和內部 HTTP 伺服器移至不同的 IP 位址,而無需您進行任何操作。路由器上的轉送代理透過 DHCP 取得 DNS 服務的新 IP 位址自動地,並且任何新的 HTTP 伺服器 IP 位址都可以按照通常的方式簡單地查找。相較之下,對於hosts文件包,每次 ISP 更改這些內容時,您都必須重新編輯hosts文件才能跟上。而您的 ISP 認為您正在使用 DHCP 來完成此操作,幾乎可以肯定認為自己沒有義務通知您以其他方式那就是改變了周圍的內部設備。

進一步閱讀

相關內容