如何(以及为什么)将.local域分配给您的树莓PI

如果您厌倦了在家庭网络上查找经常通过远程登录、SSH和其他方式访问的设备的IP地址,则可以通过为设备分配一个易于记忆的本地地址来节省大量时间。请继续阅读我们的演示,为我们的覆盆子PI指定一个容易记住的名称。

我为什么要这么做?

您的家庭网络最有可能使用DHCP IP分配,这意味着每次设备离开网络并返回时,都会为其分配一个新的IP地址。即使您为经常使用的设备设置了静态IP(例如,您将Raspberry PI框设置为始终分配给号码192.168.1.99),您仍必须将这个完全不直观的数字存储在内存中。此外,如果您因为任何原因需要更改号码,您将不得不记住一个全新的号码来代替它。

这样做不是世界末日,但很不方便。既然可以为您提供易于记住的本地设备名称(如raspbercrypi.local或mediaserver.local),为什么还要费心记住IP字符串呢?

现在,你们中的一些人(特别是那些对DNS、域名和其他网络地址结构有更深入了解的人)可能会想知道陷阱是什么。仅仅将域名添加到您现有的网络中不存在固有的风险或问题吗?这里要注意的是,完全限定域名(FQDN)和域名之间有很大的区别,完全限定域名(FQDN)是官方认可的顶级域名的后缀(例如,www.howtogeek的.com部分表示How-to Geek是一个商业网站),而域名要么不被全球命名/DNS系统识别,要么完全保留供专用网络使用。

例如,在撰写本文时,.Internal不是FQDN;世界上任何地方都没有以.Internal结尾的注册域,因此,如果您将您的专用网络配置为使用.Internal作为本地地址,则不会发生DNS冲突。然而,如果.Internal成为官方的FQDN,并且以.Internal结尾的地址可以通过公共DNS服务器进行外部解析,那么这种情况在未来可能会改变(尽管可能性很小)。

相反,.local域已被正式保留为专门用于内部网络的特殊用途域名(SUDN)。它永远不会配置为FQDN,因此您的自定义本地名称永远不会与现有的外部地址冲突(例如,howtoek.local)。

我需要什么?

使整个本地DNS解析系统正常工作的秘诀是组播域名服务(MDNS)。令人困惑的是,实际上到处都是mDNS的两种实现,一种是苹果的,另一种是微软的。苹果公司创建的mDNS实现是其广受欢迎的Bonjour本地网络发现服务的基础。Microsoft的实施称为链路本地组播名称解析(LLMNR)。微软的实现从未被广泛采用,这是因为它未能遵守各种标准,而且存在与哪些域可以捕获以供本地使用相关的安全风险。

由于Apple的mDNS实现Bonjour拥有更广泛的采用率、更好的支持以及适用于大大小小平台的大量应用程序,因此我们选择在本教程中使用它。

如果您的网络上有运行Apple OS X的计算机,除了按照教程在Raspberry PI(或其他Linux设备)方面进行设置之外,您不需要做任何事情。“你已经准备好了,因为你的电脑已经支持它了。

如果你运行的是一台没有安装iTunes的Windows机器(它会安装一个用于mDNS解析的配套Bonjour客户端),你可以通过在这里下载苹果的Bonjour打印机服务助手应用程序来解决缺乏本地mDNS支持的问题。虽然下载页面让它听起来像是一个仅限打印机的工具,但它有效地为Windows增加了对mDNS/Bonjour的全面支持。

在您的树莓PI上安装Bonjour支持

第一个任务是在您的PI上启动终端,或者通过SSH连接到远程终端(如果您有一台无头机器)。到达终端后,花点时间更新和升级apt-get。(注意:如果您最近刚刚在我们的另一个Raspberry Pi教程中这样做,请随意跳过此步骤。)

更新/升级过程完成后,就可以安装Avahi了--这是一个非常棒的小型开源mDNS实现。在提示符下输入以下命令:

一旦安装过程完成,您甚至不必重新启动设备。您的Raspberry PI将立即开始识别其主机名(默认情况下为“raspbercrypi”)在raspberypi.local的本地网络查询。

我们在此测试中使用的特定机器与我们将其转换为环境天气指示器的Raspberry PI相同,然后更改了本地主机名,因此当我们查找新创建的.local地址时,我们将查找weatherstation.local而不是raspberypi.local。

再次强调,.local后缀之前的部分始终是设备的主机名。例如,如果希望您的Raspberry PI音乐流具有本地名称jukebox.local,则需要按照以下说明更改PI的主机名。

继续并ping您希望从现在开始访问设备的计算机上的新.local地址:

成功!weatherstation.local解析为192.168.1.100,这是本地网络中设备的实际IP地址。从现在开始,以前需要Raspberry PI的IP地址的任何应用程序或服务现在都可以使用.local地址。

相关文章