家中多个设备、多个路由器的 IP 地址分配和配置

家中多个设备、多个路由器的 IP 地址分配和配置

由于各种原因,我家里有 3 个 WiFi 宽带路由器(或者说是我的个人业余黑客实验室)。在 WAN 端,一个是 FTTH,另一个是 ADSL,第三个是 4G-LTE。在 WLAN 端,它们被分配了 192.1.xx、192.2.xx、192.3.xx 子网,并且所有子网都配置为在 192.x.1.0 - 192.x.200.0 范围内为请求设备分配 DHCP IP 地址,192.x.200.0 范围以上的 IP 地址保留用于静态 IP 地址。

家庭(就像现在的许多人一样)有六部 Android 手机/平板电脑和几台 PC。所有设备都使用 DHCP 分配 IP 地址。但是,正如人们所想象的那样,设备可能连接到 3 个 WiFi 路由器中的任何一个,因此可能具有任何 IP 地址(在 192.x.1 ~ 192.x.200 范围内,其中 x = 1、2、3)。

我正在尝试开发一个 Android 应用程序,该应用程序需要使用 TCP/IP 与特定服务器通信。该服务器是一个 Linux 应用程序,在 Windows 10 笔记本电脑上的虚拟机(Ubuntu 32 位客户机,在 VMWare Workstation Pro 14 虚拟机管理程序上运行)内运行。笔记本电脑还动态分配了 IP 地址(DHCP)。Linux 虚拟机使用 NAT 模式虚拟 NIC。

下面是一个解释该设置的图表: 在此处输入图片描述

问题是由于使用动态 IP 和显式 IP 地址(私有类,因此无法通过 DNS 管理),我不得不频繁地在 Android 客户端应用程序中重新配置服务器 IP 地址。一个简单的解决方案是切换到使用静态 IP 作为服务器——但是,我想知道是否有任何简单而优雅的替代方法?

答案1

尝试 DHCP 预留,前提是您的路由器固件支持它。对于 DHCPv4,您只需要一个 MAC 地址和所需的 IP 地址;预留可确保 DHCP 始终将预留的 IP 地址租给具有给定 MAC 地址的设备。

客户端将始终获得相同的地址,但请注意,它们仍然是 DHCP 客户端。如果 DHCP 离线时间超过 DHCP 的租约期限,它们将丢失该地址并恢复为 APIPA 地址。此外,需要静态 IP 地址的应用程序可能不满足于预留,因为 IP 地址仍处于租约状态(例如 ADDS)。

希望有所帮助。

答案2

这个问题分为两部分。第一部分是如何处理 3 个 WAN 连接,第二部分是如何查找分配的 IP 地址。

第二部分其实并不难:你应该为整个家庭设置一个 LAN 段,必要时使用路由器作为 Wifi 中继器。在该 LAN 段上,你需要一个 DHCP 服务器和一个 DNS 服务器。DHCP 服务器会记住 DHCP 请求中的客户端名称,并将它们提供给 DNS 服务器(或者你可以根据 MA​​C 地址分配名称)。

这样,您将能够通过名称访问家庭网络中的所有设备。有些路由器默认提供此类功能。

困难的部分是 3 个 WAN 连接。传统的 IP 协议不允许多宿主,因此您无法同时使用多个互联网连接。我不知道为什么您有 3 个 WAN 连接,也许您想要某种故障转移方案,或者您可能想要根据客户端设备来决定。

如果您不想要统一的解决方案,并且坚持使用 3 个路由器来管理 3 个子网,那么您仍然可以尝试为所有三个子网设置一个 DNS 服务器,但向该 DNS 服务器提供当前信息将更加困难。

分配静态 IP 当然也是一种解决方案,不过每次发生更改时你都必须编辑配置文件,这可能很麻烦。所以我更喜欢统一的集中解决方案。

相关内容