如何对 Linux 计算机进行端口转发?

如何对 Linux 计算机进行端口转发?

很长一段时间以来,我都尝试使用网络端口转发。但始终无法奏效。 是我尝试端口转发 SMB 驱动器时输入的内容。外部和内部端口 445 和 192.168.1.103(我的服务器本地地址)。此外,我还使用了 TCP 和 UDP 协议。

我尝试了端口转发,甚至可以与 SMB、FTP 或 Apache 服务器配合使用。我的路由器连接到宽带提供商的路由器,因此它就像一个扩展器。

我的互联网提供商是否可以禁止此功能?或者端口转发是否始终有效。

为了提供更多背景信息,我使用 Mercusys AC12G 路由器和运行 Zorin OS 15 的 Linux PC。这里是 Mercusys 提供的我的路由器环境的模拟器。

那么,如何转发我的 Linux PC 的端口?

两个路由器的 WAN 页面:

1- 路由器 WAN 页面

2- 宽带路由器 WAN 页面

3- 宽带路由器 WAN 状态页面

答案1

简而言之:

  1. 您的宽带提供商使用 CGNAT,因此您需要进行“端口转发”的最外层位置实际上超出了您的范围。请向您的 ISP 询问如何获取“静态”IP 地址。

  2. 即使 CGNAT 不是问题,你仍然需要在最外层路由器(华为)然后这些连接才能到达 Mercusys。

我的互联网提供商是否可以禁止此功能?或者端口转发是否始终有效。

请参阅上周的讨论:ISP 可以阻止端口转发吗?

简而言之,这并不是说该功能可以或不能被禁用,而是路由器甚至可能不收到您告诉它转发的数据包。

最常见的原因是还有另一层 NAT超过路由器。如果我们谈论的是与另一个“外部”家庭路由器相连的“内部”路由器,那么在内部路由器能够看到入站连接之前,需要先配置该“外部”路由器的端口转发。

如果我们谈论的是外层路由器,那么 ISP 级别的 NAT(又称 CGNAT)也会导致同样的问题——它们可能根据要求将您移回非 CGNAT 地址,或者他们可能不会这样做。

就你的情况来说,两者都有。您访问 Internet 的途中有三层 NAT(因此需要在三个地方设置端口转发)——您的内部路由器仍然设置为执行路由和 NAT;您的外部路由器(作为 PPPoE 客户端)几乎肯定会执行路由和 NAT;并且您的 ISP 也执行 CGNAT。

(您可以通过查看华为上的“WAN IP 地址”轻松检测到 CGNAT - 它来自 100.64.0.0/10 范围,这实际上是 ISP 用于 CGNAT 的私有地址范围。)


副标题:

我的路由器连接到我的宽带提供商的路由器,所以它就像一个扩展器。

问题在于它是否真的“像一个扩展器”(即网桥又称接入点),或者它是否仍在执行路由器的原始工作。

  • 如果 Mercusys 路由器确实处于桥接/扩展器/接入点模式,那么它就不会创建网络边界,因此在其上配置的端口转发规则将是不相关的(端口转发规则仅在发生路由和 NAT 时才是必要的,因此在您的情况下,这将是 ISP 提供的华为路由器。)

  • 然而,根据模拟器,你的 Mercusys 实际上并没有这种模式。通常,当你将一个路由器链接到另一个路由器时,它没有自动开始“像扩展器一样”工作 - 您仍然拥有一个单独的“内部”网络,并且两个路由器的网络之间仍然有防火墙和 NAT。

    有些路由器有明确的配置,可以作为网桥使用,但您的路由器没有。在其他路由器中,仍可以通过不使用“WAN”端口(通常称为“LAN 到 LAN 连接”)来实现这一点,但您也没有这样做。

因此,如果两个路由器独立执行 NAT,则需要在两个都(但理想情况下,实际上将其中一个路由器配置为网桥/扩展器工作,以便完全删除不必要的 NAT 层。

答案2

针对使用 Digi Fiberlink 互联网连接的设备的解决方案。

如果您有 RCS 和 RDS 的互联网连接,则需要转到您的帐户门户。 在我的情况下,门户是数码罗

登录后,在“服务”->“Internet”菜单中选择“动态 DNS”并输入域名。就我而言,我必须在 .home.ro 和 .go.ro 域名之间进行选择。此域名将始终指向您的家用路由器的 IP。

要访问某个端口,您可以在域前加上端口号作为前缀:。

路由器的 IP 每次重启都会改变。

相关内容