![尽管 mDNS 正在运行,avahi-browse 仍无法找到所有本地计算机](https://linux22.com/image/1193288/%E5%B0%BD%E7%AE%A1%20mDNS%20%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%EF%BC%8Cavahi-browse%20%E4%BB%8D%E6%97%A0%E6%B3%95%E6%89%BE%E5%88%B0%E6%89%80%E6%9C%89%E6%9C%AC%E5%9C%B0%E8%AE%A1%E7%AE%97%E6%9C%BA.png)
我正在阅读以下步骤: 我如何才能发现局域网上所有机器的主机名?。
然而,当我尝试该命令时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 的一项隐私功能。我想这就像为什么有些蓝牙设备不会让自己“被发现”一样。
我希望这有帮助。