Sei sulla pagina 1di 23

LOAD BALANCE

MIKROTIK
Leandro Genari – Engenheiro da Computação
Roteiro(passo a passo)
1. O que é “Load Balance” e em que situação utiliza-lo?
 Cenário proposto para configuração.

2. Configurando as conexões dos links


3. Criando regras de NAT para cada link
4. Definindo regra para rede local
5. Marcando conexão de cada link
6. Encaminhando as conexões marcadas para rotas correspondentes
7. Cálculo do balanceamento dos links
8. Configurando PCC (Marcação de conexão)
9. Encaminhando as conexões marcadas(PCC) para rotas correspondes
 Criando Rotas Marcadas para cada link(Mark Routing)

10. Definindo regras para exceções(se necessário)


11. Conclusão
O que é “Load Balance” e em que situação
utiliza-lo?
 “Load Balance” ou balanceamento de carga, é um termo que se refere a
divisão de uso, no caso de redes de computadores, dos links disponíveis(WAN)
para seu melhor aproveitamento em questões igualitárias para agregar banda
de dados para usuários daquela rede local(LAN).

 Esse método deve ser implementado em nossa rede quando possuímos mais
de um link. Observando que nossa rede LAN trabalha através de um NAT,
dessa forma, não possuímos algoritmos de roteamento de borda(BGP).
O que é “Load Balance” e em que situação
utiliza-lo?
Cenário proposto para configuração.

 O cenário dessa aula está da seguinte forma:


 Dois link de 8 megabits cada(2 WAN),ambos por PPPoE;
 Uma interface “brigde” que agrega algumas portas do nosso
roteador, para dar acesso de internet aos dispositivos da rede
local (1 LAN).
Configurando as conexões dos links
Interfaces
 Podemos receber o link de internet
de algumas formas: PPPoE, DHCP
ou Ip estático.
 Tanto por PPPoE como o DHCP, o
Mikrotik define automaticamente
uma rota, é importante desmarcar:
“Add default route”.
 Faça isso para cada link que você
possuir.
 Localizando a configuração
correspondente para cada tipo
conexão.
Configurando as conexões dos links
IP>Routes
 Nas configurações de rota,  Essas são as rotas padrão do nosso
devemos criar uma rota para cada roteador, quando estiverem ambas
link, com distancia diferentes. ativas, a de menor distancia assumi.
Configurando as conexões dos links
IP>Firewall>Nat
 Iremos definir uma regra de NAT(“srcnat:
Action =masquerede”), para cada link. Dessa
forma já temos internet funcionando em nosso
roteador.
 O que muda em cada regra é a interface de
saída: “Out.Interface”.
 Que devem ser as interfaces dos nossos links
de internet.
Definindo regra para rede local
 Nessa etapa da configuração, devemos pensar como está projetada nossa rede LAN, ou nossas redes.
Qual faixa de ip(range) elas ocupam.
 Pois precisamos indicar para roteador o que é rede local, e o que vai ser processado pela regras de
balanceamento.
 Tomaremos como exemplo as redes presente no roteador utilizado nessa aula.
 192.168.0.0/24
 192.168.1.0/24
 192.168.2.0/24
 192.168.50.0/24
 192.168.51.0/24
 192.168.87.0/24
 192.168.89.0/24
 10.2.0.0/16
 10.5.5.0/24
 10.17.0.0/24
 10.17.19.0/24
 100.100.0.0/24
 172.16.1.0/24
Definindo regra para rede local
IP>Firewall>Address Lists
 Possuímos varias redes que devem ser tratadas como redes locais.
 Isso não quer dizer que são redes que o meu roteador está fornecendo
saída de internet, mas são redes que estão conectadas ao meu roteador
através de VPN, redes de outros roteadores.
 Sabendo quais redes não devem passar pelo classificador, criaremos regras
com o mesmo nome, contendo as faixas de ip necessárias:
Definindo regra para rede local
IP>Firewall>Mangle
 Quando nossa lista de endereços estiver definida, criaremos uma regra no
Mangle para colocar ela em prática
 Na guia General apenas definiremos: “Chain: = prerouting”.
 Na guia Advanced definiremos da seguinte forma:

 Na guia Action, na opção Action, definiremos como “Accept”.


 Dessa forma, essa sendo a primeira regra do Mangle, tudo que partir de um
dispositivo da lista “LOCAL” com destino para lista “LOCAL”, receberá uma
ação de aceito, e não passará pelas regras seguintes do roteador.
Marcando conexão de cada link
IP>Firewall>Mangle
 Iniciaremos a criação das regras de marcação de conexão, e marcação de
roteamento para cada link de internet que está chegando até nosso roteador.

 São duas regras para cada link:


 “mark connection”;
 “mark routing”;

 O que se altera em cada regra, é a interface de entrada e o nome da


marcação da nova conexão, que deve ser utilizado na regra de “mark
routing”.
Marcando conexão de cada link
IP>Firewall>Mangle (Mark Connection)
 Marcando conexão de entrada
para o link na interface
“Speedy”
 Tendo como condição, que
nenhuma conexão antes tivesse
sido marcada
 Na guia Action: Ação, marcar
conexão
 New Connection Mark: defina
um nome para marcação(“Link-
Speedy”).

 Repita este procedimento para


cada link de internet
 In. Interface
 Connection Mark
 New Connection Mark
Encaminhando as conexões marcadas para rotas correspondentes
IP>Firewall>Mangle (Mark Routing)
 Criando regra “mark routing”
para o link da interface
“Speedy”
 Chain definimos como
saída(output)
 As conexões marcadas como:
“Link-Speedy”
 Na guia Action, defina Action
como “mark routing”
 Defina um nome para, New
Routing Mark(“SAIDA-Speedy”)

 Repita este procedimento para


cada link de internet
 Connection Mark
 New Routing Mark
Cálculo do balanceamento dos links
 Mikrotik faz o “LOAD BALANCE”, utilizando de um classificador de conexões(PCC).
 Esse classificador deve ser chamado em algumas regras para fazer a marcação de uma conexão, que
deseja sair de dentro da nossa rede para internet.
 PCC possui algumas forma de trabalho, para definir como o balenceamento vai se comportar, sendo
elas:
 Pelas combinações de endereços, internos e externos, ou apenas internos, ou apenas externos;
 Pelas combinações de endereços e portas, internos e externos, ou apenas internos, ou apenas externos;
 Pelas combinações de portas, internas e externas, ou apenas internas, ou apenas externas;
 A forma mais usual a ser aplicada é “Combinação de endereços, internos e extenos”(Both addresses),
mas dessa maneira não conseguimos agregar a velocidade dos links, em servidores de downloads
que aceitem multiplicas conexões.
 No exemplo da aula, utilizaremos a “Combinação de endereços e portas, internos e extenos”(Both
addresses and ports), conseguindo assim somar a velocidade dos links em servidores que aceitem
multiplicas conexões.
 Utilizando “both addresses and ports” o roteador permite que um endereço de dentro da rede, utilize
mais de uma porta(depende da quantidade de links), para alcançar o endereço de destino.
 Isso gera um problema em sites que trabalham com segurança de acesso, como sites
bancários(Internet Banking), para contornar esse problema, e aproveitar a agregação dos links,
podemos criar regras de exceção.
Cálculo do balanceamento dos links
 Conhecendo as formas de trabalho do “PCC”, e definindo qual a melhor que nos
atende, precisamos calcular mediante a quantidade de link que temos e a suas
respectivas largura de banda:
 Quantas vão ser o total de regras para o PCC;
 E quantas dessas regras vão ser destinadas a cada link;
 Ressaltando que o Mikrotik calcula o balanceamento através da proporção de regras e
forma de trabalho que deve ser iguais em todas.
 Dessa forma evite adquirir links muito desproporcionais entre um e outro para fazer o
balanceamento, isso encarece o processamento do roteador, devido há muitas regras
que vão ser criadas.
 Utilizando de uma planilha desenvolvida para aula iremos fazer alguns exemplos.
 A seguir temos o cálculo da nossa situação exemplo.
Cálculo do balanceamento dos links
 Obtivemos um total de duas regras, sendo uma regra para cada link:
 Regra Link1: 2/0
 Regra Link2: 2/1

 Observando que quando possuímos links de largura de banda idênticas, sempre será uma regra
para cada link.
 Em questão de sintaxe a criação das regras, deve ter o total delas, só que sempre começar pelo
número zero(0).
 Exemplo: TOTAL_REGRAS/NUMERO_DA_REGRA
Configurando PCC (Marcação de conexão)
IP>Firewall>Mangle (Mark Routing)
 Depois de entender como funciona o “PCC” e calcular suas quantidades de
regras, vamos iniciar as regras de marcação de conexão.
 As marcações ocorrem de dentro da rede(LAN) para internet(WAN), e devem
seguir o mesmo procedimento, apenas alterando o número da regra, e o nome
da marcação quando se termina a quantidade de regra para aquele
determinado link.
 Toda regra, independentemente da
quantidade de vezes que ela se
repita, deve ser “Chain: =
prerouting”.
 “In.Interface”, precisa ser a interface
a qual os dispositivos tem o acesso a
internet, no exemplo, “LAN-LOCAL”,
é uma “brigde” que agrega algumas
portas do roteador, onde está rodando
serviço DHCP.
 Na guia Extra, o recurso “Dst. Address
Type: local”, opção “Invert” marcada.
Essa opção garante que as conexões
que saiam do roteador, consigam se
restabelecer novamente(sejam
estáveis)
Configurando PCC (Marcação de conexão)
IP>Firewall>Mangle (Mark Routing)
 Dando continuidade a criação da regra, devemos definir as seguintes
condições:

 Na guia Advanced,
escolhemos a forma de
trabalho do “PCC”, e
definimos o total de regra
que ele pertence e qual
regra ele faz parte.

 Na guia Action, a ação de


marcação de conexão(mark
connection), podemos
utilizar o nome dados as
outras regras de marcação
de conexão, que no caso,
são apenas duas, uma para
link.

 Atenção, o nome dessa


marcação que vai definir
para qual link vai o
resultado da classificação do
“PCC”, posteriormente
através da regra de “mark
routing”.
Encaminhando as conexões marcadas(PCC) para
rotas correspondes
IP>Firewall>Mangle (Mark Routing)
 Após todas a regras criadas, já possuímos a marcação de conexão gerada através
do classificador, agora é hora de criar as marcações de rotas de saída.
Encaminhando as conexões
marcadas(PCC) para rotas correspondes
 Essa regra independe da quantidade de regras do “PCC” e sim da quantidade
de links, se você possuir dois links, são duas regras; três links, são três regras
e assim por diante.

 Ela captura conexões marcadas pela interface da rede dos nossos dispositivos,
com a marcação devida para cada link, e rotula uma marcação de rota para
ser aplicada na nossa tabela de roteamento.
Encaminhando as conexões marcadas(PCC)
para rotas correspondes
Criando Rotas Marcadas para cada link(Mark Routing)
 Utilizando os respectivos nomes das marcações das conexões, criamos as rotas
de saída para cada um dos links.
 Distancia delas é a mesma, pois o Mikrotik utilizara cada uma delas, através de
suas marcações, fazendo dessa forma o “LOAD BALANCE”.
Definindo regras para exceções(se necessário)
 As exceções que podem acontecer na configuração do “LOAD BALANCE”
podem ser:
 Alguns dos links fornecerem acesso externo algum dispositivo;
 Utilizando a forma de trabalho do “load balance” em “Both Addresses and
ports”, precisamos filtrar os serviços que não aceitam esse tipo de conexão.

 Dessa forma alguma regras precisam devem ser adicionas no “Mangle” de


forma adequada para contorna eventuais problemas.
Conclusão
 Podemos concluir que o Mikrotik balanceia os links de forma estatística,
através dos resultado obtidos pelas regras do PCC;

 Dessa forma, a divisão das regras deve ser proporcional a largura de banda
de cada link, e não devemos usar links com velocidades “ímpares e pares”,
assim dizendo, se isso acontecer, aumente “1 mega”(no cálculo) em um
ou em outro para deixar eles parecidos nesse aspecto(isso facilitará o
cálculo e a criação da regras);

 Mesmo utilizando o PCC, o Mikrotik não avalia se aquele link já está no seu
limite e ainda continua marcando as conexões;

 Nunca se esqueça de criar a regra para faixas de rede local;

 As regras de exceções variam muito dos casos de uso dentro da sua rede.