我在这个问题上困惑了一段时间:我的局域网上有几台树莓派,它们都具有由 MAC 地址解析提供的 DHCP IP 地址。我通过几种协议使用它们:SSH、TCP。我的 ISP 提供动态地址,但我有一个动态 DNS 系统,允许我毫无问题地将 home.mydomain.com 解析到路由器。我获得了对我的 DNS 区域的完全访问权限。
如何使 mi raspberrys 可以通过互联网通过域名(即 module1.home.devgiants.fr)完全访问,而无需为所有协议设置 NAT?我读过有关 dnsmasq 的资料,但它们全都谈到了本地解析。我怎样才能同时拥有互联网和本地解析?我的 LAN 上有一个 openWRT 路由器,因此如果需要,它可以充当本地 DNS 服务器角色。
答案1
如果您在问题中提供的提示有任何可取之处,那么您就无法“针对一般的互联网”执行此操作 - 这里的假设是您只有一个“真实世界”的 IP 地址 - 正如您的建议所暗示的那样,您有一个动态 IP 地址,并且命名暗示了家庭网络连接。
然而,你可以为自己或选定的一群人实现这一目标。
问题在于 - 它似乎混淆了两个完全独立的系统 - NAT - 允许您在多个设备和 DNS 之间共享单个 IP 地址,除其他外,它允许您将主机名转换为 IP 地址(但与 NAT 无关)。
只要您有一个 IP 地址,您就无法使用路由器将所有设备直接暴露到更广泛的互联网,而无需使用 NAT 将每个设备上的服务映射到不同的端口。
通过在路由器(或同等设备)上设置 OpenVPN 服务器,您可以部分解决您的问题。远程系统将需要连接到 VPN 服务器的 VPN 客户端。如果您使用 OpenVPN,则需要将服务器配置为 TAP 设备或 TUN 设备,为您的 LAN 注入路由(后者可以让您更好地控制)
然后,您只需将每个 PI 的内部 IP 地址添加到 devgiants.com 的区域文件即可轻松处理 DNS(无需使用 dnsmasq)- 即使您指向的记录是内部/非路由 IP 地址,DNS 服务器也不会在意,无论如何都会提供答案。由于您有 VPN,您的服务器将能够找到内部 IP 地址。