在 Edgerouter 上将端口转发至路由器本身

在 Edgerouter 上将端口转发至路由器本身

我最近将我的一位客户升级到了 Ubiquiti EdgeRouter Lite,这比他们原来的 ISP 提供的路由器有了显著的改进。

为了减少针对路由器 Web 界面的攻击频率,同时仍允许远程管理,我们在旧路由器上所做的一件事就是将远程管理移至非标准端口,比如说 8642。在旧的 ISP 提供的路由器上,有一个简单的文本框用于此操作,但在 Edgerouter 上必须手动完成。

我在 Edgerouter 上添加了一个简单的端口转发规则,将 PUBLIC_IP:8642 转发到 LOCAL_LAN_IP:443,以及相应的防火墙规则:

name WAN_LOCAL {
     default-action drop
     description "WAN to router"
     ...
     rule 2 {
         action accept
         description "Allow remote management"
         destination {
             group {
                 port-group ManagementPorts
             }
         }
         log disable
         protocol tcp
         state {
             established enable
             invalid disable
             new enable
             related enable
         }
     }
     ...
 }

其中port-group ManagementPorts包含8642

但是,我仍然无法访问 Web 界面。我能找到的唯一解决问题的方法是允许外部访问端口443- 然后就可以访问端口8642了。但是,这意味着 Web 界面现在可以从两个端口(默认端口和我想要的端口)从外部访问。

执行此操作的正确配置是什么,以便 Web 界面在内部443和外部都可用8642

答案1

您的port-group ManagementPorts配置应指定内部端口号(443),而不是外部端口号(8642)。NAT 转换规则在防火墙规则之前应用,因此当它到达防火墙规则时,它会请求访问端口443。这就是添加443固定内容的原因。

答案2

我同意 VPN 是一种更安全的解决方案。但是,您要求的仍然可以实现。如果您采用您建议的解决方案,我强烈建议您还将 HTTPS 证书替换为由根 CA 签名的有效证书。否则,您将面临中间人攻击的风险,因为 EdgeRouter 附带的自签名证书是公共域。使用 VPN,您还需要安装有效证书。

要使用备用端口从 WAN 公开 EdgeRouter,我认为您需要先更改 Web GUI 端口。†

  1. 通过 ssh/console 登录路由器
  2. 进入配置模式

    configure
    
  3. 设置 Web UI 端口;将 8443 更改为您想要的任何端口

    set service gui https-port 8443
    
  4. 提交并保存

    commit
    save
    

如果您需要从外部位置访问 Web GUI,则需要创建防火墙规则来允许流量。

  1. 创建防火墙规则以允许端口 8443 上的入站流量

    edit firewall name WAN_LOCAL rule 50
    set description "Inbound traffic to WEB GUI"
    set action  accept
    set log disable
    set protocol tcp_udp
    set destination port 8443
    

† 署名:戴夫·莱斯利

相关内容