"有没有什么方法能优先用IPv4的内网DNS解析",查了微软资料,了解到"prioritising-ipv4-over-ipv6"的办法。
参考微软文档:https://docs.microsoft.com/zh-cn/windows/win32/winsock/using-sio-address-list-sort 里的几句命令
netsh interface ipv6 show prefixpolicies
netsh interface ipv6 delete prefixpolicy ::/96
netsh interface ipv6 add prefixpolicy ::/96 x y
netsh interface ipv6 show prefixpolicies
不能随便设置,首先得netsh interface ipv6 show prefixpolicies查看原本顺序列表,然后再执行netsh interface ipv6 set prefixpolicy 网段 Precedence Label 然后再执行netsh interface ipv6 show prefixpolicies查看调整后的结果,排在上面的优先级高,下面的优先级低。::ffff:0:0/96,表示IPv4映射到IPv6地址的范围。
https://datatracker.ietf.org/doc/html/rfc3484
默认情况下,ipv6优先级高于ipv4
对比了2016镜像默认的netsh interface ipv6 show prefixpolicies ,正好跟下面这个文档上的一模一样
https://kb.firedaemon.com/support/solutions/articles/4000160803-prioritising-ipv4-over-ipv6-on-windows-10
然后执行这个文档上的netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 46 4
正好能把ipv4的优先级置于ipv6之上
调整前
调整后