我已成功在 Mikrotik 路由器上设置了端口转发,该路由器将发往 mikrotik 端口 8844(假设为:20.20.20.22:8844)上的 WAN IP 地址的每个请求转换为本地 IP 地址和相同的端口。
由于我有一个 WAN IP 地址 (20.20.20.22) 的 DNS 名称,所以我希望此规则也能从内部网络起作用:
192.168.111.77 -> 20.20.20.22:8844 -> 192.168.111.2:8844
我发现了一个 Mikrotik 网页,描述了这种情况:http://wiki.mikrotik.com/wiki/Hairpin_NAT 但我没有能够实现同样的目标。
以下是规则的截图
这只是部分截图,其他一切都尚未设置(空白)。
编辑:路由器上的端口转发规则和经典伪装如下所示:
/ip firewall nat
add chain=dstnat in-interface=ether1-gateway protocol=tcp dst-port=8844 \
action=dst-nat to-address=192.168.111.2 to-port=8844
add chain=srcnat out-interface=ether1-gateway action=masquerade
答案1
解决方案是重写端口转发规则以不使用接口=ether1-网关, 但目标地址类型=本地:
/ip firewall nat
add chain=dstnat dst-address-type=local protocol=tcp dst-port=8844 \
action=dst-nat to-address=192.168.111.2 to-port=8844
然后按照原帖中说明的方式添加发夹式 NAT:
/ip firewall nat
add chain=srcnat src-address=192.168.111.0/24 \
dst-address=192.168.111.2 protocol=tcp dst-port=8844 \
out-interface=bridge-local action=masquerade
答案2
Nat Masquerade 192.168.111.0/24 到 192.168.111.0/24 这适用于所有服务。不要指定接口或端口。内部端口必须与外部端口相同。