Windows 的 DNS 查询乱加域名后缀。如何解决?

2024-09-11 22:12:46 +08:00
 cnbatch

几年前我买了软路由,把我父母家的内网和我自己的内网连了起来。

当时恰好有域名商家正在特价促销,于是我注册了 .guru 域名,用来给我两个内网做区分,同时方便相互访问,至少不用每次都输入 IP 地址。

(以下是示例,并不是我注册的真实域名)

我家用的是 *.myhome.itismydomain.guru,父母家内网用的是 *.thehome.itismydomain.guru

此后访问两边的内网机器全靠域名,很方便。比如访问自己内网的 nas ,我只需要进入 https://nas 或者 https://nas.myhome.itismydomain.guru 就可以了。
访问父母家的 WiFi 路由,只需要进入 wifi.thehome.itismydomain.guru ,方便我远程开 / 关访客 SSID 。

然而没多久就遇到一些小麻烦了。

每次访问正常网站,Windows 总会胡乱拼接域名。比如访问 www.google.comwww.baidu.comwww.icbc.com.cn ,Windows 时不时会抽风,向路由器发出这样的查询:

这样的域名显然不存在,浏览器只好给我跳个 DNS_PROBE_FINISHED_NXDOMAIN 错误码。有时刷新一下就恢复正常。但并不是每次都这么抽风,绝大多数情况下都是正常的。

我父母家那边的 Windows 机器也是一样,偶然会遇到 Windows 乱拼接。

Android 手机不会出现这种情况,Linux 和各个 BSD 也不会出现这种事,它们都知道什么时候应该拼接内部域名,什么时候不该追加内部域名。

已经顺手 Google 了下,发现类似情况早就存在了:
https://answers.microsoft.com/zh-hans/windows/forum/all/windows-server2016-ad/2738559d-11e4-4e96-ab65-ff534e0b7505
整整 7 年,微软也不打算修一修

1839 次点击
所在节点    Windows
7 条回复
jim9606
2024-09-11 22:26:03 +08:00
你把 myhome.itismydomain.guru 设成 dns 后缀了吧?然后标准 dns 解析没回应就会尝试拼接 dns 后缀
组策略-管理模板-网络-DNS 客户端有一个“允许将 DNS 后缀附加到非限定性多标签域名进行查询”,看看管不管用?
1423
2024-09-11 22:39:27 +08:00
外行做法, linux 同样有这类错误配置的情况
jeesk
2024-09-11 22:39:33 +08:00
dns search domain 被滥用了?
sky96111
2024-09-11 22:44:33 +08:00
遇到过类似问题,我的搜索域是.lan ,我访问 xxx.com ,有时候 Windows 甚至会给我拼出 xxx.com.lan.lan 这种域名
niubilewodev
2024-09-11 23:11:37 +08:00
Linux 会拼的,而且是优先拼。
但是 linux 有 ndots 参数,可以指定。
cnbatch
2024-09-11 23:59:23 +08:00
@jim9606 我把域名设置成软路由的“域”了,它应该自动进一步设置成了 DNS 后缀。

设成“禁用”确实有效。
我查了下路由器 DNS 查询记录,在改成“禁用”之前有个奇怪现象,Windows 居然是先查询拼接后缀,DNS 返回表示域名不存在,Windows 才再发出另一个 DNS 请求查询未拼接的正确域名。
组策略“禁用”该选项后,Windows 才直接查询正确域名。

@niubilewodev
然后到在安卓、Linux 、BSD 分别试了下,包括 ping 和直接开网站,再调出 DNS 查询记录,都是第一次就查询正确域名(未拼接)
yinmin
2024-09-12 08:42:27 +08:00
别用后缀方式,改用域名指定 ip 方式。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1072123

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX