我有一个带有 Avahi 0.6.31 的 FreeBSD 10.3 盒子,它对我网络上的其他机器可见,但它本身无法解析域中的任何名称.local
。也就是说,所有其他机器都出现在avahi-browse
和中avahi-resolve-host-name
,但getent hosts <hostname>
没有返回任何内容。
我在同一网络上还有另外两个盒子:一个是带有 Avahi 0.6.31 的 Ubuntu 14.04,另一个是带有 mDNSResponder 的 OSX 10.4,这两个盒子都可以解析 FreeBSD 盒子。
两台 Avahi 机器都有相同的avahi-daemon.conf
文件,并且每台机器都nsswitch.conf
包含以下行
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
我错过了什么?
答案1
在我的笔记本电脑上运行了几个月之后,我意识到问题出在防火墙上……那是在 Linux 上,但我可以想象在任何 BSD 上都会发生同样的事情。
因为我有时将其连接到conf网络,所以使用防火墙规则似乎是明智的。但如果他们阻止 5353/udp 数据包,那么当我在家时,mDNS 将无法工作。
不知道这是否是您 4-5 年前的问题,但是......这个结果在“avahi sees no Hosts”中显示得很高。希望我的评论有一天能对某人有所帮助。
答案2
这并不是一个真正的解决方案,但是在忽略这个问题 5 年之后,我升级到 FreeBSD 11.4 并从包中重新安装了 avahi 0.8,问题就消失了。我想这可能是 avahi 0.6 的 FreeBSD 端口中的一个错误。