我对dynamicDNS并不是很熟悉,并且很好奇我是否可以把它用于某个用例。
我有几个树莓派,我正在设置嘲笑服务器设置的应用程序,我们在较小规模的较大的设置使用。 他们有无线接入能力。 我希望能够把它们放在一个袋子里,并使用我的笔记本电脑在不同的环境中使用它们。 但是,每次在新networking上处理IP和地址与它们进行通信将是非常烦人的(必须改变所有应用/configuration所指的端点)。
我可以有正常的DNSlogging指向内部IP,他们在专用networking上工作很好。 但是,这对于改变IP来说并不理想。 我可以使用dynamicDNS将DNSloggingparsing为内部地址吗? (这样连接到一个新的无线networking,所有的查询都可以在一切连接完成之后运行,而不必与路由器,自定义dns服务器等进行连接)
最初的研究表明,dynamicDNS通常会parsing为外部IP,而在这种情况下,我希望自动parsing为每个客户端的特定接口(例如Eth0)获得的地址。
最简单的方法是使用mDNS在同一子网中的机器之间进行“临时”DNSparsing。 这基本上就像安装avahi-daemon和libnss-mdns (Debian软件包名称;根据需要进行调整)一样简单,并确保防火墙不会阻止5353/udp 。 这将覆盖正向和反向DNS条目,并为本地子网上的所有其他计算机创build<hostname>.localforms的可parsing名称。
如果您需要在本地多播域之外提供命名,则可能需要在Internet上的某个位置设置DNS服务器,该服务器接受TSIGauthentication的UPDATE查询,然后configuration您的客户端机器使用nsupdate (或其他等同手段)。
如果通过“dynamicDNS”指的是dyn.com或noip.com等公共DynDNS服务之一,则不可以将这些指向私有IP地址。 这是因为,通过devise,这些服务将他们的Alogging指向他们在您的注册或更新请求中看到的源IP地址,其定义是您的公开地址。
但是,您可以在本地networking中设置您自己的dynamicDNS服务,从而查看内部IP地址。 从传统的DHCP发送更新到DNS服务器到在本地安装类似dyn.com的服务,有很多方法可以实现这一点。 select取决于你想要使用你的Pi-s人群的“各种设置”的确切性质。
请注意,您可能会遇到Pi-s如何find要注册的dynamicDNS服务的引导问题。 这可以通过使用诸如DHCP或mDNS的基于广播的技术来解决,或者通过将服务放置在因特网上的公共位置并将其设置为使得它接收到在更新请求的有效载荷中注册的IP地址而不是从其源IP地址。
如果您不需要在这样的新networking中与其他设备进行通信,则非常简单。 只要给每个Pi一个静态IP,并相应地维护/ etc / hosts。 然后他们可以在什么样的环境中彼此碰面(只要他们连接在一起)。 但是您必须考虑到您需要另一个子网,然后连接到您的networking,否则您可能会遇到IP地址冲突。
如果您需要与位于另一子网中的其他设备进行通信,则有几个选项。 首先你需要和上面一样。 要确定最好的一个,有必要知道你的应用程序和用例更具体。
您可以将一个Pi设置为路由器,在两个子网之间进行路由。 (优点:不是很复杂,相反:你想与每个设备沟通将需要一个路由为您的子网)
configuration你的pis,他们另外有一个来自该子网中的DHCP服务器的IP,然后使用ddns-client来调整你的ddns服务器 (它运行在你的一个pis上,并被configuration成你的子网的DNS服务器)。 所以你最初的沟通来configuration你的ddns将通过你自己的子网。 并进一步沟通新的子网你的英寸(亲:更灵活,骗局:更复杂,因此更errorprone)
我想还有其他的select和可能性,但那是我想到的。
对于未来的观众
MDNS能够解决这个问题,但是需要一些额外的安装来支持那些并不理想的windows。 dynamicDNS实际上结束了工作。
使用DDClient的接口设置为wlan0而不是IP检查外部网站,导致客户端将更新的私有地址拉到dynamicDNS提供商,并且工作得很好。