[Inclusão Digital] Desisto

Eder Zagui ederzagui em ibl.com.br
Terça Agosto 17 18:02:37 BRT 2010


Já tentei de tudo quanto é jeito balancear dois links no mikrotik versão 4.10 e não consigo

 

NTH, ECMP, etc

 

O ultimo que fiz foi seguindo exatamente as dicas abaixo e nada. Quando boto para rodar não sai quase nada pelo link 2 e o link 1 sai menos do que 30% do que sai sem as regras.

 

Alguém tem alguma receita do bolo?

 

Abaixo as regras que usei (obviamente os exemplo é exatamente como encontrei na internet e adaptei para meus ips):

 

Cenário:

LAN: 192.168.0.1/24
WAN1: 172.16.10.10/32 – Link Embratel 2Mb
WAN2: 172.16.20.10/32 – Link OI 2Mb

IPS Mikrotik:
LAN: 192.168.0.1
WAN1:172.16.10.1
WAN2:172.16.20.1

IPS Routers:
WAN1: 172.16.10.10
WAN2:172.16.20.10

Regras para os impacientes:

/ip address
add address=192.168.0.1/24 broadcast=192.168.0.255 comment=”LAN” disabled=no \
interface=ether2 network=192.168.0.0
add address=172.16.10.1/24 broadcast=172.16.10.255 comment=”WAN1″ disabled=no \
interface=ether3 network=172.16.10.0
add address=172.16.20.1/24 broadcast=172.16.20.255 comment=”WAN2″ disabled=no \
interface=ether1 network=172.16.20.0

/ ip route
add dst-address=0.0.0.0/0 gateway=172.16.10.10,172.16.20.10 check-gateway=ping

/ ip firewall nat
add chain=srcnat out-interface=WAN1 action=masquerade
add chain=srcnat out-interface=WAN2 action=masquerade

/ ip firewall mangle
add chain=input in-interface=WAN1 action=mark-connection new-connection-mark=wan1_conn
add chain=input in-interface=WAN2 action=mark-connection new-connection-mark=wan2_conn
add chain=output connection-mark=wan1_conn action=mark-routing new-routing-mark=to_wan1
add chain=output connection-mark=wan2_conn action=mark-routing new-routing-mark=to_wan2

/ ip route
add dst-address=0.0.0.0/0 gateway=172,16.10.10 routing-mark=to_wan1
add dst-address=0.0.0.0/0 gateway=172.16.20.10 routing-mark=to_wan2

Explicação:

-IP Address:

/ip address
add address=192.168.0.1/24 broadcast=192.168.0.255 comment=”LAN” disabled=no \
interface=ether2 network=192.168.0.0
add address=172.16.10.10/24 broadcast=172.16.10.255 comment=”WAN1″ disabled=no \
interface=ether3 network=172.16.10.0
add address=172.16.20.10/24 broadcast=172.16.20.255 comment=”WAN2″ disabled=no \
interface=ether1 network=172.16.20.0

Neste trecho definimos os ips da interface local LAN (192.168.0.1/24) e os ips das interfaces externas WAN(172.16.10.1/24 e 172.16.20.1/24), claro, ips inválidos, adeque a sua necessidade!

-Routing:

/ ip route
add dst-address=0.0.0.0/0 gateway=172.16.10.10,172.16.20.10 check-gateway=ping

Aqui criamos uma rota tipica de ECMP (Equal Cost Multi-Path), com check-gateway. Por definição o ECMP é persistente por conexão, ou seja, se um cliente estabelece conexão pelo gateway 172.16.10.10, ele irá utilizar somente este gateway durante ESTA conexão. Assim que um dos links cair o check-gateway irá remove-lo da lista de gateway, com isso você terá um efeito failover de brinde.

você pode utilizar também links assimétricos, por exemplo, digamos que o link da OI seja de 4Mb e o da Embratel de 8Mb, sendo o da Embratel o dobro do link da OI, você pode fazer a rota da seguinte forma para não subutilizar um dos links:

/ ip route
add dst-address=0.0.0.0/0 gateway=172.16.20.10,172.16.10.10,172.16.10.10 check-gateway=ping

-NAT:

/ ip firewall nat
add chain=srcnat out-interface=wan1 action=masquerade
add chain=srcnat out-interface=wan2 action=masquerade

Como as rotas já foram decididas, só precisamos das regras para corrigir o src-address para os pacotes de saída, Se o pacote sair pela WAN1 será “NATeado” para 172.16.10.10/24, caso contrário será para 172.16.20.10/24.

-Conexões Entrantes:

/ ip firewall mangle
add chain=input in-interface=WAN1 action=mark-connection new-connection-mark=wan1_conn
add chain=input in-interface=wlan2 action=mark-connection new-connection-mark=wan2_conn
add chain=output connection-mark=wan1_conn action=mark-routing new-routing-mark=to_wan1
add chain=output connection-mark=wan1_conn action=mark-routing new-routing-mark=to_wan2

/ ip route
add dst-address=0.0.0.0/0 gateway=172.16.10.10 routing-mark=to_wan1
add dst-address=0.0.0.0/0 gateway=172.16.20.10 routing-mark=to_wan2

Imagine um pacote INPUT vindo pelo link da Oi e retornando pelo link da Embratel, com ip diferente não vai dar, para evitar isso, vamos avisar ao mikrotik que o pacote que for recebido pelo link1 deve ser retornado pelo mesmo link.

 



Mais detalhes sobre a lista de discussão Inclusaodigital