NAT 无法在更多 LAN 上正常工作 - 源地址被替换为 LAN 网关 IP

NAT 无法在更多 LAN 上正常工作 - 源地址被替换为 LAN 网关 IP

运行 Mikrotik RouterOS,无论是 6.48 版还是 7.9 版都无所谓。

有效的方法:

  1. 默认配置使 NAT 在 IP 数据包中保留源地址(即连接到服务器的客户端的公共 IP,链:输入 - 传入连接)。
  2. 对于 50% 的机会来说,从头开始为 1 个 LAN 网络配置路由器并使用掩码 /24 不会导致此 NAT 问题/错误/限制。

有什么问题:

对于传入连接

(即与具有开放端口/端口转发的服务器等对等体建立联系):

制作网络更大- 1 个 LAN 网络,网络掩码例如 /8 和范围 10.0.0.0/8

从创建2局域网- 例如 192.168.100.0/24 和 192.168.200.0/24

结果是源IP(即客户端公网IP)存在被取代有局域网网关 IP
而 NAT 应该保持其不变,但似乎 RouterOS 实际上并没有遵守该规则。

在服务器 - 网络服务器的日志中注意到,$SERVER['REMOTE_ADDR'] 是网关 IP 也不是访问网站的客户端 IP。

存在此问题的示例配置:https://pastebin.com/3Gmxe0SH

物理连接:ISP 路由器 [DMZ 到 Mikrotik] -> 间接 LAN 连接到 Mikrotik 路由器上的 WAN 端口 [NAT] -> LAN2/服务器,LAN1/PC+WiFi

注意:直接连接到服务器的 ISP 路由器正常工作(NAT,源地址保留)

答案1

而 NAT 应该保持其不变,但似乎 RouterOS 实际上并没有遵守该规则。

RouterOS 似乎完全按照你的 NAT 规则执行。你在 pastebin 中看到的是一个非常宽泛的action=masquerade规则,没有任何源或目的地检查 – 它没有告诉RouterOS 某些数据包不应该被 SNAT:

/ip firewall nat
add action=masquerade chain=srcnat

您的 srcnat 规则需要有选择地应用,以便它们只匹配通过 WAN 接口离开的数据包,例如使用out-interface=out-interface-list=

相关内容