我正在尝试为我的 NAS 服务器设置端口转发,以便从外部进行远程访问。我已经在 unRAID 服务器上设置了 Wireguard,它显示以下消息:
Remark: configure your router with port forwarding of port 51820/UDP to 192.168.1.7:51820
我的路由器没有静态设备 IP 选项,目前我的 NAS 具有本地 IP 地址192.168.1.7
。
我的路由器比较旧,没有专门的端口转发页面。但它有一个用于设置端口过滤器/IP 过滤器的页面,它是一个包含以下字段的表单:(我填写了其中几个)
filter name: Tower
protocol: UDP
source IP Addr.: ______
end source IP Addr.: ______
source port: 51820
end source port: 51820
dest. IP Addr.: ______
end dest. IP Addr.: ______
dest. port: 51820
end dest. port: 51820
有 2 个单独的 IP 过滤页面分别用于入站和出站连接。如果我想转发 NAS 上的端口...
- 我应该配置入站或者出站端口过滤器?
- “源 IP 地址”和“目标 IP 地址”应该设置为多少?我假设目标地址应该设置为路由器的 IP 地址,但我应该使用公共 IP 地址还是直接使用
192.168.1.1
?
答案1
如果可以将源 IP 留空,请这样做,如果不能,请在源 IP 地址中尝试 0.0.0.0,或者如果需要填写两个字段,请在两个字段中都输入 0.0.0.0。
在目标 IP 中输入 192.168.1.7,如果要求填写两个字段,则输入 192.168.1.7 两次。
您希望将此设置作为入站过滤器。任何出站连接都将自动应用 NAT,路由器将跟踪连接,允许返回数据包自行转发。您需要为入站新会话设置过滤器。
注意:0.0.0.0 表示任何源 IP,为了更好的安全性,如果您知道您将要连接的位置的公共 IP,最好在源地址中输入该 IP。
如果您确实使用了 0.0.0.0,请确保您的 NAS 已更新最新的安全更新,并且您已设置强密码,并且您的 NAS 上未启用默认用户/密码。否则,您被黑客入侵只是时间问题。
答案2
如何使用 IP 过滤规则进行端口转发?
你不需要。“端口转发”的核心不仅仅是数据包过滤,它还是数据包重写(地址转换),这需要 NAT 规则——而仅靠过滤规则无法实现。
(“端口转发”这一术语有点用词不当;路由器已经转发数据包,而“端口转发”会改变它们。)
家用路由器很少能进行出站 NAT,但不能进行入站端口转发;更有可能的是,它的名字不同——一些制造商称之为“虚拟服务器”– 或者该功能被故意隐藏在 ISP 品牌固件中。
我应该配置入站或出站端口过滤器吗?
都不是(见上文),但是如果它是正确的规则类型,那么通常您只需要入站。
大多数家用路由器都有状态防火墙,其中您需要的唯一过滤规则取决于第一个数据包的方向(即在您的情况下为入站);属于同一连接的所有其他数据包将在两个方向上被隐式允许。
(最重要的是,大多数家用路由器默认允许所有出站流量,因此只有入站过滤规则才有用 - 除非您特意设置了严格的出站过滤,但听起来您并没有这样做。)
“源IP地址”和“目标IP地址”应该设置为何值?
“源 IP 地址”应保持空白,以接受数据包来自所有来源。如果不能为空,则0.0.0.0
–255.255.255.255
效果相同。
类似地,“源端口”应保持空白,以接受任何源端口(它是不是与目标端口相同;通常客户端端口号是随机选择的)。如果不能为空,则1
–65535
将允许所有源端口。
我认为目标地址应该设置为路由器的 IP 地址,但我应该使用公共 IP 地址还是仅使用 192.168.1.1?
这个问题无法完全回答,因为过滤规则本来就不是正确的规则类型,而 NAT 规则则二这些字段:“原始/匹配目的地”和“新目的地”。
对于 NAT 规则,“原始”目标 IP 字段将是路由器的公共 IP 地址,因为这是实际入站数据包上的地址;“转发到”字段将是 NAS 地址。
(话虽如此,对于过滤规则,同样的想法也适用——你使用实际数据包上的内容。虽然 NAT 使事情变得复杂,因为它通常在过滤之前完成;因此从互联网到达路由器的数据包将以其公共 IP 地址作为目的地,但如果有端口转发规则,那么数据包实际上将具有网络存储地址,不再是路由器的地址。)
2023 年的义务:确保路由器的公共 IP 地址实际上仍然是公共的。(也就是说,确保您不在 CGNAT 后面。)查看路由器本身(而不是网站)报告的地址,并确保它既不来自任何通常的私有 IP 范围,也不来自 100.64.0.0/10(CGNAT)范围。