将一个公共 ip 地址独立连接到两个具有完整端口可用性的私有 ip 网络?

网络工程 路由 纳特 设计
2021-07-25 18:10:35

我有一个公共 ip 地址,我想在两个私有网络之间共享。为此,我有第一个路由器/防火墙和第二个路由器/防火墙。

今天,第二个防火墙在其一个端口上终止公共地址,并向其中一个私有网络提供定位和过滤,我们称之为第二个私有网络。

我现在想用第一个路由器“劫持”公共 IP 地址,而第二个路由器不会注意到太多(除了可能更改第二个路由器上的默认网关 IP 地址)。也就是说,我想直接终止第一个路由器上的公共 ip 地址,然后将流量重定向到第二个路由器而不阻塞任何端口或任何东西,就好像第二个路由器直接终止公共 ip 地址一样。

然后我想使用第一个路由器也可以通过公共 IP 地址使 Internet 连接可用于另一个私有网络,让我们称其为第一个私有网络,挂在第一个路由器的以太网端口上并在那里实施防火墙,但是有可能在第一个私有网络上也可以使用来自公共 IP 地址的任何端口。

因此,作为一个例子,这种设置可能发生的一种情况是有人在第二个专用网络上设置了一个网络服务器,并配置了第二个路由器/fw 上的端口 80 到这个网络服务器的端口转发。同时,我在第一个路由器上配置了端口 80 到第一个网络上的 webhost 的端口转发。

所以,这里有一个歧义:某人连接到公共地址上的端口 80,他/她应该被定向到第一个还是第二个专用网络?

这能以某种方式解决吗?如果是这样,是否可以使用所描述的资源来完成,或者我是否需要更多的网络设备?

粗略地描述一下,我将如何实际设置它?对于任何配置示例,如果您熟悉 Vyatta/Vyos/Edgemax 路由器,我将使用它们。

2个回答

如果您只需要将 http/https 连接定向到不同的 Web 服务器,那么您需要一个反向代理

  1. 在您的网络中安装和配置您的反向代理
  2. 确保您的反向代理可以联系您所有的内部网络
  3. 将公共 80 端口重定向到反向代理
  4. 瞧,您可以从外部访问多个不同的 Web 服务器

如果您需要共享其他端口,那么您必须找到一种方法来决定每个数据包为什么必须进入哪个网络。在大多数情况下,这非常困难,需要编写自己的反向代理。

如果您有一个公共地址,您可以将一个传输协议/端口转发到一个私有地址。路由是确定性的,您希望它不是。这就像在同一个网络上有两个名称为 IP 地址的主机;任播会这样做,但它使用路由协议将流量传送到最近的(由路由协议确定的)主机。

随着公司的发展,您需要获得更多的公共地址,或者您可以使用托管服务提供商。