如何在 Ubiquiti Edgemax 上打开端口(而不是转发端口)?

Wal*_*Cat 0 networking router firewall port-forwarding ubiquiti

我的电脑有一个 VPN 正在运行,但我有一个 SSH 隧道将端口8000上的流量转发到它的路由器 (Ubiquiti Edgemax),我可以通过它路由流量以绕过 VPN。

我有一个服务在这台机器的两个端口上运行,9001并且9002需要能够从 Internet 获取传入连接。我已经为路由器设置了类似的 SSH 隧道。

当我从互联网端口扫描路由器的 IP 时,它说这些端口已关闭。当我查找文章时,人们关心的是在我实际上走另一条路时转发端口(例如,到我的客户端机器)。我想我需要打开90019002路由器本身的防火墙。

如何在 Ubiquiti Edgemax 上为这两个端口打开防火墙?

Fra*_*mas 5

首先,一个端口是开放的,因为一个进程正在监听它,并且在客户端和服务之间有一个网络路径。

因此,除非您谈论的是托管在路由器本身上的服务,否则它无法“打开端口”。路由器可以阻止本来应该是开放端口的端口(在大多数家庭用例中这是它的工作),但除了允许路径上的流量外,它什么也做不了。

另请注意,将端口转发到在该端口上没有进程的 IP 也不会导致端口打开。使它“开放”的是那里有一个服务在监听。否则,NAT 或内部主机本身是否使端口无法访问都无关紧要;无论哪种方式,它都是封闭的,只是从不同的角度来看。

其次,人们所说的端口转发,在技术上称为DNAT。您所描述的是 DNAT 方案(与 SNAT 方案相反,您从 LAN 连接出站;SNAT 在家庭网络中并不常见,超出了有状态 NAT 的自动机制)。

因此,要使您的服务接受来自 Internet 的传入连接,您需要具备三个要素;一个进程、一个端口和一个路径。

  1. 为每个端口创建一个转发规则,接受来自 WAN 的流量,然后转发到 9001 和 9002 上的内部主机。EdgeOS 有一个相当好的界面来创建转发规则。
  2. 在防火墙中允许从 Internet 进入该端口的流量。用 EdgeOS 术语来说,在 WAN 接口上放置一个方向为“IN”的规则集和一个规则,以接受以端口为目的地的新的和已建立状态的流量。
  3. 验证服务是否正在侦听 0.0.0.0 或其他合适的网络接口(127.0.0.1 将不起作用)。您可以检查您的服务绑定到哪个接口netstat -ntlup(linux) 或netstat -abno | findstr LISTENING(powershell as admin),并查看本地 IP 地址。如果它是 0.0.0.0 或 LAN 上的 IP,它应该可以工作。