内网到内网的端口转发(发夹式NAT)

Jou*_*uda 17 nat mikrotik-routeros

我已经成功地在 Mikrotik 路由器上设置了一个端口转发,它将每个去往 mikrotik 端口 8844(假设:20.20.20.22:8844)上的 WAN ip 地址的请求转换为本地 ip 地址和相同的端口。

由于我有 WAN ip 地址的 DNS 名称 (20.20.20.22),我希望此规则也适用于内部网络:

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
Run Code Online (Sandbox Code Playgroud)

Jou*_*uda 17

解决方案是将端口转发重写为规则,不要使用in-interface=ether1-gateway,而是使用dst-address-type=local

/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
Run Code Online (Sandbox Code Playgroud)

然后添加原始帖子中指定的发夹式 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
Run Code Online (Sandbox Code Playgroud)