NAPT 会在另一个 NAPT 之后起作用吗?

网络工程 纳特
2022-02-15 21:35:04

据我了解,NAPT 采用一个外部 IP 地址,并通过将其与端口耦合,将其转换为需要 Internet 访问的客户端的一些固定数量的内部/不可路由 IP 地址。

假设,一个外部 NAPT,NAPTa,通过一个 IP 地址连接到一个 ISP。NAPTa 将为所有需要互联网连接的客户端提供地址:端口映射。

另一个 NAPT NAPTb 是否可以充当 NAPTa 的客户端之一,并将 NAPTa 上的一个端口作为其一个外部 IP 地址,并创建类似地址:端口:端口 b 映射到所有 NAPTb 的客户端?

1个回答

这是完全可行的。

假设您有一个互联网地址,让我们假装它是...... 8.8.8.8,只是为了拥有一些东西。(我知道,其实是google的地址……)

您可以拥有一个 NAT 路由器 A,它将此 8.8.8.8 地址作为其唯一的外部地址,以及一个使用 NAT 通过外部 8.8.8.8 接口访问互联网的内部网络 10.0.0.0/8。

在该 10.0.0.0/8 网络上,您可以拥有一个 NAT 路由器 B,该路由器 B 具有该 10.0.0.0/8 网络中的外部 IP 地址(例如 10.1.1.1)和 192.168.1.0/24 的内部子网。

连接到该 192.168.1.0 子网(例如,IP 为 192.168.1.33)的客户端 PC 可以通过两个 NAT 路由器进行通信以连接到 Internet 上的站点。

--

在主机服务器上创建虚拟机时,网络连接的一种选择是让它们(虚拟机)使用虚拟主机服务器作为 NAT 路由器连接到本地网络(以及世界其他地方)。在这种情况下,VM 永远不会直接与其主机服务器之外的网络进行通信。

如果托管虚拟机的物理服务器本身位于通过 NAT 路由器访问互联网的 NATed 网络内,那么托管在该服务器上的虚拟机实际上是通过两个 NAT 路由器与互联网通信。

--

当然,在多层 NAT 路由器后面有许多客户端,您最终会用完与 Internet 连接的 NAT 路由器上的端口。不过那是另一回事了。

(我现在没有时间,但是我有一个连接到互联网的 NAT 路由器和一些其他路由器可以玩,所以我应该在下周内亲自尝试一下,然后才能看到它的实际效果:- ))。