如何通过 Avahi 解除对 IPv4 服务发现的阻止?

如何通过 Avahi 解除对 IPv4 服务发现的阻止?

在 Debian 6.0.6 系统 (squeeze) 上,我无法使用 Avahi 和 IPv4 解析主机。以下是示例输出:

: nr@homedog 10102 ; avahi-browse -a
+   eth0 IPv6 yorkie [00:1f:3b:d8:67:1d]     Workstation          local
+   eth0 IPv6 homedog [bc:5f:f4:5a:b1:73]    Workstation          local
+   eth0 IPv4 homedog [bc:5f:f4:5a:b1:73]    Workstation          local

请注意homedog,本地计算机在 IPv6 和 IPv4 上均可见。但yorkie远程计算机仅在 IPv4 上可见。并且avahi-resolve-host-name -4 yorkie.local挂起而无结果。

编辑:情况是对称的:在 IPv4 和 IPv6 上都能看到自己,但只能在 IPv6 上yorkie看到。homedog

在 上yorkie,输出iptables -vnL

Chain INPUT (policy ACCEPT 109K packets, 98M bytes)
 pkts bytes target     prot opt in     out     source   destination     

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source   destination  

Chain OUTPUT (policy ACCEPT 108K packets, 94M bytes)
 pkts bytes target     prot opt in     out     source   destination

(为了使显示适合 StackExchange 而不换行,我对水平空间进行了一些改动。)homedog除了数字外,显示内容相同:对于所有三个,它都显示 0 个数据包和 0 个字节。(我不知道如何解释这些输出,但可能有用的是, 的yorkie当前正常运行时间为 41 天,homedog的当前正常运行时间为 6 小时。)

我发现了一个已关闭的票http://avahi.org/ticket/297,这表明问题出在某种防火墙配置上。我在这方面完全是新手,通过网络搜索,我无法了解如何使用该iptables命令来诊断或修复问题。我找到了另一张票Debian 错误 547974,但这个错误被关闭了,并没有解释如何解决这个问题。

假设服务发现包不知何故被阻止了——我不知道在哪台机器上。有人能告诉我如何发现哪台机器阻止了数据包如何重新配置​​它那么 Avahi 发现了 IPv4 地址吗?

答案1

这个问题还没有完全诊断出来,但它是两个问题的结合:

  • 在主机上yorkie,一些未知的守护进程不断安装iptables规则。我删除了规则,但最终它们又重新出现。

  • 更有害的部分:yorkie是无线连接的,并且**我的 Verizon ActionTec 路由器正在阻止 mDNS 数据包。

两个都问题已解决,avahi-browse -a按预期工作。

相关内容