我正在另一个网络中设置一个网络。要使端口转发正常工作,是否需要在两个网络上都打开端口?

我正在另一个网络中设置一个网络。要使端口转发正常工作,是否需要在两个网络上都打开端口?

我在将 Nintendo Switch 连接到 Eero 网络时遇到了 NAT 类型的问题,因此我打算购买一台更适合此类 WiFi 使用的路由器。我正在考虑使用此路由器在我的 Eero 网络内创建一个网络。但是,如果我购买的路由器上需要打开某些端口才能使 Switch 正常运行,那么 Eero 上是否也需要打开这些端口?

答案1

您所描述的情况称为双 NAT 场景。有时这种情况很难处理(例如当您的 ISP/运营商实施NAT 上行,并为您分配一个不直接映射到公共 IP 的私有 IP),但由于您拥有您和您的公共网关之间的所有路由器的管理员权限,因此您应该能够使其工作。

一般来说,服务的可达性依赖于三个 P:进程(侦听传入连接)、端口(由进程打开)以及客户端与该端口上的服务主机(以及进程)之间的路径。在这种情况下,我们担心的是路径。

转发公共网关路由器(具有公共 IP 的路由器)上的端口足以让流量进入您的 LAN,但由于您有多个子网(并且需要使用 NAT 的内部路由),因此您必须在公共网关和托管服务的设备之间的路径上的每个路由器上转发端口。 在您的情况下,这意味着在网关上转发端口,并在公共 IP 和服务主机之间的路径上的内部路由器上转发端口。

Public IP:port -> Gateway Router:port -> Interior Router:Port -> Service host device 

根据您的具体情况,还有几种备选方案。

  1. 将内部路由器置于桥接/AP 模式,并禁用其 DHCP 服务器。这将使路由器仅充当交换机/AP,并且它将与网关网络位于同一子网中。如果您有此选项,从技术上讲它是最简单的,尽管它与您当前的网络配置不同,并且可能需要额外的调整。

  2. 将网关路由器置于桥接模式。这将导致您的外部子网不复存在,您将专门使用内部路由器作为公共网关。这在技术上也很简单,但您无法再使用最外层路由器上的端口,因为它不再承载内部子网。我个人会将自己的路由器放在 ISP 拥有的设备和我自己的之间,但这再次偏离了您当前的网络拓扑,并且可能比转发端口或上面的 #1 更麻烦。

  3. 使用提供以下选项的服务反向隧道。这可能相当复杂,但适用于大多数场景,包括 CG-NAT 或超出您控制范围的状态防火墙(至少在大多数情况下;这是他们的网络,如果他们真的不想让您做某事,您的选择就是更换运营商)。

相关内容