> Windows 10 1803客户端
> Server 2012R2 RRAS服务器
>始终按照these instructions进行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解析,以便其他位置的本地服务正常工作 – 例如.当我在其他公司的办公室时,DNS for othercorp.local即使连接了VPN也能工作.
我想要发生什么:
>查询例如.local通过VPN到我们的内部DNS服务器
>其他所有内容(包括example.com)都使用笔记本电脑连接的LAN / Wifi连接提供的DNS服务器.
>其他基于用户的VPN(通过VPN路由所有流量)继续使用我们的内部DNS服务器来处理所有事情.
我尝试过的:
> Setting Name Resolution Policy Table rule.local的规则指向我们的内部DNS服务器.这似乎工作,例如查询.local通过VPN …但其他一切.
>为example.com设置NRPT规则,使用空白DnsServers字段,这应该确保它们被排除在外.似乎没有效果.
>为example.com设置NRPT规则,使用DnsServer的公共解析器.这确实有效,但是在远程位置中断,除了他们自己的dns解析器(我的用户前往的许多站点)之外的任何东西都会阻塞,并且无法解决本地服务问题.
>在网络连接中的VPN连接上设置“使用以下DNS服务器地址”,并将其留空.没有效果,VPN连接仍设置为使用我们的内部服务器.
>设置“使用以下DNS服务器地址”,并放入公共DNS服务器,如8.8.8.8.连接后,我最终在该接口上有3个DNS服务器,我们的内部位于顶部,8.8.8.8位于列表底部.
我怀疑,如果我可以让VPN根本不列出任何DNS服务器,那么NRPT规则只会启动例如.local,一切都会正常工作.但我找不到让它不使用RRAS服务器提供的方法的方法.
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"
见:Use DNS Policy for Geo-Location Based Traffic Management with Primary Servers