我的 Mac(OSX 10.12.3)找不到本地 Bonjour(mdns)服务 - 例如本地 Mac 电脑、Apple TV 等。
使用“Bonjour 浏览器”时(http://www.tildesoft.com/) 我可以看到:
- 来自 iCloud 空间的服务(962?????.members.btmm.icloud.com)
- 没有来自“本地”空间的服务。
使用 Wireshark 我可以看到 mdns 数据包到达 en0 接口(wifi),因此正在接收本地 mdns 数据,但由于某种原因,mDNSResponder 并未捕获它并使其在本地可用。
(注意:同一 Wi-Fi 网络上的我的 iPhone 可以看到本地服务。)
关于从哪里/如何开始解决这个问题有什么想法吗?
(更新:2 月 2 日)经过进一步挖掘,我启用了 mdnsResponder 日志记录,并在尝试解析 .local 地址时发现以下情况:
2017-02-02 11:54:10.364202+0000 localhost mDNSResponder[6047]: [com.apple.mDNSResponder.AllINFO] setsockopt - IP_MULTICAST_IF 错误 192.168.1.78 -1 errno 9 (错误的文件描述符) 2017-02-02 11:54:10.364405+0000 localhost mDNSResponder[6047]: [com.apple.mDNSResponder.AllINFO] setsockopt - IPV6_MULTICAST_IF 错误 -1 errno 0 (未定义错误: 0)
当我尝试解析 .local 地址时,我没有在其他(正在运行的)Mac 上看到这种情况。
答案1
我想我已经找到问题了。
前段时间,我安装了 TunnelBear 来试用。用过一次之后就忘了。
昨天我删除了 TunnelBear(也清除了垃圾),重启后我的 Bonjour (mdns) 现在显示本地服务。IP_MULTICAST_IF 错误不再显示在系统日志中。