Vpn

Windows 10 Always On VPN、Split DNS、NRPT,以及如何配置使用哪個 DNS 伺服器?

  • January 30, 2020

這是設置:

  • Windows 10 1803 客戶端
  • 伺服器 2012R2 RRAS 伺服器
  • 按照這些說明設置 Always On VPN 設備隧道,使用拆分隧道。
  • Device VPN 僅具有到 1 個 DC/DNS 伺服器和我們的配置管理器伺服器的路由,因此可以對其進行管理,並且新使用者可以在不在辦公室時進行身份驗證。當使用者需要完全訪問辦公網路時,他們可以連接到一個單獨的使用者 VPN。這很好用,除了 DNS。
  • AD 域名為 example.local
  • 公共域名是example.com

問題:

  • 我們將拆分 DNS 用於我們的公共域名 - 因此 mail.example.com 在使用我們的內部 DNS 伺服器時解析為一個內部 IP 地址,以及來自外部世界的公共地址。
  • 我需要 VPN 客戶端將其解析為公共地址。設備 VPN 不允許他們與 mail.example.com 的內部地址通信,因此他們無法獲取電子郵件。
  • 我還希望(但不是必須擁有)其他位置的本地服務的 DNS 解析能夠正常工作 - 例如。當我在 Other Corp 的辦公室時,即使連接了 VPN,othercorp.local 的 DNS 也能正常工作。

我想要發生的事情:

  • 例如.local 的查詢通過 VPN 到我們的內部 DNS 伺服器
  • 其他所有內容,包括 example.com,都使用筆記型電腦所連接的 LAN/Wifi 連接提供的 DNS 伺服器。
  • 另一個基於使用者的 VPN(通過 VPN 路由所有流量)繼續使用我們的內部 DNS 伺服器處理一切。

我試過的:

  • 設置名稱解析策略表規則,例如指向我們內部 DNS 伺服器的 example.local。這似乎確實有效,例如查詢 example.local 會通過 VPN…但其他所有內容也是如此。
  • 為 example.com 設置 NRPT 規則,使用空白的 DnsServers 欄位,這應確保它們被排除在外。似乎沒有效果。
  • 使用 DnsServer 的公共解析器為 example.com 設置 NRPT 規則。這確實有效,但在遠端位置中斷,除了他們自己的 dns 解析器(我的使用者前往的許多站點都這樣做)之外,它會阻止任何東西,並且不能解決本地服務問題。
  • 在網路連接中的 VPN 連接上設置“使用以下 DNS 伺服器地址”,並將其留空。沒有效果,VPN 連接仍然設置為使用我們的內部伺服器。
  • 設置“使用以下 DNS 伺服器地址”,並放入像 8.8.8.8 這樣的公共 DNS 伺服器。連接後,我最終在該介面上擁有 3 個 DNS 伺服器,我們的內部伺服器位於頂部,8.8.8.8 位於列表底部。

我懷疑如果我可以讓 VPN 根本不列出任何 DNS 伺服器,那麼 NRPT 規則就會啟動,例如 example.local,一切都會正常工作。但我找不到讓它不使用 RRAS 伺服器提供的方法。

您可以嘗試的一個潛在解決方法是建立一個 Server 2016 DNS 伺服器並實施一個 DNS 策略來執行具有地理定位意識的拆分 dns。這將允許您告訴來自設備 VPN 子網的 DNS 查詢使用外部 IP 而不是內部 IP。

powershell 命令如下所示。

設備 VPN 子網

Add-DnsServerClientSubnet -Name "DeviceVPNSubnet" -IPv4Subnet "192.168.1.0/24"  

設備 VPN 區域範圍

Add-DnsServerZoneScope -ZoneName "example.com" -Name "DeviceVPNZoneScope"  

預設A記錄(應該已經存在)

Add-DnsServerResourceRecord -ZoneName "example.com" -A -Name "mail" -IPv4Address "192.168.0.5"

設備 VPN A 記錄

Add-DnsServerResourceRecord -ZoneName "example.com" -A -Name "mail" -IPv4Address "203.0.113.5" -ZoneScope "DeviceVPNZoneScope" 

設備 VPN 解析策略

Add-DnsServerQueryResolutionPolicy -Name "Device VPN Policy" -Action ALLOW -ClientSubnet "eq,DeviceVPNSubnet" -ZoneScope "DeviceVPNZoneScope,1" -ZoneName "example.com"  

請參閱:將 DNS 策略用於基於地理位置的流量管理與主伺服器

只是一個想法,但也許設置一個連接腳本 .bat ,在連接到主機文件時添加郵件伺服器的正確公共 IP 地址,然後在斷開連接時將其從客戶端的主機文件中刪除?從理論上講,我猜你總是可以將它放在主機文件中,然後他們甚至可以在辦公室中從它的公共 IP 訪問伺服器。無論如何,這將覆蓋來自 RRAS 伺服器的任何 DNS。

主機文件位於 C:\Windows\System32\Drivers\etc\hosts 。

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