Você está na página 1de 52

TREINAMENTO MIKROTIK

Roteamento
Conteúdo
• Rotas Estáticas
• Rota Default
• FailOver
• Balanceamento de Link por endereçamento
• Balanceamento de Link por protocolo
Rotas Estaticas

Rotas estáticas, como o nome já nos diz, são rotas fixadas


manualmente que não sofrerão alteração, por nenhum evento.
Ao criar uma rota, devemos ter consciência que o gateway em
questão deve ser alcançado em um salto, ou seja, deverá estar na
mesma rede que o aparelho ou RouterOS em questão. É possível
colocar métricas, para definir qual a prioridade quando existe mais
de uma saída para mesma rede. Quanto menor a métrica, maior a
prioridade.
Rota Default

Vejamos abaixo para colocar uma rota estática e padrão. Quando


dizemos rota padrão ou default, estamos informando que qualquer
pacote que não tenha uma rota especifica de destino, utilizará a
rota padrão, onde normalmente o destino é 0.0.0.0/0 ou seja,
qualquer destino.
Rota Default
Para podermos criar essa rota através do winbox, devemos ir a guia IP >
Routes, será aberta a guia Routes List. Clique em adicionar, em
General adicione a rede destino 0.0.0.0/0 e em Gateway o
endereço IP do Gateway, que neste caso estou usando 200.0.0.1
Rota Default
Rotas Estáticas

Temos ainda os campos que podem ser usados como Distance,


que é a métrica para uso da rota. Por padrão a métrica utilizada
é o valor 1, menor métrica possível. Outros campos como
Routing Mark, veremos mais a frente em marcação de pacotes.
Por fim temos a guia Attributes, que é utilizado em roteamento
dinâmico.
Rotas Estáticas - Exemplo
Temos ainda os campos que podem ser usados como Distance,
que é a métrica para uso da rota. Por padrão a métrica utilizada
é o valor 1, menor métrica possível. Outros campos como
Routing Mark, veremos mais a frente em marcação de pacotes.
Por fim temos a guia Attributes, que é utilizado em roteamento
dinâmico.
Rotas Estáticas - Exemplo
Para que nossa LAN tenha acesso a rede 172.16.0.0/24, devemos
então criar uma rota estática em nosso RouterOS.
Para isso novamente vamos criar uma nova rota em IP > Routes, só
que agora em Dst. Address iremos informar o endereço da nova
Rede, que é 172.16.0.0/24 e em Gateway deveremos informar o
endereço ip 192.168.1.100, que é router que tem a rede
172.16.0.0/24 conectada.
Rotas Estáticas - Exemplo
Rotas Estáticas - Exemplo
Com isso poderemos alcançar a rede 172.16.0.0/24, desde que
nosso firewall permita.
Podemos fazer via linha de comando, utilizando o comando
abaixo:

ip route add dst-address=172.16.0.0/24 gateway=192.168.1.1


Visualizando Rotas
Antes de iniciarmos a falar roteamento, balanceamento, devemos
saber o que significa cada flag, que consta na nossa tabela de
roteamento. Podemos visualizar tais flag via Winbox:
Visualizando Rotas
Antes de iniciarmos a falar roteamento, balanceamento, devemos
Na figura acima, o primeiro campo onde constam as letras AS, S,
DAC, informam o status da rota e o que ele significa. Da mesma
forma é possível visualizar via linha de comando através do
comando ip routes print.
Visualizando Rotas
Antes de iniciarmos a falar roteamento, balanceamento, devemos
Então vejamos o significado de cada letra das flags de nossas
rotas:
X Desabilitada, não ativada
A Ativada em uso
D Rota Dinâmica, recebida via protocolo de roteamento dinâmico
ou adicionar pelo RouterOS
C Conectada diretamente
S Estática, adicionada manualmente
Visualizando Rotas
R Rota adicionada via protocolo RIP
B Rota adicionada via protocolo BGP
O Rota adicionava via protocolo OSPF
M Rota adicionava via protocolo MME (Normalmente utilizada via
Wireless)
B BlackHole. Pacotes destinados a essa rede, serão descartados
silenciosamente.
U Inalcançável. Pacotes destinados a essa rede, serão
descartados com aviso ICMP unreachable messages.
P Proibido. Pacotes destinados a essa rede serão proibidos e um
pacote ICMP será enviado comunicando que o pacote é
administrativamente proibido.
Visualizando Rotas

Com essas flag jás poderemos entender o que se passa em nossa


tabela de roteamento. Então a nossa tabela vista acima,
podemos deduzir que:
AS É uma rota estática adicionada manualmente e está ativa.
S É uma rota estática adicionada manualmente, mas não está
ativa. Veja a frente FailOver.
ADC É uma rota ativa, adicionada pelo Routers Os e está
diretamente conectada a rede em questão.
FailOver de Link Wans
Por padrão, não é necessário nenhum processo metabólico para
termos um backup de Link. Neste modelo, teremos dois links, um
estará parado e outro estará ativo. No momento que um link cair
o outro irá assumir. Em nosso cenário, não apenas para esse
exemplo, como para os demais, teremos nosso RouterOS com
três interfaces, duas com links de Internet e outro link para nossa
LAN, veja abaixo o modelo.
FaioOver de Link Wans
FaioOver de Link Wans

Como podemos ver em nosso cenário acima, o RouterOs tem dois


links com endereços IP 200.0.0.2 e 189.0.0.2 e mais uma interface
com endereço IP 192.168.1.1 que faz a comunicação com nossa
rede LAN.
Neste primeiro momento, nosso link 1 será o link ativo, enquanto do
link 2 será nosso link de backup.
Os cadastros de endereçamento IP são feitos normalmente sem
nenhuma alteração do que vimos anteriormente.
FaioOver de Link Wans

Para funcionar nosso FailOver, o processo é muito simples, no


momento de cadastrar nossas rotas para os links de internet,
devemos ter métricas diferentes para cada rota, dessa forma
deixaremos a rota para o link 1 com métrica 1 e a rota para o
link 2 com métrica 2. E mais uma rota de monitoramento para o
link 1, neste caso usamos 8.8.8.8

ip route add dst-address=0.0.0.0/24 gateway=200.0.0.1 distance=1


ip route add dst-address=8.8.8.8 gateway=200.0.0.1 distance=1
ip route add dst-address=0.0.0.0/24 gateway=189.0.0.1 distance=2
FaioOver de Link Wans

Podemos ver na Figura abaixo o resultado de nossa configuração,


onde a rota com gateway 189.0.0.1 está em azul e somente com
a Flag S. Isso significa que é uma rota adicionada manualmente,
mas no momento não está em uso, pois não possui a Flag A de
active como a primeira regra com gateway 200.0.0.1.
Este tipo de configuração é bem simples, a link 2 assumirá
automaticamente como rota padrão, quando o link 1 cair.
FaioOver de Link Wans
FaioOver de Link Wans

Devemos verificar qual o number de nossas rotas para a criação do


script.
FaioOver de Link Wans

Como vimos anteriormente nosso link principal é o number 0.


FaioOver de Link Wans

Agora devemos criar dois scripts, uma para o link down e outro
para o linkup, vá em System > Scripts e crie os scripts abaixo
linkup e linkdown

Script linkdow
Script linkup
/ip route set numbers=0
/ip route set numbers=0
disabled=yes
disabled=no
FaioOver de Link Wans

Agora iremos usar a ferramenta Netwatch. Vá em Tools > Netwatch.


Clique no + para adicionar uma nova entrada. Em host utiliza
8.8.8.8, em UP coloque o nome do script linkup e em down o
script linkdown.
Balanceamento de Link por
protocolos e endereçamento IP

Neste segundo tipo de balanceamento, podemos estabelecer que


determinado endereços de origem ou destino, ou ainda
protocolos sejam enviados por determinado link.
Para que isso funcione, teremos que usar a tabela Mangle, do
firewall para fazer marcação de pacotes, e através dessa
marcação podermos definir rotas. Mas a primeira coisa que
devemos fazer é os NAT ou MASQUERADE, para os dois links.
Como já vimos isso anteriormente em NAT, usarei somente a
configuração via linha de comando.
Balanceamento de Link por
protocolos e endereçamento IP
ip firewall nat chain=srcnat src-address=192.168.1.0/24 out-
interface=WAN1 action=masquerade
ip firewall nat chain=srcnat src-address=192.168.1.0/24 out-
interface=WAN2 action=masquerade

Nesta regra acima, estamos configurando nossos dois links, onde foi
nomeado as interfaces de WAN1 e WAN2. Poderia usar ao invés
de masquerade poderíamos usar src-nat, enviando para 200.0.0.1
e 189.0.0.1.
Balanceamento de Link por
protocolos e endereçamento IP
Próximo passo é criar as rotas, como vimos anteriormente, alias,
podemos usar o mesmo exemplo, deixando a rota para 200.0.0.1
com métrica 1, e 189.0.0.1 para métrica 2. Agora iremos fazer
marcação de pacotes para envia para outros Links, no caso
WAN2. Desta forma facilita muito a vida, para que determinados
pacotes, ou regras criadas para marcar pacotes, ip de origem ou
destino e até protocolos saiam pelo link 2.
Imagine que o link 1, ou WAN1 seja um ADSL de 10 Mbps, e o WAN2
um link real de 10 Mbps, desta forma queremos que alguns itens
saem por ele.
Balanceamento por Origem

. Neste cenário, queremos que determinados endereços IP internos,


como nossos servidores, diretoria, TI etc., saiam por determinado
link, que no caso o link WAN2. Se for um range, não teremos
problemas, mas se forem IPs diferenciados, teremos que
primeiramente criar uma lista de origem, ou Address List.
Vamos em IP > Firewall > Address List, e vamos criar uma lista
chamada, ips-wan2 por exemplo. O nome é irrelevante, mas
será usado na marcação de pacotes posteriormente.
Balanceamento por Origem
Balanceamento por Origem

Devemos cadastrar todos os endereços Ips que farão parte desta


lista de endereços que serão direcionados para o link WAN2.
Veja abaixo uma lista já com alguns endereços Ips:
Balanceamento por Origem

Também é possível criar a lista via linha de comando:

ip firewall address-list add address=192.168.1.151 list=ips-wan2

Este é um exemplo onde estamos adicionando 192.168.1.151 na


lista ips-wan2.
Uma vez que nossa lista já esteja criada, agora deveremos marcar
todos os pacotes dessa lista, para posteriormente criamos uma
rota baseado nessa marcação.
Balanceamento por Origem

Para criamos a marca do pacote, ou marcarmos o pacote,


devemos usar a tabela mangle do nosso firewall. Vamos em IP >
Firewall> Mangle, e vamos adicionar uma nova regra.
Na nova tela que se abre, na Guia General usaremos a cadeia
(Chain) prerouting. Já na guia Advanced, usaremos em Src.
Address List, a lista que criamos anteriormente chamada ips-
wan2. E por fim em Action usaremos mark routing, e em New
Routing Mark, iremos informar o nome dessa marcação, que em
nosso caso usei route-wan2.
Balanceamento por Origem

Com isso todo pacote cuja a origem esteja na Lista ips-wan2, será
marcado pela mangle com a marca de roteamento route-wan.
O que devemos fazer a seguir é informar na rota que criamos
anteriormente use essa marcação para rotear para link WAN2.
Balanceamento por Origem
Acima figura para criação da regra mangle, na tabela prerouting.
Balanceamento por Origem
Agora nesta segunda imagem, estamos informando a lista de
origem criada anteriormente ips-wan2..
Balanceamento por Origem
E por fim, a ação que usaremos é justamente marcar esse pacote
para usar uma rota configurado com o nome route-wan2.
Balanceamento por Origem
Essa marca deverá ser utilizada na rota existente, ou uma nova
rota, onde no campo Routing Mark informaremos o nome da
marcação.
Para fazermos essa rota, vamos em IP > Routes, e adicione uma
nova rota. No campo Dst. Address deixamos o padrão como
0.0.0.0/0, em Gateway informamos o gateway para o link 2, que
é 189.0.0.1, e por fim em Routing Mark, informamos o nome da
marcação route-wan2.
Balanceamento por Origem
Como podemos ver acima, alteramos o Gateway e informamos a
Routing Mark que criamos anteriormente. Com isso nosso
roteamento já está ok. Toda origem em nossa lista ips-wan2,
usará somente o link 2.
Balanceamento por Origem
Como podemos ver acima, alteramos o Gateway e informamos a
Routing Mark que criamos anteriormente. Com isso nosso
roteamento já está ok. Toda origem em nossa lista ips-wan2,
usará somente o link 2.
Balanceamento por Origem

ip firewall mangle add chain=prerouting src-address-list=ips-wan2


action=mark-routing new-routing-mark=route-wan2
ip route add dst-address=0.0.0.0/0 gateway=189.0.0.1 distance=2
routing-mark=route-wan2

Na primeira regra, estamos criando a regra mangle, para marcar os


pacotes da lista ips-wan2, onde estamos marcando utilizando o
nome route-wan2. Já na segunda regra estamos criando a rota
padrão, para o gateway 189.0.0.1 utilizar a marca route-wan2,
redirecionado todo trafego para este link.
Balanceamento por protocolo

Da mesma forma que fizemos um balanceamento por origem,


podemos fazer por destino, criando uma lista de endereços de
destino, no caso logico por endereços Ips. Em nosso caso
além de fazermos por ips , falaremos também de protocolo.
Vamos criar uma lista para usarmos em Dst. Address List.
Neste exemplo, peguei 2 endereços IPs genéricos, mas poderia ser
por exemplo do youtube, facebook, entre outros. Lembrando
que no caso de ambos, você teria que colocar todos os
endereços na lista, e não são poucos
Balanceamento por destino

ip firewall address-list add address=189.50.1.3 list=dst-wan2


ip firewall address-list add address=189.50.1.4 list=dst-wan2
ip firewall address-list add address=189.50.1.5 list=dst-wan2
Balanceamento por destino
ip firewall address-list print
Flags: X - disabled, D - dynamic
# LIST ADDRESS
0 facebbok 31.13.24.0/21
1 facebbok 31.13.64.0/18
2 facebbok 31.13.64.0/24
3 facebbok 31.13.64.0/24
4 ips-wan2 192.168.1.100
5 ips-wan2 192.168.1.254
6 ips-wan2 192.168.1.200
7 ips-wan2 192.168.1.150
8 ips-wan2 192.168.1.151
9 dst-wan2 189.50.1.3
10 dst-wan2 189.50.1.4
11 dst-wan2 189.50.1.5
Balanceamento por destino
Agora vamos criar uma regra de firewall na mangle
para vincular com a lista dst-wan2, e criamos uma
marca.

ip firewall mangle add chain=prerouting dst-address-


list=dst-wan2 action=mark-routing new-routing-
mark=route-wan2

Nesse exemplo acima, estou usando novamente a


route-wan2, de forma que não seria necessário fazer
mais nada, e todos os pacotes com destino ao ip
cadastrados em dst-wan2, sairiam pelo link WAN2.
Balanceamento por protocolo
Mas caso quiséssemos criar uma nova regra de firewall
da mangle, para uma nova rota também,
poderíamos somente alterar o valor de new-routing-
mark.

ip firewall mangle add chain=prerouting dst-address-


list=dst-wan2 action=mark-routing new-routing-
mark=saindo-wan2

Nesse caso acima estamos criando a marca saindo-


wan2. Por fim, basta criamos então a rota, utilizando a
marca de pacote saindo-wan2.
Balanceamento por protocolo

ip route add dst-address=0.0.0.0/24 gateway=189.0.0.1 distance=2


routing-mark=saindo-wan2

Finalizamos a configuração para envio de pacotes com destino ao


Ips de dst-wan2, onde os mesmos deverão sair pelo link WAN2.
.
Balanceamento por protocolo
Agora vamos criar uma regra para pacotes de protocolo
especifico. A primeira coisa a fazer é a marcação na mangle
novamente. Em Genaral, usaremos a prerouting novamente, e
em protocol tcp, em Dst. Port usaremos 80,443, e por fim Action,
usamos a ação Mark Routing e damos um nome em New
Routing Mark como por exemplo portas-wan2.
Balanceamento por protocolo
Balanceamento por protocolo
Na versão linha de comando ficaria:

ip firewall mangle add chain=prerouting dst-port=80,443


action=mark-routing new-routing-mark=portas-wan2

E novamente, criar ou vincular a rota de saida. Em nosso caso uma


nova rota será necessária:

ip route add dst-address=0.0.0.0/24 gateway=189.0.0.1 distance=2


routing-mark=portas-wan2

Neste exemplo, todos os pacotes com destinos a porta 80 (http), ou


443 (https) serão marcados na tabela mangle como portas-
wan2, que na tabela de roteamente serão roteados para o link
WAN2 através dessa marca.

Você também pode gostar