如何让一系列基于IP的设备共享同一个LAN IP地址?

如何让一系列基于IP的设备共享同一个LAN IP地址?

我有一台设备(WS-A),其中有嵌入式网络和电子邮件服务器,可以接收端口 80 流量并发送端口 80 和端口 25 流量。

目前,WS-A 位于现有路由器 (Rtr-A) 的 LAN 端,其固定 LAN IP 分配为 192.168.1.195。我无法访问此路由器,也无法更改其设置。它目前设置为将端口 80 入站流量转发到 192.168.1.195,并允许端口 80 和 25 上的出站流量来自 192.168.1.195。

我远程连接(端口 80)来更改设置,设备也会根据需要连接到其他 URL 来获取固件更新。

我想进行扩展,以便第二台设备(也具有网络和电子邮件服务器,=WS-B)现在可以通过 192.168.1.195 发送。

另一个路由器可以做到这一点吗?我当时想在 Rtr-A 和 WS-A 之间放置第二个路由器 (=Rtr-B),并将 Rtr-B 的 WAN 地址指定为 192.168.1.95。然后在路由器 B 的 LAN 端使用 192.168.0.xxx 范围内的 IP 地址,关闭 DHCP 并静态地将 192.168.0.xxx 地址分配给下游设备。这可行吗?澄清一下,WS-A 现在有 192.168.0.100,WS-B 可能有 192.168.0.101。

当我尝试从互联网访问 WS-A 的 Web 服务器时,就会出现问题。我们是否在 Rtr-B 上设置端口转发,以便端口 80 流量转到原始 Web 服务器的 192.168.0.100:80 (WS-A) 地址?这似乎合乎逻辑。但我们如何访问 WS-B 上的其他 Web 服务器?它使用端口 80,并且无法更改。

希望这已经很清楚了。欢迎提出任何想法和更正。

答案1

是的,您说的没错。第二个路由器使用 NAT 在其后面的私有网络 (192.168.xx) 上连接多台机器,解决了您的第一个问题。

为使事情顺利进行,路由器所需的功能是负载平衡。

答案2

您所描述的称为反向代理:外部有一个地址,内部有多个地址。

使用 Squid 等进行设置有些棘手,但您应该能够在网上找到一些示例。请注意,反向代理仅适用于 http (>=1.0) 并使用 DNS 名称。

答案3

@TurboJ:感谢您的想法,Turbo J。

后来我想出了另一个解决方案,它可能会解决所有问题,它基于 @BrianRoach 的想法,同时消除了对 PC 的需求:在 Rtr-2 上安装 dd-wrt,并在路由器上的 USB 拇指驱动器上加载 lighttpd。然后,当我完成激活它时(因为路由器是一个 Linux 机器),我可以使用专门形成的 URL 来访问每件设备。例如(从 Rtr-1 进行端口转发后)http://192.168.1.195/EQ1/.... 转到第一件设备等。lighttpd 将在转发到目标设备的网络服务器之前从 URL 中删除 /EQ1。

相关内容