如何让我的路由器正确转发端口?

如何让我的路由器正确转发端口?

我的网络目前如下所示(简化):

在此处输入图片描述

请注意,路由器 #2 连接到路由器 #1 的 LAN 接口。对于见过住宅或其他小型建筑的标准静态 IP 设置和附加防火墙的人来说,这应该很熟悉。路由器 #1 实际上是我的有线网关,但由于它是一个功能齐全的路由器/防火墙,所以我将其称为路由器。

现在,我需要在两个防火墙中打开各种端口,以便传入到我的服务器的通信 - 端口 80 就是一个很好的例子。因此,我在路由器 #2 中打开了端口 80,到目前为止,公共 IP XXX129 上的所有传入流量都已正确路由。

问题是,我还需要我的服务器响应路由器 #1 的 WAN 接口上的公共 IP XXX130 的传入流量。当然,我不能只告诉路由器 #1 将端口 80 转发到另一个公共 IP。仅当流量被定向到 LAN 子网时才支持端口转发。

如果需要,我愿意重组我的网络拓扑,但条件如下:

Router #1 cannot have its WAN IP reassigned - X.X.X.130 is mandatory.  
Router #1 cannot be moved or disconnected from the cloud.  
The server cannot be given a second IP address.  
I would prefer the server to have a private IP address - e.g. 10.0.0.10  
I'd like to keep Router #2, but it can have a private IP - e.g. 10.0.1.10

按照这些规则,我需要让我的服务器从两个公共 IP 地址接收端口 80 上的传入流量。SU 上有谁知道这是否可行?到目前为止,我唯一的理论是在任一路由器上设置静态路由,或者以某种方式将我的两个子网合并为一个子网。

编辑:
我修改了我的图表以描述 Fred 的解决方案。考虑到我必须在某些方面做出妥协,我认为最小、最简单的妥协将是最有效的。虽然为我的服务器提供两个 IP 地址肯定会使服务器配置复杂化,但由此产生的网络拓扑简单性将是一个相当公平的权衡。

在此处输入图片描述

此解决方案将允许两个公共 IP 地址保持公开可见,同时允许两个路由器将端口直接转发到我的服务器的本地 IP 地址。此外,我的网络上连接到路由器 #2 的所有内容都将能够访问路由器 #1 的子网,因此服务器也将保持从两个本地 IP 地址的本地可见性(除了路由器 #2 和服务器之外,没有其他任何东西连接到路由器 #1)。

我的服务器主板确实有一个集成的千兆双网卡,所以我的硬件可以毫无问题地处理这个问题。我今天将尝试配置我的服务器以响应两个网卡,然后我们将看看接下来会发生什么 - 但目前我预计不会出现任何更好的解决方案,并且这种妥协造成的任何进一步的问题很可能在出现时得到解决。当然,如果上述网络布局有任何错误,请告诉我。

非常感谢大家!

答案1

保留上述设置,但要在路由器 1 的 DMZ 中放置一个新的第三防火墙路由器,并将 .130 流量导向放置路由器 3 的 DMZ。然后,路由器 3 将传入流量转发到 10.0.0.10 地址。这里的关键是服务器的“只有一个 IP”要求。如果服务器上没有该路径(通过路由器 3 的流量)的不同 IP,您将无法通过路由器 3 发送数据包。服务器的路由表将为单个分配的 IP 提供单个默认网关,因此无论流量以哪种方式到达(通过路由器 2 或路由器 3),响应都将从默认网关发出,因此将被转换为该路由器的公共 IP。也许 UDP 可以工作(流量去往 .130 并从 .129 返回),但我认为 TCP 无法在未通过服务器网关路由的 IP 上成功建立连接。我建议您认真考虑“仅有一个 IP”的要求,因为允许 2 个 IP 会使事情变得简单得多。

答案2

好的,假设您的两个路由器都启用了 NAT,您当前的设置将无法工作。您将遇到的问题是您的第二个 IP 地址 (1.129) 不公开可见,因此永远无法从您的网络外部访问。互联网将看到的唯一 IP 是路由器 #1 的 IP (1.130)。

如果您希望两个 IP 地址都公开,则需要在路由器 #1 前面放置一个交换机,将路由器 #1 和路由器 #2 都连接到公共互联网。

答案3

通过禁用 DHCP 服务器(如果正在运行)并将从路由器 1 到路由器 2 的电缆插入第二台路由器的 LAN 端口之一,将第二台路由器设置为交换机而不是路由器。您可能还需要将路由器 2 设置为 10.0.1.x 子网上未使用的静态 IP,并将服务器也移动到 10.0.1.x 子网。然后清除路由器 2 的端口转发设置并告诉路由器 1 转发到服务器的新 10.0.1.x IP,这样就没问题了。

相关内容