ATscore

  • 首页
  • 听音乐
  • 科普
  • 冒险岛
  • 声明
  • 关于
  1. 首页
  2. 信息技术
  3. 正文

自建内网DNS与华硕路由器作默认DNS在windows下发生DNS相互干扰的问题

2025年6月2日 6点热度 0人点赞 0条评论

自建内网DNS的初衷

内网有一web服务器,外部访问时,路由器通过多层端口转发将访问转发至该服务器,实现正常访问。
这种方案下,内网其他设备将无法通过域名访问该服务器,因为其他设备通过DNS拿到的是外网IP。

正常情况下,华硕路由器对于被转发端口的访问有nat回源,可惜我这里的情况是多个路由器,DNS拿到的是最外层的IP,无法访问服务器。于是只好通过自建内网DNS来解决。

问题

自建DNS后,在路由器上设置了内网DNS为该DNS,保持互联网DNS不动。在windows下访问该服务器,发现有时能访问,有时不能访问。

排查

ipconfig /displaydns > a.txt

经查windows的dns缓存,发现拿到的居然还是外网IP

再查看windows的dns设置,有两个dns,一个是自建的dns,一个是路由器。
奇怪了,难道windows会默认路由器作为dns吗?
查手机,发现是一样的情况。
咨询deepseek各设备如何处理多个dns的情况。答说有的设备会依次访问,有的则是做均衡。
所以本次问题原因推测就是因为多个dns,windows通过访问错误的dns拿到了公网IP,导致的无法访问。

问题原因

研究了很久,发现路由器上居然有这么一个设置是默认打开的。
file
原因应该是这了,取消它,就不会将路由器作为一个默认dns了。

总结(推测)

根本原因是路由器默认将自己做了“优先级最低”的dns,通过dhcp发给了各个内网设备。但是不同的设备或系统使用多个dns的方法是不一样的。windows可能是以均衡的方式使用多个dns,这导致通过域名访问内网服务器时,取到了外网IP,从而不能正常访问。

这一问题排查中的困难在于浏览器的缓存机制,导致实际中看起来的访问失败问题是时不时出现的,同时修改dns等设置并不能实时生效,增加了问题排查的困难。

ATscore

用常识解读世界,用自己的大脑独立思考

Post Views: 5
标签: 暂无
最后更新:2025年6月2日

ATscore

用常识解读世界,用自己的大脑独立思考

点赞
< 上一篇

文章评论

取消回复

ATscore

用常识解读世界,用自己的大脑独立思考

文章目录Toggle Table of ContentToggle
  • 自建内网DNS的初衷
  • 问题
  • 排查
  • 问题原因
  • 总结(推测)

COPYRIGHT © 2022 atscore.cc. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS