Sei sulla pagina 1di 162

Treinamento MikroTik RouterOS

Certificação – MTCINE
Objetivo do Curso

• Prover conhecimento teórico e prático referentes aos


recursos Internetworking e MPLS básico e avançado no
RouterOS a serem aplicados em redes de pequeno e
grande porte.

• Após a conclusão do curso, você será capaz de planejar,


implementar, ajustar e depurar as configurações de BGP
e MPLS implementados pelo RouterOS.

7
Visão Geral

• BGP
– BGP Basics (iBGP, eBGP)
– Distribuição, filtros e BGP attributes

• MPLS
– Introdução ao MPLS
– LDP
– L2 e L3 VPN's
– Traffic Engineering

8
Primeiro lab
• Por favor resetem as RBs!

/system reset no-defaults=yes


Cenário da aula

Criem uma rede conforme mostrado no slide a


seguir;
• Os routers R1 e R2 irão se conectar ao SSID
AS100;
• Cada router da rede local terá uma rede
192.168.xy.0/24 onde:
– X é o número do grupo
– Y é o número do router

10
Setup

11
BGP
Border Gateway Protocol

12
BGP - Básico

• Protocolo padrão do Router de Borda;

• Usado também como protocolo de roteamento “Inter-


AS”;
• Informações sobre a topologia da rede não são
trocadas. Somente informações sobre alcançabilidade;

• O único protocolo que pode lidar com uma rede do


tamanho da internet;

• Utiliza o algoritmo de distância vetorial.

14
BGP - Autonomous system(AS)
• Conjunto de roteadores que compartilham a mesma
política de roteamento;
• Troca de rotas:
– Routers com o mesmo AS usam o mesmo IGP
– Routers entre ASs usam EGP

• São números únicos;


• Podem ser de: 16 e 32 bits
• Números entre 64512 – 65535 são reservados pra uso
privado.

15
Implementação da distância vetorial

• O “prefixo” é informado com a lista de ASs ao


longo do caminho chamado AS Path;

• Trata todo o AS como um único ponto de


caminho;

• Pode esconder a topologia da rede dentro do AS;

• Não é capaz de prover uma rede livre de loops


dentro do próprio AS.

16
Implementação da distância vetorial

17
BGP - Capabilities
• É informado por seu peer BGP os códigos de capacidades
suportadas;

• Se uma capacidade não é suportada, uma mensagem de notificação


é enviada de volta;

• Neste caso o peer vai tentar estabelecer conexão sem a capacidade


caso ela não seja requerida;

• Alguns exemplos de capacidades do RouterOS são:


– Route Refresh(RFC 2918);
– Multi-protocol Extension(RFC 4760);
– Suporte aos “novos” AS de 4-bytes.

18
BGP - Transporte
• Funciona trocando informações de NLRI(Network Layer
Reachability Information);

• O NLRI possui diversos atributos BGP e um ou mais


atributos que eles possam estar associados;

• Utiliza o protocolo TCP na porta 179 como transporte;

• Inicialmente a tabela full routing é trocada entre os peers;

• Informações extras de atualização serão feitos após a troca


inicial.

19
Formato do Pacote

• O pacote possui 4 campos principais:


– Marker (128 bits) – Usado para autenticação;
– Length (16 bits);
– Type (8 bits) – Tipo de mensagem BGP;
– Message body.

20
BGP – Tipos de mensagens

• São 4 tipos de mensagens:


– Open: Primeira mensagem enviada após a conexão
TCP ser estabelecida. Contém a lista de capacidades e
deve ser confirmada com uma mensagem de
“keepalive”;
– Keepalive: Não contêm dados. Enviada somente para
evitar que a sessão expire;
– Update: Atualização de rotas. Contêm:
• NLRI;
• Path attributes;
– Notification: Enviada quando algum erro ocorre.
Contêm um código e sub-código do erro.

21
BGP – Session e Update

22
BGP - Networks
• Indica quais redes o protocolo deve originar a partir do router;

• Por padrão a rede somente é advertida se estiver presente na tabela de


rotas;

• O mecanismo de synchronization pode ser desativado se:


– Seu AS não provê serviço de transito;
– Todos os routers de trânsito rodam BGP;

• Desabilitar o “sync” permite uma convergência mais rápida do BGP;

• O mecanismo de “sync” pode ser muito perigoso caso a conexão esteja


muito instável;

• Pode ser configurado em: /routing bgp network

23
BGP – Multi Protocol

• O formato do pacote BGP foi designado inicialmente


no padrão IPv4;

• Uma “família” de novos atributos foram criados para


poder dar suporte aos novos tipos de endereços;

• O RouterOS suporta os seguintes:


– IPv6;
– L2VPN;
– VPN4;
– Cisco Style L2VPN.

24
BGP - Instances

• Cada instância BGP roda seu próprio algoritmo de


seleção;
– Rotas entre as instâncias são eleitas por outros métodos
como “distance”, por exemplo;

• Rotas de uma instância não são automaticamente


redistribuídas para outras instâncias;
– Para isso é necessário que você opte por esta opção:
/routing bgp instance
set <id> redistribute-other-bgp=yes

• Os atributos BGP não são herdados de outras instâncias.


25
BGP - Habilitando

• Acima está a configuração mínima.

• Se o router-id não for informado, o maior endereço IP será usado.

• Verifique o status da conexão com o comando print. Qualquer estado


diferente de established significa que não há troca de base de dados.

26
Cenários – Rede Stub

• Single Homed
– Utiliza-se AS privado(64512-65535);
– O ISP origina somente rota default;
– Na verdade o BGP não seria necessário;
– O router(ISP upstream) que fecha BGP com AS público é
que adverte as redes;
– Deve usar a mesma política do ISP
Remoção do AS privado

• Seu AS privado não pode chegar


ao ambiente público;

• Ele deve estar disponível somente


para seus vizinhos eBGP do AS
privado;

• Anuncie somente rotas


agregadas;

• Utilize o seguinte comando:

28
BGP - Lab 1

• Crie uma rede BGP conforme ilustrado no


próximo slide:
– Os routers R1 e R2 vão fechar peer com o AP;
– Os routers R2 e R4 vão fechar peer entre si;
– Os routers R1 e R3 vão fechar peer entre si;

• Anuncie sua rede local;


• O AS privado deve ser removido;
• R1 e R2 originem rota default.
30
BGP – Lab 1

31
Cenários – Rede Stub

• Multihomed:
– Utiliza-se AS privado também – opcional;
– Pode ser usado:
• Como link backup/principal;
• Balanceamento de carga;
– O router(ISP upstream) que fecha BGP com AS público
é que adverte as redes;
– Deve usar a mesma política do ISP
– upstream.

32
Cenários não stub

• Necessita de um AS público;
• Uma range IP de seu RIR;
• Pode utilizar uma política de
roteamento diferente de
seus ISPs;
• Pode ser usado:
– Como link backup/principal;
– Balanceamento de carga;
– Maiores políticas de
roteamento avançado.

33
BGP - Contrack

• A contrack não é capaz de manter válidas as


conexões em um ambiente multihomed;

• Pacotes relacionados a uma conexão podem fluir


por diferentes caminhos;
– Por isso é muito importante que neste tipo de cenário
você JAMAIS use drop conexões inválidas no firewall.

• A contrack pode ser desabilitada para obtenção


de uma melhor performance.
34
BGP – Lab 2

• Adicione o R3 ao mesmo AS do R1;

• Adicione o R4 ao mesmo AS do R2;

• Crie um peer entre R4 e R3;

• Habilite o OSPF para distribuir rotas conectadas


nos routers de mesmo AS;

• Anunciem ambas as redes locais de seus AS;


36
BGP – Lab 2

37
BGP – Lab 2

38
BGP – Lab 2

• O BGP distribui somente a melhor rota. Enquanto em R1 a


melhor rota é recebida de R3, R1 não distribui de volta as
redes 12.0/24 e 14.0/24 para R3.
39
eBGP e iBGP

• iBGP: peers entre routers do mesmo AS;


• eBGP: peers entre routers de outros AS;

40
eBGP

• Quase sempre formado por peers que estão


diretamente conectados;

• A opção “multi-hop” é exigida se o peer não


estiver diretamente conectado;

• Adiciona o AS ao prefixo de caminho advertido;

• Por padrão a opção “Next-hop” e alterada para


“self”.

41
eBGP – Exemplo de multihop

• Neste exemplo podemos ver um bom exemplo do uso do multihop mesmo


em routers diretamente conectados.
• Nesta configuração foi utilizado endereço loopback para conexão entre os
peers e portanto seria necessário o uso de rota estática ou algum IGP para
existir alcançabilidade IP entre os mesmos.
• Esta é uma ótima prática para evitar ataques DoS.
42
iBGP
• Por padrão o “next-hop” não é modificado
– Utilize algum IGP(RIP, OSPF, estático) para garantir a
alcançabilidade IP dentro do AS.
• Atributos aprendidos a partir do iBGP não são alterados
para não impactar a seleção de caminho para rede externa;
• O as_path não é manipulado;
• Prover formas de controlar pontos de saída do AS;
• Rotas externas recebidas de um peer iBGP não são
passadas para outros peers iBGP;
– Para que isso ocorra é necessário o uso de full mesh ou router
reflect.

43
iBGP

44
LoopBack
• Elimina a dependência de estabelecimento da conexão
TCP interface física;
• Comumente utilizado entre peers iBGP;
• No MikroTik podemos utilizar uma bridge vazia como
interface loopback;

45
BGP – Lab 3

• Vamos incrementar o setup atual utilizando


endereços loopback entre peers iBGP com o
seguinte endereçamento 10.255.x.y/32;

• Adicione o endereço loopback na network do


OSPF;

• Modifique o router-id do OSPF e do BGP para


o endereço loopback;

47
Distribuição de rotas

• As rotas IGP(estático, OSPF, RIP) podem ser distribuídas


da seguinte forma:
– /routing bgp instance
– set default redistribute-static=yes
– set default redistribute-ospf=yes

• O prefix origin será “incomplete”;


• Existe o risco de todas rotas IGP serem publicadas;
• Utilize filtros para evitar estas propagações
indesejadas.

48
Exemplo de distribuição

• Desta forma os pacotes serão cessados a não ser


que exista uma rota mais especifica;
• É um boa forma de publicar uma “supernet”.
49
Routing Filters
• É a principal ferramenta para controlar e modificar as
informações de roteamento;
• São organizados em canais muito similar ao firewall;
• Pode especificar quais configurações serão aplicadas aos
peers BGP ou como filtro de saída da própria instância;
• Primeiramente os prefix passam pelo filtro da instância e
somente após isso é que passam pelos filtros dos peers.

50
Exemplo de filtro

51
Filtrando prefixo

52
Filtro AS PATH

• Pode ser configurado para permitir updates


somente de/para um AS especifico;
• Suporta expressões regulares tais como:
• “ . ” – qualquer caractere;
• “ ^ “ – inicio do as_path;
• “ $ “ – final do as_path;
• “ _ “ – qualquer valor entre vírgulas, no início, no fim
ou em um intervalo especifico.

53
Mais opções de Filtros AS Path

• .* - Todas as rotas BGP


• ^$ - Rotas que se originam no meu AS
• ^(100|200|300)$ - Rotas originadas no 100, 200 ou 300
^1002$ - Rotas que se originam no AS 1002 , adjacente ao
meu AS _1002$ - Rotas que terminam no AS 1002
• ^1002_ - Rotas originadas no AS 1002
• _1002_ - Rotas que passaram no AS 1002
• (...)+(...) – Uma ou várias ocorr ncias do caractere
especificado antes ( + = ou )
BGP – Reconfiguração “leve”

• Quando usamos action=discard as rotas não


serão mais atualizadas após a aplicação do filtro;
• Solução?
• Use action=reject para manter as rotas na memória;
• Modo Dynamic(O peer deve ter suporte a capacidade
“refresh”):
• O peer vai atualizar as rotas após as alterações serem feitas;
• Neste caso não há uso extra de memória;
• Não é feito automaticamente – é necessário você executar o
comando “refresh”.

55
BGP – Lab 4

• Adicione filtros de forma que:


– R1 não receba o prefixo 192.168.x2.0/24 do AP;

– R2 não receba o prefixo 192.168.x1.0/24 do AP;

– R3 não receba o prefixo 192.168.x4.0/24 de R4;

– R4 não receba o prefixo 192.168.x3.0/24 de R3;

57
BGP – Lab 4

• Vamos verificar R3. Se os filtros foram


empregados corretamente o tracert para a
rede x2 deverá ir por R4 e o tracert para x4
deverá ir pelo AP.

58
BGP – Algoritmo de decisão
• BGP utiliza o simples “melhor caminho” para o destino;
• BGP sempre propaga o “melhor caminho” para os
vizinhos;
• Diferentes atributos de caminho são usados para
determinar o “melhor caminho” como:
– weight;
– Next-hop;
– As_path;
– Local_preference;
– Etc…

59
Seleção de melhor caminho
• Validação do “next-hop”;
• Maior “weight” – default=0;
• Maior “local_pref” – default=100;
• Menor “as_path”;
• Caminho gerado localmente(aggregate, BGP network, etc.);
• Menor tipo “origin” – (IGP, EGP, incomplete);
• Menor MED – default=0;
• eBGP é preferido sobre iBGP;
• Rota proveniente do menor Router ID;
• Menor cluster de router reflect – default=0;
• Caminho proveniente do vizinho com menor endereço IP.

60
Nexthop

• Endereço IP utilizado para alcançar um determinado


destino;
• Para o eBGP o nexthop é o endereço IP de seu vizinho;
• O nexthop informado pelo eBGP é carregado dentro do
iBGP.

61
Nexthop self

• Força o BGP a utilizar seu próprio IP como


nexthop;

62
Weight
• O weight é um atributo de uso próprio do router;
• Prefixos sem atribuição deste valor por padrão terá o
valor 0 atribuído;
• Router com o maior peso será preferido;
• Boa forma de controla o fluxo de upstream.

63
Local Preference
• Indica que caminho tem preferência para deixar o AS;

• Caminho com maior local_pref será escolhido (default: 100);

• É informado junto com o AS;

• Outra boa forma de controle de upstream.

64
AS Path

• Lista de números AS que são atualizados


sempre que se passa por um AS;

65
As Path Prepend

• A manipulação do as_path pode ser feita pra


influenciar a seleção de melhor caminho dos
outros routers;

66
As Path Prepend

• Desta forma pode-se influenciar o tráfego de


upstream dos outros routers. O que de forma
indireta irá influenciar seu próprio tráfego de
downstream.

67
Origin

• Informação sobre a origem da rota:


– IGP: interna ou gerado no próprio AS;

– EGP: rota originada por um protocolo externo;

– Incomplete: origem desconhecida. Geralmente


ocorre quando a rota é redistribuída pelo BGP.

68
MED

• Multi Exit Discriminator ou métrica. Funciona


como sugestão ao vizinho externo sobre a
preferência de caminho dentro do AS;
• A menor métrica é escolhida;
• Atributo trocado entre ASs e usado para tomar
decisão de caminho dentro deste AS e não será
passado adiante a um terceiro AS;
• Atributo ignorado se for recebido de um AS
diferente.
69
MED - Exemplo

• R1, R2 e R3 publicam a mesma rede para R4 com diferentes valores


de MED. R4 vai comparar somente valores de MED vindos de R2 e
R3 e o MED de R1 será ignorado;

• Outros atributos serão usados para seleção de melhor caminho.

70
BGP – Lab 5

• Utilize as_path prepend para balanceamento de


carga e failover conforme ilustra a imagem.

72
Community

• Atributo usado para agrupar destinos;


• Filtros podem ser facilmente aplicados para todo
o grupo;

• Existem também alguns grupos padrão:


– No-export: não publica para o peer eBGP;
– No-advertise: não publica para nenhum peer;
– Internet: publica para a comunidade internet;
– Local-as: não publica pra fora do AS local.

73
Community - Exemplo

• Supomos que você não queira que R2


propague rotas aprendidas de R1:

74
Community – Cont...
• Tem o valor de 32bits e é escrito no formato: “xx:yy”;
• Permite ao administrador maiores políticas de controle;
• Simplifica a configuração de upstream;
• Pode ser usado pelo ISP para:
– Opções de as_prepend;
– Restrições geográficas;
– Blackholing, etc…

• Usado também para checar o Internet Routing Registry


(IRR).

75
Community – outro exemplo

• AS 100 define communitys publicas;


– 100:500 – adverte para todos os peers;
– 100:501 – adverte para o AS 400.

76
Community – outro exemplo – cont...

77
Exemplos para ISPs
aut-num: AS2588
as-name: LatnetServiss-AS
descr: LATNET ISP
member-of: AS-LATVIA
remarks: +--------------------------------------------------
remarks: |
remarks: | x=0 Announce as is
remarks: | x=1 Prepend +1
remarks: | x=2 Prepend +2
remarks: | x=3 Prepend +3
remarks: | x=4 Prepend +4
remarks: | x=5 Prepend +5
remarks: |
remarks: | 2588:400 Latvian Nets
remarks: | 2588:500 Announce to LIX (Latvian Internet Exchange)
remarks: | 2588:666 Don't announce (blackhole)
remarks: | 2588:70x Announce to uplinks with $x prepend
remarks: | 2588:900 Recieved from LIX (Latvian Internet Exchange)
remarks: |
remarks: | For more information please use the email address
remarks: | iproute (at) latnet (dot) lv
remarks: +--------------------------------------------------

78
Agregação
• É o conceito de sumarização de rotas mais especificas em uma supernet;
• Pode ser usada para esconder a topologia;
• Funciona somente nos routers da mesma instância BGP;

79
BGP – Router Reflect

• Re-adverte rotas iBGP para evitar o full mesh;

• Reduz a contagem de mensagens de comunicação;

• Reduz também a quantidade de dados por mensagem;


– Neste caso somente o melhor caminho é “refletido”.

80
Router Reflect - configuração
• RR é configurado habilitando a opção “client-to-client
reflection” desta forma:
/routing bgp instance
set default client-to-client-reflection=yes

• Confirme o peer RR em sua configuração desta forma:


/routing bgp peer
add route-reflect=yes remote-peer=x.x.x.x

• RR deve ser habilitado SOMENTE no roteador “refletor”;


• O RouterOS não pode ser configurado puramente como RR.

81
BGP - Confederation
• Agrega múltiplos ASs em um único AS;
• Para o mundo externo a confederation aparece como um
único AS;
• Cada AS deve estar rodando full mesh ou RR;
• Troca de rotas entre confederados eBGP são entendidas
como rotas de iBGP;
• O as-path dentro da confederation aparecerá entre
parênteses: as-path=(30,20);

82
Confederation – As Path

83
Confederation – As Path

84
BGP – Lab 6

86
MPLS

Multi-protocol Label Switching

LDP, VPNs, (L2, L3), TE

87
MPLS – Pré Setup

• Reset sua RB - /system reset no-default=yes


• Efetue o setup conforme a imagem no slide
seguinte;
• Crie as interfaces loopback e distribuía via
OSPF;
• Não esqueça de adicionar a loopback em
networks.

88
MPLS – Pré Setup

89
MPLS
• Tecnologia de encaminhamento de pacotes baseada
em pequenos rótulos;
• Objetivo inicial: um encaminhamento de pacotes mais
eficiente do que o roteamento IP comum;
• Serve também como base para alguns “serviços
avançados” como:
– VPNs L3;
– AToM(Any transport over mpls) – VPNs L2;
– MPLS TE(Traffic Engeneerin);
– Serviços com garantia de banda.

90
MPLS - Básico
• LER: Label Edge Router – Responsáveis por classificar e rotular os
pacotes que ingressam na nuvem mpls. São responsáveis também
pela remoção do rótulo antes do pacote deixar a nuvem mpls;
• LSR: Label Switch Router – Responsáveis pelo encaminhamento dos
pacotes já rotulados;

91
MPLS – Básico – cont...

• Por ter sido criado após a concepção do OSI o MPLS é


considerado um protocolo de camada 2.5;

• O cabeçalho extra(32 bits) é inserido no modelo OSI


entre a L2 e a L3 da seguinte forma:
– Label (20 bits);
– EXP (3 bits) – CoS;
– End of stak flag(1 bit) – caso o rótulo atual seja o último da
pilha;
– TTL (8 bits).

92
MPLS – Básico – cont...
• É permitido o uso de mais de 1 label;
• Os labels são agrupados em pilhas;
• Os LSRs sempre usam o label que estiver no topo da
pilha;
• Existem vários métodos de distribuição de labels:
– Static Label Mapping;
– LDP – mapeia o destino unicast dentro do label;
– BGP – labels externos (VPN);
– RSVP, CR-LDP – usados em traffic engeneering e reserva de
recursos.

93
Static Label Mapping

• O RouterOS permite adicionar estaticamente


labels local e remoto;

• A range dinâmica do MPLS deve ser ajustada


para liberar os labels para o uso estático;

94
Static Label Mapping

95
Teste com traceroute

96
Static Mapping - Lab

• Crie ligações estáticas de labels para os


endereços loopback;
• Enquanto o ECMP não é usado nas ligações
estáticas, escolha somente o primeiro
gateway;

• Verifique se os labels estão sendo setados


com o traceroute:
/tool traceroute 10.255.1.1 src-address=10.255.1.3

98
LDP

• Label Distribution Protocol é o protocolo de


distribuição dos labels de forma dinâmica;

• Depende das informações providas pelo IGP


para criar o mapeamento local de labels e
distribuir para os demais vizinhos LDP.

99
Label Space

• Espaço de Labels por interface – o pacote é


encaminhado de acordo com as informações
da interface de entrada e seu label;
• Espaço de Labels por plataforma – o label não
é o único da interface;

100
Modos de distribuição

• Downstream-on-demand (DoD) – cada LSR


requisita o label de ligação do “next-hop”;

• Unsolicited Downstream (UD) – O LSR distribui


todas as ligações de LSRs adjacentes mesmo
que o LSR não esteja requisitando esta
informação.

101
Números para lembrar

• Mensagens de Hello LDP – UDP porta 646;

• Estabelecimento de sessão de transporte LDP


– TCP porta 646;

• As mensagens de hello são enviadas para


todos os routers através da subnet de
endereço multicast 224.0.0.2.

102
Configurando o LDP

• Pode ser configurado no menu: “/mpls ldp”:


/mpls ldp set enabled=yes transport-address=x.x.x.x \
lsr-id=x.x.x.x
/mpls ldp interface add interface=ether1

• Ao setar o transport address garantimos o uso


correto do penúltimo hop. O que garante um
comportamento conhecido por “penultimate
hop popping”.

103
LDP - Lab
• Remova todo mapeamento estático feito no lab
anterior;
• Habilite o LDP e configure o lsr-id e o transport-
address com o mesmo endereço da loopback;
• Adicione todas interfaces LDP conectadas aos seus
vizinhos que “falem” mpls;
• Verifique se seus vizinhos foram criados:
– /mpls ldp neighbor print
• Verifique a tabela de forward do MPLS:
– /mpls forwarding-table print

104
Labels reservados

• Labels de 0 a 15 são reservados, mas somente


4 são usados até o momento:
– 0: explicit null;
1: router alert;
– 2: IPv6 explicit null;
– 3: implicit null;

105
Penultimate Hop Poppging

• O router mpls que é o ponto de saída da rede


e está ligado a um router que não suporta
tráfego mpls;
• Advertido com label ‘implicit null”;
• O penultimate hop popping garante que o
router não vai precisar fazer nenhum lookup
extra no label já que ele está ciente de que
deve encaminhar o pacote adiante.

106
Implicit e Explicit Null

107
Explicit null

• Se for configurado, o penúltimo LSR encaminha o


pacote com um label null ao invés da toda a pilha;

• Útil também para preservar o QoS;

• Não é requerido caso a pilha contenha pelo


menos 2 labels pois o label interno pode carregar
as informações do QoS;

• Por padrão o implicit null é usado.


108
MPLS - Traceroute

• Mensagens ICMP de erro são trocadas mais


adiante do LSP(Label Switched Path);

• Isto causa um falso incremento de latência


para este determinado salto.

109
Targeted LDP sessions
• Em alguns casos é necessário utilizar o recurso
targeted ldp session.
• Este recurso permite uma ligação entre LSRs que
não estão diretamente ligados;
• Configuração:
/mpls ldp neighbor add transport=<remote-ip> send-targeted=yes

110
Label Binding Filtering
• Pode ser usado para distribuir somente uma parte dos
labels com o intuito de reduzir o uso de recursos;
• Existem 2 tipos de filtros:
– O que informa que os avisos devem ser informados:
• /mpls ldp advertise-filter
– O que informa que os avisos devem ser aceitos:
• /mpls ldp accept-filter

• Filtros são aplicados aos avisos de entrada e saída.


Qualquer alteração nos filtros requer desabilitar e
habilitar o LDP.

111
Label Binding - Lab

• Configure o label binding filter para que


somente os endereços loopback possam ser
enviados e recebidos no seu grupo;

• Verifique a tabela de forward para ter certeza


que os filtros estão funcionando;

• Verifique se o pacote foi encaminha via mpls


ou L3 utilizando o traceroute.
113
VPN L3
VRF

114
VRF
• Virtual Routing and Forwarding – Roteamento e
encaminhamento virtual;
• Funciona baseado em políticas de roteamento;
• Funcionalidade de roteamento completamente
independente da tabela de roteamento do roteador;
• Múltiplas VRFs resolvem o problema da sobreposição
de endereços IP dos clientes;
• Porém ao contrário dos pacotes da main table, quando
o nexthop falha na tabela vrf o pacote não seguirá pelo
gateway default da main table.
115
Vazamento de rota

• É a troca de rotas entre VRFs separadas;


• Rota estática Inter-VRF:
– Explicitamente especificada na tabela de rotas:
/ip route add gateway=10.3.0.1@main routing-mark=vrf1
– Explicitamente especificada pela interface:
/ip route add dst-address=1.1.1.0/24 gateway=10.3.0.1%ether1
routing-mark=vrf1

116
VRF – Gerenciamento de routers

• Qualquer gerenciamento do router não será


possível a partir de uma VRF (winbox, ssh,
telnet, etc…);

• Os recursos de ping e traceroute foram


atualizados para suportar VRFs;

• O OSPF e o BGP podem ser usados como CE-


PE (Costumer Edge – Provider Edge).

117
BGP/MPLS – IP VPN

• Ao contrário da VPLS funciona em L3;


• Também conhecida como L3VPN;
• O suporte a multiprotocolos do BGP permite
distribuir rotas entre VRFs ou até para o
próprio router;
• Entretanto a rede informada deve ter suporte
ao MPLS também.

118
L3VPN

119
Route Distinguisher

• O RD é usado para tornar os prefixos IPv4


únicos;

• RD+(Prefixo IPv4) = Prefixo VPNv4;

• Formato do prefixo:
– IP:numérico;
– ASN:numérico;

120
Route Target
• RTs foram introduzidos para prover interconexão entre
sites de diferentes empresas, conhecidos também
como VPNs extranet;
• Os RTs são “extensões” de communitys BGP usados
para especificar quais prefixos VPNv4 serão importados
pra tabela VRF;
• Exportar um RT: o prefixo VPNv4 recebe uma
“extensão” community BGP extra;
• Importar um RT: a rota VPNv4 recebida é verificada
para uma determinada RT.

121
Route Target

122
Configurando uma L3VPN
• Crie uma instância VRF:
/ip route vrf
add routing-mark=vrf1
route-distinguisher=100:1
export-route-targets=100:1
import-route-targets=100:1

• Configure o BGP para usar VRF e endereços VPNv4:


/routing bgp instance vrf
add instance=default routing-mark=vrf1 redistribute-connected=yes
/routing bgp peer
add address-families=vpnv4 update-source=lo

• Cheque os resultados:
/routing bgp vpn vpnv4-route print
123
VPNv4 - Lab
• Escolha um Router Reflect e configure o iBGP nele – AS:
X00;
• Configure uma BGP VPNv4;
• Crie uma VRF na interface que seu laptop está conectado;
• Route Distinguisher e export RT: X00:Y;
• Configure o import route target corretamente de forma
que somente os sites verdes e azuis troquem rotas – veja
no próximo slide;
• Configure o route leaking para ganhar acesso a internet
pela VRF.
125
VPNv4 - Lab

126
OSPF e eBGP como CE-PE

• Distribui rotas entre roteadores VRF’s de CEs e PEs;

• No router PE especifique que VRF deseja usar:

• Crie uma nova instância para usar o eBGP como CE-PE:

127
VPN L2
VPLS baseada em LDP
VPLS baseada em BGP

128
VPLS baseada em LDP
• Também chamado de L2VPN ou EoMPLS;
• Consegue unir LANS através da rede MPLS;
• Utiliza o protocolo LDP pra negociar os túneis VPLS;
• Utiliza um campo chamado PW para identificar o túnel
VPLS;
• O PW tem as seguintes capacidades:
– MAC Learning;
– MAC flooding;
– Opções de encaminhamento.

129
VPLS baseada em LDP

130
VPLS - Configurando
• Estando com a rede MPLS funcional, adicione os túneis
VPLS nos pontos terminais:
/interface vpls add remote-peer=x.x.x.x vpls-id=x:x

• Os vizinhos LDP são adicionados dinamicamente;


• O túnel ID deve ser único para cada VPLS;
• As informações relacionadas ao túnel VPLS podem ser
obtidas com o seguinte comando:
/interface vpls monitor

• As interfaces locais podem ser colocadas em bridge com a VPLS


para prover transparência.

131
Split Horizon
• É um recurso da bridge que não permite que os pacotes sejam
encaminhados para as portas da bridge que possuam o mesmo
horizon;
• Caso você opte por adicionar várias interfaces na bridge que
está/ão a(s) VPLS talvez seja necessário o uso deste recurso;
• Configure o horizon em cada porta que não deseje comunicação
desta forma:
/interface bridge port add bridge=vpn interface=vpls1 horizon=1

132
VPN VPLS - Lab

• Criem túneis VPLS entre todos os routers do


grupo – usem o VPLS ID (x:x);
• Coloque as interfaces VPLS em bridge com a
interface local do seu router;
• A rede da VPN será 192.168.x0.0/24;
• Utilize o split horizon para evitar loops;
• Teste a conectividade entre os notebooks em seu
grupo.

134
VPN VPLS - Lab

Tabela de VPLS ID
R1 <> R2 = 1:x
R1 <> R3 = 2:x
R1 <> R4 = 3:x
R2 <> R3 = 4:x
R2 <> R4 = 5:x
R3 <> R4 = 6:x

135
VPN VPLS - Lab

136
VPN VPLS - Inconvenientes

• Problemas de escalabilidade devido as


configurações serem estáticas;

• Obrigatoriedade de manter o full mesh vpls


entre todos os membros da vpn;

• Configurações e ajustes devem ser feitos


sempre em todos os routers.

137
VPLS baseada em BGP

• Funcionalidade:
– Autodiscovery: Não é necessário configurar cada VPLS
em cada router;
– Sinalização: Os labels dos túneis VPLS são distribuídos
junto com as mensagens de uptade do BGP.
• Evita a necessidade de sessões LDP “targeted”;
• Não apresenta problemas de escalabilidade;
• Caso você esteja rodando um BGP full mesh será
muito semelhante ao “full vpls”;

138
VPLS baseada em BGP – Config.

• Configure a instância BGP;

• Habilite o multiprotocolo l2vpn nos peers;

• Utilize a interface loopback como update-


source, para que o “penultimate hop
popping” funcione corretamente;

139
VPLS baseada em BGP – Config.
• Configure uma bridge chamada “VPN”;
• Configure o BGP sinalizando a interface VPLS;

• Os túneis serão criados dinamicamente e serão


adicionados a bridge VPN:
– Router-distinguisher: valor agregado ao NLRI do túnel para
distinguir os avisos. Este valor deve ser único para cada
VPLS;
– Site-id: Opção única para identificar um grupo.

140
VPLS baseada em BGP - Lab

• Escolha um dos routers do grupo para ser RR;


• Configure o BGP para fechar peer com o RR do
grupo;
• Substitua todas VPLS criadas estáticas pela VPLS
BGP;
• Utilize o site id seu número y;
• Configure o import/export RT(Route Targets)
com o mesmo RD(Route distinguisher);
141
MPLS – L2 MTU

• MPLS MTU = IP MTU(L3) + MPLS headers;


• Você pode ajustar a MPLS MTU no menu:
/mpls interface

• Se a MTU for muito grande e o próximo cabeçalho for


IP acontecerá o seguinte:
– Um mensagem de erro “ICMP NF” será gerada;
– Caso contrário o pacote será descartado silenciosamente;

142
MPLS – L2 MTU

143
VPLS - CW

• O Control Word tem 4 bytes e é usado para


fragmentação e remontagem do pacote
dentro do túnel VPLS;

• O CW é opcionalmente adicionado entre o


label PW e o packet payload;

• O CW pode ser desabilitado para dar


compatibilidade com outros fabricantes.

144
VPLS - CW

145
Traffic Engineering

146
Limitação do roteamento IP

• Depois que 2 fluxos de tráfego IP que vão pro


mesmo destino se “mesclam”, é impossível dividi-
los e encaminhá-los por caminhos diferentes;

• No exemplo abaixo está ocorrendo uma


sobrecarga do fluxo de C pra E;

147
Traffic Engeneering

• TE consegue resolver este problema;

• Pode ser usado para desviar o fluxo para o link


mais disponível;

148
Traffic Engeneering

• É capaz de expandir a capacidade de redes L2


ATM e frame relay;

• Roteamento baseado em coação – o caminho


até o destino para o fluxo de tráfego será o
caminho mais “curto” que atinja os requisitos
solicitados pela origem do fluxo;

• Elimina a exagerada necessidade de mesh L2;

149
Como isso funciona?
• O TE estabelece/mantêm o túnel utilizando RSVP(Resource
Reservation Protocol);
• O caminho do túnel, em qualquer ponto, é determinado
pelos recursos da rede e as necessidades do túnel;
• Os recursos disponíveis podem ser informados pelo OSPF;
• A caminho do túnel será calculado baseado em uma única
direção e poderá ser ajustado com base nos recursos
disponíveis e requisitados no momento.
• Isso se deve ao fato do túnel TE que é baseado em RSVP só
pode fazer está “reserva” de forma unidirecional.

150
Túnel TE - Opções
• O caminho do túnel pode ser baseado no roteamento
existente na tabela de rotas:
Tunnel path: use-cspf=no and empty hops

• Pode também ser baseado em um caminho informado


estaticamente:
Tunnel path: use-cspf=no and hops=<caminho informado>

• Constrained Shortest Path First (CSPF) – todo o


caminho de formação do túnel será calculado com
base nas informações disponíveis sobre o estado da
rede.
Tunnel path: use-cspf=yes, empty hops e hops=<caminho informado>

151
Como isso funciona?

• O túnel aparece como uma interface;


• “Auto TE” dentro da range de uma determinada
área;
• O tráfego será automaticamente enviado pelo TE
se:
– A extremidade remota do “falso cabo” é a mesma do
ponto final;
– O nexthop do BGP é o ponto final do túnel – pode ser
desabilitado configurando: use-te-nexthop=no

152
TE - Configuração

• Configure o OSPF para usar o TE e configure o


TE em todas interfaces participantes do túnel;

• Agora configure o túnel TE:

153
TE – Configuração – cont...

• Resultados no OSPF: LSAs opaque;


• Monitoramento do túnel TE:

154
TE – Configuração – cont...

• Caminho do túnel TE e estado da reserva:

155
Túnel TE – Caminho estático

• O caminho estático é estabelecido


configurando os hops “strict” ou “loose”:
– Strict: define que não pode haver nenhum outro
salto entre o salto anterior e o salto “strict”.
Portanto todo caminho deve ser especificado.
– Loose: Pode haver outros saltos entre o salto
anterior e o próximo salto. Não é necessário
especificar todo o caminho neste caso.

156
Caminho estático - exemplo

157
TE – Lab 1

• Configure túneis TE de forma que os túneis


VPLS utilizem os seguintes caminhos:
– VPLS: R1<->R4: TE Path: R1-R3-R4 – primário
VPLS: R2<->R3: TE Path: R2-R4-R3 – primário

• Experimentem com caminhos diferentes


também.

159
TE – Lab 1

Tabela de VPLS ID
R1 <> R4 = 3:x
R2 <> R3 = 4:x

160
TE – Secondary path
• O TE, por padrão, não altera o caminho
automaticamente para o caminho secundário. Para isso
o túnel deve ser re-optimizado:
– Manualmente: utilize o comando optimize
– Automaticamente: Configure um reoptimize-interval
• O TE vai tentar voltar ao caminho primário uma vez por
minuto. Este valor pode ser alterado no parâmetro
primary-retry-interval
• A alternância de caminhos leva um certo tempo que
vai depender de: timeout do OSPF, atualização da
tabela de rotas, opções de timeout do TE.

161
TE – Auto bandwidth
• Por padrão o TE não aplica limitações de taxa. “Bandwidth”
só serve para contabilização da reserva.
• Para tornar os túneis mais flexíveis dois recursos devem ser
adicionados:
– Bandwidth-limit – taxa máxima permitida dentro do túnel.
Limite determinado com percentual.
– Auto Bandwidth adjust – mensura o consumo médio
determinado em “auto-bandwidth-avg-interval” e tenta manter
o máximo consumo médio durante o intervalo determinado em
“auto-bandwidth-update-interval”. Quando este tempo expira o
túnel volta a escolher a maior taxa a partir do parâmetro: “auto-
bandwidth-range”.

• Ambas opções podem ser usada ao mesmo tempo.

162
TE – Lab 2
TE – Lab 2

• Configure o túnel TE de forma que o VPLS utilize


o caminho primário e de forma que possa
alternar para o caminho backup:
– VPLS: R1<->R4: TE Path: R1-R3-R4 primário, R1-R2-R4
backup.
– VPLS: R2<->R3: TE Path: R2-R1-R3 primário, R2-R4-R3
backup.

• Configure o bandwidth limit(automático e


estático) do túnel TE e teste a limitação com o
bandwidth test.
163
164
165
Obrigado!!
Sumário geral

• MPLS melhora o desempenho da rede;

• Implementação relativamente fácil;

• Muito fácil migração de EoIP para VPLS;

• Novas possibilidades de serviços a serem


oferecidas pelo provedor.

166

Potrebbero piacerti anche