You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows主机异常使用IPv6 DNS替代配置的IPv4 DNS,导致部分域名解析失败求助

Windows主机异常使用IPv6 DNS替代配置的IPv4 DNS,导致部分域名解析失败求助

嘿,我太懂你这种折腾到头大的感觉了——好好的Windows机器突然就抽风,平时正常的部分域名居然解析失败,查来查去发现是系统硬要用上IPv6 DNS,完全不管你配置的IPv4 DNS,这破事儿真的闹心!

先给你捋捋目前的核心问题:你的OpenWrt路由器之前的dnsmasq组件把那台Ubuntu k3s主机当成了DNS服务器,结果Windows自动获取到了这个IPv6的DNS地址,哪怕你删了路由器上的dnsmasq、清了DNS缓存、重置了ARP表,系统还是死磕这个IPv6 DNS不放。

给你几个亲测有效的排查和解决步骤:

一、先给Windows掰过来,让它优先用IPv4 DNS

Windows默认会偏IPv6的网络配置,这大概率是它死磕IPv6 DNS的原因,咱们手动调整:

  • 打开网络和共享中心,找到当前在用的网络连接,右键选「属性」
  • 在弹出的窗口里,找到「Internet 协议版本 6 (TCP/IPv6)」,把它前面的勾选去掉,先临时禁用IPv6(如果你的环境不需要IPv6的话),然后重启网络,再用nslookup测试下解析是否正常
  • 要是你得保留IPv6,那咱们调整协议优先级:
    1. 以管理员身份开命令提示符,先看当前优先级:netsh interface ipv6 show prefixpolicies,你会发现IPv6的优先级比IPv4高
    2. 运行netsh interface ipv6 set prefixpolicy ::/0 30 0,把IPv6的全局前缀优先级调低,这样IPv4的优先级就会上来
    3. 改完再用nslookup试试,应该就会优先用IPv4 DNS了

二、彻底清掉Windows的DNS配置残留

你已经跑了ipconfig /flushdnsarp /d *,但可能还有DHCP的残留配置没清干净:

  • 以管理员身份开命令提示符,依次跑这几个命令:
    • ipconfig /release 先把当前的IP和DNS配置全释放掉
    • ipconfig /renew 重新从路由器获取DHCP配置
    • netsh winsock reset 重置Winsock目录,这招能解决很多顽固的网络配置问题
    • 跑完重启电脑,再用ipconfig /all看看DNS服务器列表里是不是只有你要的IPv4地址

三、把路由器的DHCP残留也清干净

你说路由器上的dnsmasq已经删了,但DHCP租约可能还留着,得彻底清:

  • 登录OpenWrt路由器后台,找到DHCP服务器的配置页面,把所有DHCP租约记录全清空
  • 重启路由器,确保它不会再把Ubuntu的IPv6地址推给Windows当DNS
  • 另外,手动指定路由器的DNS服务器地址(比如Cloudflare的1.1.1.1,或者One.com的官方IPv4 DNS),别让路由器再自动瞎选其他机器当DNS

四、给Ubuntu主机做个“体检”,避免再被路由器盯上

虽然问题根源在路由器,但保险起见,确认下那台Ubuntu k3s主机有没有偷偷开了DNS服务:

  • 登录Ubuntu,跑systemctl status systemd-resolvedsystemctl status dnsmasq,看看有没有意外启动的DNS服务
  • 要是有的话,直接停掉并禁用:systemctl stop systemd-resolvedsystemctl disable systemd-resolved,免得以后路由器又抽风把它选成DNS

五、实在不行就来硬的——手动指定Windows的DNS服务器

要是上面的办法都不管用,咱们直接把DNS配置焊死:

  • 打开网络连接属性,找到「Internet 协议版本 4 (TCP/IPv4)」,双击它
  • 选「使用下面的DNS服务器地址」,输入你信任的IPv4 DNS地址(比如Cloudflare的1.1.1.1,或者One.com的官方DNS)
  • 确定后跑ipconfig /flushdns,再测试域名解析,这下总该正常了

对了,你之前说nslookup一直用IPv6 DNS,其实可以在nslookup里手动指定DNS测试,比如nslookup 你的问题域名 1.1.1.1,这样能排除域名本身的问题,确认是DNS服务器的锅。

备注:内容来源于stack exchange,提问作者JoSSte

火山引擎 最新活动