Windows

Windows 上的拆分 DNS

  • October 31, 2017

我有一個內部網路,其中所有服務都在內部域下註冊(例如:)coolcorp.io

當使用者連接到 VPN 時,我希望他們能夠解析 中的內部服務*.coolcorp.io,而無需通過我們的內部 DNS 伺服器進行任何其他“公共”名稱解析。

在 macOS 和 Linux 中,我可以在/etc/resolver該特定域下創建自定義解析器設置。

我不確定如何在 Windows 上做到這一點。我們沒有 AD,DNS 不應該是我們 VPN 的預設網關。

作為背景,讓我們看看 DNS 堆棧在 Windows 上是如何工作的。

當需要解決 FQDN 時說 a.contoso.com

  • 如果在 Cache 或 hosts 文件中未找到匹配項
  • 作業系統查看名稱解析策略表,這是一個與介面無關的列表,您可以在其中指定 DNS 伺服器 IP 地址或代理伺服器以用於名稱或後綴
  • 如果 NRPT 表查詢中沒有匹配,則在介面上發送查詢並選擇來自最首選介面的響應(Lan > VPN > Wi-Fi > Cellular)

現在,對於您的特定情況,最好的辦法是為 *.coolcorp.io 和公司 DNS 伺服器添加一個 NRPT 條目。在 Windows 10 上,這可以通過 MDM 的 VPNv2 CSP 中的 DomainNameInformationList 屬性成為 Windows VPN 配置文件的一部分https://docs.microsoft.com/en-us/windows/client-management/mdm/vpnv2-csp。NRPT 策略也可以通過 Add-DnsClientNrptRule powershell commandlet 添加。這將確保 *.coolcorp.io 的所有解析度都轉到 VPN 伺服器。接下來,在您的 VPN 配置文件本身中,您現在不需要提供 DNS 伺服器地址或 DNS 後綴。

引用自:https://serverfault.com/questions/879540