我从研究中得知,.local 域被认为是一个非常糟糕的主意。
然而,我正在尝试使用两种不同的天文学应用程序,设计为在 Raspberry Pi 上运行,其中所述说明表明应通过 .local 地址连接到在 Pi 上运行的系统。这些应用程序的目的是远程控制望远镜和相关设备,最终无需通过目镜观察所指向的天文物体。我不知道为什么这些系统的开发人员会选择这种连接方法。我只是想办法处理它。
两者的说明均表示,您应该将计算机指向 Pi 上运行的系统的 WiFi 热点(两个系统都有热点),然后通过. 。。.本地地址。这适用于两个系统(我可以通过更换 microSD 卡在系统之间切换)。有趣的是,在一个系统上,我发现无论我是否将计算机指向 Pi 热点,我都可以连接到它。另一方面,只有当我将计算机指向热点时才能连接。
我只是想了解这一切是如何工作的,特别是在一种情况下,我如何能够在不连接到热点的情况下访问 .local 地址,而在其他系统中,这是不可能的。
对于理解这一切的任何帮助,我将不胜感激。
不,那不是真的。如果您使用的是 FQDN(完全限定域名),例如 .com、.net 等,则确实如此,但.local是所谓的“特殊用途域名 (SUDN)”,并且永远不会指定为 FQDN。IOW,使用.local是安全的。
Raspberry Pi 使用一个名为
avahi
mDNS (多播DNS)客户端的程序。顾名思义,mDNS是 DNS 的一种形式,它利用客户端之间的多播将主机名解析为 IP 地址。只要您正确配置了
hostname
(/etc/hostname
) 文件,通常无需avahi
在 RPi 上进行配置。但是,请随时仔细阅读/etc/avahi/avahi-daemon.conf
并参考man 5 avahi-daemon.conf
详细信息和选项。您可以使用以下命令检查avahi
from的状态: 。systemd
service avahi-daemon status
换句话说,在文件中为每个 RPi 声明唯一的主机名
/etc/hostname
,并且avahi
应该(短暂的一段时间后)解析yourhostname .local。我不太清楚您关于“...更换 microSD 卡”的评论,但您不需要为两个不同的 RPi 执行此操作。