对通过 VPN 访问的主机的 DNS 查询失败。如何修复?
在 Windows 10 主机上,仅 VPN 可访问 DNS 服务器已知的主机的 DNS 查询无法解析。DNS 查询被发送到我的本地 DNS 服务器 ( 192.168.1.1
),该服务器不返回任何 DNS 答案。DNS 查询不会发送到 VPN 可访问的 DNS 服务器 ( 10.0.1.1
)。
技术信息
PowershellGet-DnsClientServerAddress
显示:
PS> Get-DnsClientServerAddress
InterfaceAlias Interface Address ServerAddresses
Index Family
-------------- --------- ------- ---------------
Ethernet 10 IPv4 {192.168.1.1}
Ethernet 10 IPv6 {}
VPN 20 IPv4 {10.0.1.1}
VPN 20 IPv6 {}
Ping VPN DNS 服务器成功 ( ping 10.0.1.1
)。
解析 DNS 名称google.com
成功 ( Resolve-DnsName google.com
)。
但是,解析 VPN 可访问主机的 DNS 名称server.corp.com
失败。
PS> Resolve-DNSName server.corp.com
PS>
我如何强制 DNS 查询优先选择可通过 VPN 访问的 DNS 服务器10.0.1.1
?
答案1
InterfaceMetric
将接口的值更改VPN
为比本地接口更低(更重要)Ethernet
。
使用Get-NetIPInterface
,接口度量是
PS> Get-NetIPInterface
ifIndex InterfaceAlias AddressFamily NlMtu(Bytes) InterfaceMetric Dhcp ConnectionState PolicyStore
------- -------------- ------------- ------------ --------------- ---- --------------- -----------
10 Ethernet IPv4 1500 4000 Enabled Connected ActiveStore
20 VPN IPv4 1400 35 Disabled Connected ActiveStore
使用Set-NetIPInterface
我将VPN
接口属性更改为InterfaceMetric
较低的整数值(需要管理员权限)15
AddressFamily IPv4
PS> Set-NetIPInterface -InterfaceIndex 20 -InterfaceMetric 15
现在,对可通过 VPN 访问的 DNS 服务器已知的主机的 DNS 查询将会成功。
PS> Resolve-DNSName server.corp.com
Name Type TTL Section IPAddress
---- ---- --- ------- ---------
server.corp.com A 130 Answer 10.0.1.2