尽管 mDNS 正在运行,avahi-browse 仍无法找到所有本地计算机

尽管 mDNS 正在运行,avahi-browse 仍无法找到所有本地计算机

我正在阅读以下步骤: 我如何才能发现局域网上所有机器的主机名?

然而,当我尝试该命令时avahi-browse -av -d local,它显示以下内容,尽管本地网络中连接了更多计算机(启用了 avahi)。

Server version: avahi 0.8; Host name: mycomputer.local
E Ifce Prot Name                                          Type                 Domain
+ ZZZZZZZZZ IPv4 anothercomputer1 [XX:XX:XX:XX:XX:XX]     Workstation          local
+ ZZZZZZZZZ IPv4 anothercomputer2 [XX:XX:XX:XX:XX:XX]     Workstation          local
+ ZZZZZZZZZ IPv4 anothercomputer3 [XX:XX:XX:XX:XX:XX]     Workstation          local
: Cache exhausted
: All for now

此外,我可以通过 mDNS 连接上面未显示的计算机,例如,ssh anothercomputer10.local工作。

我应该如何通过 avahi 查找所有本地计算机?

答案1

Hiro,

avahi-browse当我使用 mDNS 搜索 LAN 上的主机时,我遇到了与您相同的问题。 在我的情况下,它是运行 avahi 的 Raspberry Pi。 我可以ping raspberrypi.local成功 ping Pi。 我甚至可以使用本地域进行 ssh :。ssh [email protected]

当我最初运行 avahi-browse 时,我的网络上出现了几个不同的主机(媒体中心、电视盒等)。但不是运行 Avahi 的 Raspberry Pi。

对我来说,解决方案是在 Pi 上进行编辑avahi-daemon.conf并确保此选项设置为“是”:

[publish]
publish-workstation=yes

保存该文件后,我重新启动了 avahi 守护进程: sudo systemctl restart avahi-daemon

现在,当我avahi-browse在电脑上运行以查找 Raspberry Pi 时,我可以在结果中看到它:

E Ifce Prot Name                                          Type                 Domain
+ wlp4s0 IPv6 raspberrypi [xx:xx]               Workstation          local
+ wlp4s0 IPv4 raspberrypi [xx:xx]               Workstation          local
+ wlp4s0 IPv4 otherdevice                             Web Site             local
: Cache exhausted
: All for now

显然,将工作站标志设置为“否”是 avahi 的一项隐私功能。我想这就像为什么有些蓝牙设备不会让自己“被发现”一样。

我希望这有帮助。

相关内容