我正在配置一项仅作用于局域网的服务。
目前所有的服务都配置完成,但是在 mdns 上遇到了麻烦,具体描述如下:
我使用了一台装有 linux 的小主机,名称为 kit1,部署好了自己的服务,监听 3050 端口,然后网线连入路由器。
路由器通过 dhcp 给 kit1 分配了 192.168.3.20 这个 ip
此时路由器没有通过 wan 口连入外网
用另一台 macbook 连入该路由器的 wifi,访问 192.168.3.20:3050, 一切顺利
同一台 macbook 访问 kit1.local:3050, 一切顺利
用台式机( Archlinux 系统,装有 avahi 和 nss-mdns )访问 192.168.3.20:3050 和 kit1.local 一切顺利
用 Windows 系统访问 192.168.3.20:3050 ,ok
用 Windows 系统访问 kit1.local , 失败
更换其他的 Linux/MacOS/Windows 系统机器,以上情况完美复现
这时我把路由器接入外网,再用 Windows 机器访问 kit1.local ,成功
尝试用 wifi 或有线连入,结果不变(即有外网时候 kit1.local 可以解析成内网地址并正常访问,没外网了就不行)
也就是我遇到了这么个问题:
如果 Windows 系统的终端连入了没有外网的局域网,mdns 本地地址解析就会失败
以上问题仅在 Windows 下出现,MacOS ,Linux 甚至手机安卓和 ios 都一切正常。
已经问过 Google 和 Chatgpt, 没有找到可行的解决方案,甚至类似的问题都几乎没有,不知道是不是我的提问方式不对。
于是只能来发帖求助,不胜感激。
1
geyee 2023-11-27 21:46:56 +08:00 via Android
Windows 下 nslookup kit1.local 的结果在有无外网的情况时,估计有所不同,以及 wireshark 抓包看看。
|