Por favor, note as seguintes observações:
1 – Consideramos aqui que os Links são do mesmo tamanho (50mb, por exemplo).
2 – Você deve ajustar alguns parâmetros como nome de interfaces e endereços IP de acordo com o seu cenário.
3 – Este cenário naturalmente vai fazer um Duplo NAT na sua rede, e pode não ser o ideal em alguns casos, todavia é o mais simples de implementar e muito eficiente.

Etapa 1. Adicionar dhcp client nas ether1 e ether2 (WAN1 e WAN2)
/ip dhcp-clientadd add-default-route=no dhcp-options=hostname,clientid disabled=no interface=ether1-gateway use-peer-dns=no use-peer-ntp=noadd add-default-route=no dhcp-options=hostname,clientid disabled=no interface=ether2-gateway use-peer-dns=no use-peer-ntp=no |
Etapa 2: Adicionar IP de interface LAN. (ether3)
/ip addressadd address=192.168.88.1/24 interface=ether3 network=192.168.88.0 |
Etapa 3: adicionar regra de Nat do firewall.
/ip firewall natadd action=masquerade chain=srcnat out-interface=ether1add action=masquerade chain=srcnat out-interface=ether2 |
Etapa 4: adicionar regras de firewall para o Mangle
/ip firewall mangleadd action=mark-connection chain=prerouting comment="Load Balance" connection-state=new in-interface=ether1-gateway new-connection-mark=ether1_connadd action=mark-connection chain=prerouting connection-state=new in-interface=ether2-gateway new-connection-mark=ether2_connadd action=mark-routing chain=output connection-mark=ether1_conn new-routing-mark=to_ether1add action=mark-routing chain=output connection-mark=ether2_conn new-routing-mark=to_ether2add action=mark-connection chain=prerouting connection-state=new dst-address-type=!local in-interface=ether3 new-connection-mark=ether1_conn per-connection-classifier=both-ports:2/0add action=mark-connection chain=prerouting connection-state=new dst-address-type=!local in-interface=ether3 new-connection-mark=ether2_conn per-connection-classifier=both-ports:2/1add action=mark-routing chain=prerouting connection-mark=ether1_conn in-interface=ether3 new-routing-mark=to_ether1add action=mark-routing chain=prerouting connection-mark=ether2_conn in-interface=ether3 new-routing-mark=to_ether2 |
Etapa 5: adicionar rotas (configuração de gateway)
/ip routeadd check-gateway=ping comment="Ether1-Wan routing gateway" distance=1 gateway=192.168.0.1 routing-mark=to_ether1add check-gateway=ping comment="Ether2-Wan routing gateway" distance=1 gateway=192.168.1.1 routing-mark=to_ether2add comment=Ether1-Wan distance=1 gateway=192.168.0.1add comment=Ether2-Wan distance=2 gateway=192.168.1.1 |
Etapa 6: Crie um novo script com o nome ChangeGateways e copie as linhas abaixo.
:global newgw [/ip dhcp-client get [find interface="ether1" ] gateway ]:global activegw [/ip route get [/ip route find comment="Ether1-Wan"] gateway ]:if ($newgw != $activegw) do={/ip route set [find comment="Ether1-Wan"] gateway=$newgw/ip route set [find comment="Ether1-Wan routing gateway"] gateway=$newgw}:global newgw [/ip dhcp-client get [find interface="ether2" ] gateway ]:global activegw [/ip route get [/ip route find comment="Ether2-Wan"] gateway ]:if ($newgw != $activegw) do={/ip route set [find comment="Ether2-Wan"] gateway=$newgw/ip route set [find comment="Ether2-Wan routing gateway"] gateway=$newgw} |
