You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MikroTik基于公网IP的源NAT(Source NAT)配置咨询(含多私有子网NAT池场景)

MikroTik基于公网IP的源NAT(Source NAT)配置咨询(含多私有子网NAT池场景)

兄弟,我太懂从FortiGate转MikroTik的那种陌生感了——毕竟两家的配置逻辑确实差不少。不过别慌,你的需求(把多段公网IP做成NAT池,对应不同私有子网做源NAT)在MikroTik里其实配置逻辑很清晰,我给你一步步拆解:

前提确认

首先得确保你已经搞定了基础配置:

  • WAN口的/30 uplink已经正常连通ISP,能正常上网
  • 私有子网(10.10.10.0/22、10.11.11.0/22、10.12.12.0/24)的VLAN、路由、DHCP(如果用的话)都已经配置完成,内网设备能正常访问MikroTik

步骤1:让MikroTik“认”这些额外的公网IP段

因为这三个公网段不是WAN口的直连段,我们需要告诉MikroTik这些IP属于本地设备,最简单的方式是创建一个虚拟dummy接口,然后把这些段的路由指向它:

  1. 创建dummy接口:
/interface dummy add name=dummy-public
  1. 添加静态路由,把三个公网段指向这个dummy接口:
/ip route add dst-address=123.123.3.0/24 gateway=dummy-public
/ip route add dst-address=123.123.5.0/24 gateway=dummy-public
/ip route add dst-address=123.123.7.0/28 gateway=dummy-public

这样MikroTik就会把这些公网段当作自己的IP资源,允许用来做NAT。

步骤2:创建NAT地址池

我们针对每个公网段单独创建地址池,这样可以精准对应不同的私有子网。注意要避开每个段的网络地址和广播地址:

# 对应123.123.3.0/24的地址池
/ip pool add name=nat-pool-24-3 ranges=123.123.3.1-123.123.3.254
# 对应123.123.5.0/24的地址池
/ip pool add name=nat-pool-24-5 ranges=123.123.5.1-123.123.5.254
# 对应123.123.7.0/28的地址池,/28的广播地址是.15,所以用.1到.14
/ip pool add name=nat-pool-28-7 ranges=123.123.7.1-123.123.7.14

如果需要预留某些公网IP做端口转发之类的特殊用途,直接在ranges里排除掉就行,比如123.123.3.1-123.123.3.100,123.123.3.105-123.123.3.254。

步骤3:配置源NAT规则

接下来要把每个私有子网和对应的NAT池绑定,注意MikroTik的NAT规则是从上到下匹配的,所以要把这些规则放在默认的源NAT规则(比如用WAN口IP做SNAT的那条)前面:

# 把10.10.10.0/22子网的流量NAT到nat-pool-24-3
/ip firewall nat add chain=srcnat src-address=10.10.10.0/22 action=src-nat to-pool=nat-pool-24-3 out-interface=你的WAN接口名称
# 把10.11.11.0/22子网的流量NAT到nat-pool-24-5
/ip firewall nat add chain=srcnat src-address=10.11.11.0/22 action=src-nat to-pool=nat-pool-24-5 out-interface=你的WAN接口名称
# 把10.12.12.0/24子网的流量NAT到nat-pool-28-7
/ip firewall nat add chain=srcnat src-address=10.12.12.0/24 action=src-nat to-pool=nat-pool-28-7 out-interface=你的WAN接口名称

记得把你的WAN接口名称替换成实际的WAN接口(比如ether1或者wan1)。

验证与关键注意事项

  • 规则顺序检查:用/ip firewall nat print查看规则,确保我们刚加的src-nat规则在默认的src-nat规则(通常是action=masquerade的那条)前面,不然会优先匹配默认规则。
  • 出口IP验证:在内网设备上访问ifconfig.me或者类似的查IP网站,看看出口IP是不是对应池里的公网IP。
  • ISP路由确认:一定要跟ISP确认,他们已经把这三个公网段路由到你的/30 WAN IP了!不然即使你配置对了,外网的流量也找不到回来的路。
  • 端口转发(如果需要):如果后续要给某些公网IP做DNAT端口转发,直接在/ip firewall nat里添加chain=dstnat的规则就行,这些规则会自动在prerouting链生效,不会和src-nat规则冲突。

备注:内容来源于stack exchange,提问作者Sandman1091

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 08:49:54