将 VPN 网络适配器上的 DNS 查询限制为仅 .local

将 VPN 网络适配器上的 DNS 查询限制为仅 .local

我有一台 Windows 10 PC,它连接到具有 DNS 服务器的 VPN 网络,Windows 中是否有办法只将具有 .local 后缀的 DNS 查询路由到 VPN,而让其余流量通过互联网接口离开?VPN 不会强制所有流量都通过它。

答案1

是的,在 Windows 7 及更高版本上,使用名称解析策略表可以实现这一点。这允许您为给定命名空间设置一组不同的 DNS 服务器。这是 DirectAccess 用来通过 DirectAccess 隧道引导部分流量的表。

这里有几个示例 powershell 命令,您可以用它们来管理策略表并设置策略.local

添加规则以通过 vpn 发送 .local

$Rule = @{
    'Namespace'   = '.local'
    'Comment'     = 'VPN network'
    'NameServers' = ('fdab:25f9:a362:58::2', 'fdab:25f9:a362:58::3')
}
Add-DnsClientNrptRule @Rule

验证 DNS 解析是否正常工作(nslookup 不会使用策略表)

Resolve-DnsName 'example.local' -Type A_AAAA

删除 NRPT 规则

Get-DnsClientNrptRule | Where { $_.Namespace -eq '.local' } | Remove-DnsClientNrptRule

相关内容