我正在阅读以下步骤: 我如何才能发现局域网上所有机器的主机名?。
然而,当我尝试该命令时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 的一项隐私功能。我想这就像为什么有些蓝牙设备不会让自己“被发现”一样。
我希望这有帮助。