如果PC有多个网卡,且配置了不同的DNS,是否可以做到指定的域名由指定的DNS解析呢?
也就是说,指定网址由指定网卡所属网络上的DNS服务器解析。
完全可以!有2种方法可以达成目的。
实验设置:A网卡的DNS是1.1.1.1,B网卡的DNS是2.2.2.2,FQDN:www.Superfox.com
实验目标:网址 www.Superfox.com 由 DNS:2.2.2.2解析。
方法一:修改网卡跃点数
把A网卡的跃点数改为2,B网卡的跃点数改为1,禁用/启用网卡,运行ipconfig /flushdns,Windows会优先使用跃点数小的网卡和其绑定的DNS。路径是进入网卡属性的IPv4配置界面→高级:

注:既可以单网卡配置2个DNS,也可以双网卡各自配置DNS,解析请求包走哪个网卡由路由表决定。
方法二:配置域名解析策略
原理是指定的FQDN由指定的DNS解析。
运行组策略编辑器gpedti.msc→计算机配置→域名解析策略→创建规则区域,这里可以填写后缀,也可以填写完整的FQDN,然后在"常规DNS服务器"填入指定的DNS,点创建,在底部就创建了一条规则:

一定要关闭组策略编辑器,正常情况下 ping 目标FQDN 就应该解析正常了,如果不正常,运行gpupdate /force,重启DHCP客户端服务,禁用/启用网卡,运行ipconfig /flushdns,或者重启系统。
此种方法无需在网卡上配置目标DNS,因为已经写在了策略里。DNS请求包走哪个网卡由路由表决定。
写完整的FQDN有局限性,因为当你访问到这个FQDN,有可能其页面还要解析其它的FQDN,但策略里没写,造成访问有问题。如果访问的后缀相同,在创建策略时就用后缀(比如 Superfox.com)而非完整的FQDN。