我最近将我的一位客户升级到了 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 端口。†
- 通过 ssh/console 登录路由器
进入配置模式
configure
设置 Web UI 端口;将 8443 更改为您想要的任何端口
set service gui https-port 8443
提交并保存
commit save
如果您需要从外部位置访问 Web GUI,则需要创建防火墙规则来允许流量。
创建防火墙规则以允许端口 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
† 署名:戴夫·莱斯利