为什么只有 IPv6 autoconf 服务从 wlan 中列出

为什么只有 IPv6 autoconf 服务从 wlan 中列出

我已经在连接到路由器 LAN 的服务器上安装了 squid-deb-proxy。

如果我从直接连接到 LAN 的笔记本电脑浏览可用的零配置服务,我会看到 IP4 和 IP6 squid-deb-proxy 的广告:

$ avahi-browse -a
...
+   eth0 IPv6 Squid deb proxy on mythbox                    _apt_proxy._tcp      local
+   eth0 IPv4 Squid deb proxy on mythbox                    _apt_proxy._tcp      local

但如果我断开笔记本电脑并通过 WLAN 重试,我只会看到 IPv6 服务:

$ avahi-browse -a
...
+  wlan0 IPv6 Squid deb proxy on mythbox                    _apt_proxy._tcp      local

我仍然可以 ping 通 IP4 地址,没有任何问题,这似乎只是 mdns 的问题?此外,服务器(在 LAN 上)可以看到其他(WLAN)机器的所有 IP4 mdns 条目。为什么我只能看到来自 WLAN 的 IPv6 服务?

答案1

我发现这种情况发生是因为我的笔记本电脑上有 iptables 防火墙阻止了 UDP 端口 5353。这阻止了 IPv4 地址的传入 mDNS 注册广播(通常仅通过 IPv4 传输)到达我的计算机avahi-daemon并在缓存中注册。

我没有配置ip6tables,因此携带 IPv6 地址的 IPv6 数据包不会被阻止,而是到达avahi-daemon并存储在缓存中。所以我可以在缓存中看到它们,但看不到 IPv4 地址。

相关内容