如何搜索.local?

如何搜索.local?

我刚刚用 Raspbian 设置了我的新 Pi2。一切正常,我安装了 avahi,这样我就可以通过 raspberrypi.local 访问 Pi。但是,Pi 找不到我的 MacBook,这通常可以通过 mymacbook.local 进行解析。例如,这是我 ping 时得到的结果:

raspberrypi $ ping mymacbook.local
ping: unknown host mymacbook.local

相反的方法效果很好。

我需要做什么才能让 Raspbian 搜索 .local 域?

Pi 使用 DHCP 通过 WiFi (wpa_supplicant) 连接。

答案1

您想要做的是将多播 DNS 添加到 Raspbian 上的名称搜索中。

安装 libnss-mdns 软件包(即sudo apt-get install libnss-mdns:)。这将引入 Avahi 包来实现多播 DNS(用于“.local”域的名称解析)。

安装后确保 /etc/nsswitch.conf 包含以下行:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

编辑:当从 mac-->raspi 确保 Mac 可以登录到你的 Raspberry Pi 时,安装 avahi-daemon 包并添加一个文件 /etc/avahi/services/ssh.service 包含

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
  <name replace-wildcards="yes">%h</name>
  <service>
    <type>_ssh._tcp</type>
    <port>22</port>
  </service>
</service-group>

请注意,RaspberryPi 出厂时 IPv6 已关闭。如果另一台主机没有实现 IPv4 链路本地地址,那么您可能需要在 RaspberryPi 上打开 IPv6,以便在两台机器之间拥有共同的 IP 协议。您可以在 RasPi 上打开 IPv6,删除 /etc/modprobe.d/ipv6.conf 并重新启动。

答案2

使用 avahi 的命令行(在 Linux 上使用):

avahi-browse -a

使用 avahi 的 GUI:

avahi-discover

使用 MacOS 的 GUI:卓悦浏览器

笔记:这些实际上都没有搜索.local域。一般来说,浏览或枚举 DNS 域是不可能的。他们所做的就是浏览底层 Zeroconf 网络服务。

相关内容