V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NessajCN
V2EX  ›  Windows

一个关于 Windows 下使用 mdns 的问题

  •  
  •   NessajCN · 152 天前 · 805 次点击
    这是一个创建于 152 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我正在配置一项仅作用于局域网的服务。

    目前所有的服务都配置完成,但是在 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 条回复    2023-11-27 21:46:56 +08:00
    geyee
        1
    geyee  
       152 天前 via Android
    Windows 下 nslookup kit1.local 的结果在有无外网的情况时,估计有所不同,以及 wireshark 抓包看看。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1003 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:57 · PVG 02:57 · LAX 11:57 · JFK 14:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.