RPi 的动态 DNS -> Airport Extreme(DHCP)-> 电缆调制解调器(DHCP)-> Interwebs

RPi 的动态 DNS -> Airport Extreme(DHCP)-> 电缆调制解调器(DHCP)-> Interwebs

我有一台 Raspberry Pi,它通过 DHCP 连接到我的 Airport Extreme。Airport 连接到我的有线调制解调器,它通过来自 Comcast 的 DHCP 获取 IP 地址。我希望能够通过我注册的域名从远程位置寻址 RPi。我知道我会使用动态 DNS 来做到这一点,但我不确定如何处理多层 DHCP。

答案1

如果电缆调制解调器是简单调制解调器,则唯一有用的地址是从 Comcast 获得的外部地址。这是世界其他地方可以看到的地址。

连接到 Pi 的任何人仍然只能看到一个地址,因此您需要一个可以执行网络地址转换 (NAT) 的设备。

简单的调制解调器无法做到这一点,但如果“调制解调器”实际上是一个路由器,那么它的配置网站上会有一个或多个页面用于设置“虚拟服务器”、NAT 和端口转发等内容(名称根据制造商的不同而变化)。

如果调制解调器不这样做,也许机场会这样做。无论哪种方式,最简单的配置是确保调制解调器的内部地址和机场提供的内部地址在同一范围内。因此,如果调制解调器提供内部地址(例如 192.168.1.x),网络掩码为 255.255.255.0(这是相当典型的),请确保机场提供的 DHCP 地址在同一组 255 个地址中。只要确保它们不重叠即可。您还需要将 Pi 的地址配置为固定地址。好的路由器(例如我的 Billion 7800N)可以使用 DHCP 做到这一点,使用廉价路由器,您需要为 Pi 提供一个不会与 DHCP 地址冲突的固定地址。

例如,在家里,我有一个路由器,它既能提供有线网络,又能提供无线网络,还有一个 Wi-Fi 接入点,它能提供第二个无线网络。我已将路由器的 DHCP 设置为提供 192.168.1.100 - .150,将 Wi-Fi 接入点设置为提供 192.168.1.151 - .199,两者的网络掩码均为 255.255.255.0,这样内部网络上的任何设备都可以路由到任何其他设备。我有许多设备可以充当服务器,并根据它们的 MAC 地址获得固定的 DHCP 地址。

当你整理好这些之后,配置“调制解调器”,假设它真的是一个路由器(否则你必须尝试让 Airport 这样做或者将 PC 配置为路由器)以将请求转发到你的外部 IP 地址和方便的端口(例如 8080)到你想要访问的 Pi 服务的内部地址和端口(例如 SSH 的端口 22)。

但是,还有一个问题。康卡斯特实际上可能并没有为您提供固定的外部 IP 地址!如果是这样,那么您就需要设置动态 DNS 转发器。现在大多数不错的路由器都内置了此功能。您可以设置从路由器到所选动态 DNS 服务的连接,当您的外部 IP 地址发生变化时,路由器会更新该服务。

要将您购买的域名配置为使用动态寻址,您无需像平常一样将域名指向 IP 地址,而是将其指向动态 DNS 服务提供的地址。您的 DNS 服务提供商应该有详细信息。


哇,这真是一个漫无目的的回答!希望它能让人理解。最重要的是,如果你有一个不错的路由器,为路由器和 Wi-Fi 使用一致的内部 IP 地址范围,并注册动态 DNS 服务(如 NoIP 或 Dyndns 等),那么这相当容易做到。

相关内容