Mikrotik 中的双网关设置

Mikrotik 中的双网关设置

我是 Mikrotik 环境的新手,需要针对以下场景的一些帮助:

  • 我有一个 ADSL 路由器(主互联网连接),其 IP 范围为192.168.1.0/24,连接到以太网 1我的 Mikrotik 路由器(WAN 端口)

  • 我有另一台 ADSL 路由器(VPN 连接以连接到主分支),其 IP 范围为172.200.1.0/24,连接到以太网 2我的 Mikrotik 路由器

  • 我已经启用 WiFi 的 Mikrotik 作为 Ap 桥,其 IP 范围为192.168.88.0/24(每个人都使用 WiFi 和物理连接连接到此路由器)

我想要做的事情如下:

  • 当人们想要访问互联网时,Mikrotik 路由器应该自动将数据包路由到以太网 1接口(第一个 ADSL)。

  • 如果人们想去某个目的地(例如221.35.12.x),他们的数据包必须被路由到以太网 2,这是连接主分支的第二条 ADSL。

附加信息

第一台 ADSL 的网关是192.168.1.1,第二台 ADSL 的网关是172.200.1.17

到目前为止,我已经设法访问第二个 ADSL 的网关,但是当我 ping 的实际目标地址时221.35.12.x,它会返回unreachable,而当我 pingtracert该地址时,它显示数据包往返于192.168.88.1那里并丢失。

有人可以为上述情况提供完整的解决方案吗?

答案1

初步设置:您需要设置两个 WAN 连接。假设IFC1为第一个 WAN 端口(例如ether1)接口,假设IFC2为第二个 WAN 端口(例如ether5)。

/interface list member add interface=IFC1 list=WAN
/interface list member add interface=IFC2 list=WAN
/ip dhcp-client add interface=IFC1 default-route-distance=1
/ip dhcp-client add interface=IFC2 default-route-distance=1

其中一些可能已配置。如果使用不同类型的 WAN 连接(如 PPPoE),则请进行相应调整。

当DHCP客户端连接时,需要添加路由,下面是示例。

[admin@mikrotik] > /ip route print
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit
 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
 0 ADS  0.0.0.0/0                          yyy.yy.yyy.1              1
 1 ADS  0.0.0.0/0                          xxx.xxx.xxx.1             1
 2 ADC  xxx.xxx.xxx.0/22   xxx.xxx.xxx.xxx IFC2                      0
...

如果您没有看到0.0.0.0/0具有正确网关的两条路由,则可以将它们创建为静态路由(/ip route add ...)。这是 Mikrotik 的基本内容,超出了本答案的范围。

将使用策略路由来区分两个 WAN 连接。在每个默认 WAN 路由上设置一个路由标记。

/ip route set 0 routing-mark=unid2rm
/ip route set 1 routing-mark=unid3rm

unid2rmunid3rm是任意文本字符串。这意味着 Mikrotik 将通过给定的网关 IP 发送标有给定路由标记的数据包。

第二步,配置防火墙。查看链FORWARD。这里的目标是排除辅助(非默认)WAN 的标记连接通过快速通道。

/ip firewall filter add 8 chain=forward action=fasttrack-connection connection-state=established,related connection-mark=!unid2cm
/ip firewall filter add 9 chain=forward action=accept connection-state=established,related

更改数字 8 和 9,以便规则位于FORWARD链的开头。

现在在PREROUTING链中,标记传入连接。如果您只引导出站连接,则可以跳过此步骤。

/ip firewall mangle add 3 chain=prerouting action=mark-connection new-connection-mark=unid2cm passthrough=no connection-mark=no-mark in-interface=IFC1
/ip firewall mangle add 4 chain=prerouting action=mark-connection new-connection-mark=unid3cm passthrough=no connection-mark=no-mark in-interface=IFC2

下一步涉及MANGLE表格,这是您施展魔法的地方。在这里,您可以根据您设置的标准标记连接。

/ip firewall mangle add 5 chain=prerouting action=mark-connection new-connection-mark=unid2cm passthrough=yes dst-address=221.35.12.5 connection-mark=no-mark in-interface-list=LAN

这句话的意思是“当有一个221.35.12.5尚未标记的连接时,用连接标记来标记它unid2cm”。您可以根据源 IP、MAC 等进行设置,并根据需要添加尽可能多的 IP、MAC。然后配套的是:

/ip firewall mangle add 6 chain=prerouting action=mark-routing new-routing-mark=unid2rm passthrough=no connection-mark=unid2cm in-interface-list=LAN
/ip firewall mangle add 7 chain=output action=mark-routing new-routing-mark=unid2rm passthrough=no connection-mark=unid2cm
/ip firewall mangle add 8 chain=prerouting action=mark-routing new-routing-mark=unid3rm passthrough=no connection-mark=unid3cm in-interface-list=LAN
/ip firewall mangle add 9 chain=output action=mark-routing new-routing-mark=unid3rm passthrough=no connection-mark=unid3cm

unid2rm注意和之间的区别unid2cm。这些规则从标记的联系并给它们一个路由标记。然后,如前所述,该路由标记将用于 Mikrotik 的路由表中。

每个设置都有点不同,因此您可能需要尝试一下才能让它适合您。


补充:Mikrotik 通常会在接口列表上自动设置 NAT WAN。答案顶部的第一步确保两个接口都在列表中。

[admin@mikrotik] > /ip firewall nat print
Flags: X - disabled, I - invalid, D - dynamic
 0    ;;; defconf: masquerade
      chain=srcnat action=masquerade out-interface-list=WAN log=no
      log-prefix=""

相关内容