Código fonte Wiki de Balanceamento de Mikrotik com failover
Version 3.1 by Jean Franco on 2023/06/28 17:33
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | **Motivo:** | ||
| 2 | |||
| 3 | Prover um balanceamento entre os links e certamente redundância. | ||
| 4 | |||
| 5 | **Tipos de Balanceamento:** | ||
| 6 | |||
| 7 | - Bonding | ||
| 8 | |||
| 9 | - Policy Route | ||
| 10 | |||
| 11 | - PCC | ||
| 12 | |||
| 13 | - Por banda | ||
| 14 | |||
| 15 | **Bonding:** | ||
| 16 | |||
| 17 | * Utiliza a tecnologia 802.3ad LACP e ambos os lados necessitam utilizar o mesmo tipo de equipamento para evitar compatibilidades. | ||
| 18 | |||
| 19 | **Policy Routing:** | ||
| 20 | |||
| 21 | * Uma lista de IPs internos utiliza uma rota e uma outro lista utiliza a segunda rota. | ||
| 22 | * Não é dinâmico | ||
| 23 | |||
| 24 | **PCC (Per Connection Classifier):** | ||
| 25 | |||
| 26 | * Escalável e estável, mas não faz balanceamento. | ||
| 27 | |||
| 28 | **Por banda:** | ||
| 29 | |||
| 30 | * Escalável | ||
| 31 | * Utiliza o link status como gatilho | ||
| 32 | * Controle sobre as conexões | ||
| 33 | * Pode usar links com diferentes velocidades | ||
| 34 | |||
| 35 | ---- | ||
| 36 | |||
| 37 | Definido o tipo de balanceamento, vamos trabalhar. | ||
| 38 | |||
| 39 | Conexão: | ||
| 40 | |||
| 41 | Um pacote originado de uma origem precisa retornar para esta origem. Chamamos de Stream. | ||
| 42 | |||
| 43 | No caso de uma conexão UDP, UDP stream. | ||
| 44 | |||
| 45 | Mangle: | ||
| 46 | |||
| 47 | Uma facilidade do ROS que permite que as conexões sejam "marcadas" e então ser utilizadas para um propósito. | ||
| 48 | |||
| 49 | Essas marcas não saem do roteador, ficam localmente. | ||
| 50 | |||
| 51 | Rotas: | ||
| 52 | |||
| 53 | Tabelas para onde o roteador encaminha os pacotes. | ||
| 54 | |||
| 55 | Por padrão todos os pacotes no Mikrotik são direcionadas para a tabela "main". | ||
| 56 | |||
| 57 | Podemos criar nossas tabelas manualmente e direcionar os pacotes para essas novas rotas. | ||
| 58 | |||
| 59 | Topologia: | ||
| 60 | |||
| 61 | Internet - ISP 1 Internet - ISP 2 | ||
| 62 | |||
| 63 | ~-~-~-~-~-~-~-~-~-~-~-~-~-~- ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-- | ||
| 64 | |||
| 65 | ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-- | ||
| 66 | |||
| 67 | ~| | | ||
| 68 | |||
| 69 | Roteador | ||
| 70 | |||
| 71 | {{code language="none"}} | ||
| 72 | /interface ethernet | ||
| 73 | set 0 name=LAN | ||
| 74 | set 3 name=ISP_1 set 4 name=ISP_2 | ||
| 75 | /ip address add address=192.168.22.1/24 interface=LAN | ||
| 76 | add address=1.1.1.2/24 interface=ISP_1 | ||
| 77 | add address=2.2.2.3/24 interface=ISP_2 | ||
| 78 | /ip firewall nat | ||
| 79 | add action=masquerade chain=srcnat out-interface=ISP_1 | ||
| 80 | add action=masquerade chain=srcnat out-interface=ISP_2 | ||
| 81 | {{/code}} | ||
| 82 | |||
| 83 | Neste exemplo, estamos configurando o ISP_1 e ISP_2 com IPs estáticos. Criamos as regras de mascaramento de cada um. | ||
| 84 | |||
| 85 | Agora para a parte de Roteamento: | ||
| 86 | |||
| 87 | {{code language="none"}} | ||
| 88 | /ip route | ||
| 89 | add gateway=1.1.1.1 distance=1 | ||
| 90 | add gateway=2.2.2.1 distance=2 | ||
| 91 | add gateway=1.1.1.1 routing-mark=ISP1_Route distance=1 | ||
| 92 | add gateway=2.2.2.1 routing-mark=ISP2_Route distance=1 | ||
| 93 | {{/code}} |