Treinamento MikroTik RouterOS Certificação – MTCINE
Produzido por: Alive Solutions www.alivesolutions.com.br Instrutor: Guilherme Ramires
AGENDA • Treinamento diário das 09:00hs às 19:00hs • Coffe Break as 16:00hs • Almoço as 13:00hs – 1 hora de duração
2
Algumas regras importantes • Por ser um curso oficial, o mesmo não poderá ser filmado ou gravado • Procure deixar seu aparelho celular desligado ou em modo silencioso • Durante as explanações evite as conversas paralelas. Elas serão mais apropriadas nos laboratórios • Desabilite qualquer interface wireless ou dispositivo 3G em seu laptop 3
Algumas regras importantes • Perguntas são sempre bem vindas. Muitas vezes a sua dúvida é a dúvida de todos. • O acesso a internet será disponibilizado para efeito didático dos laboratórios. Portanto evite o uso inapropriado. • O certificado de participação somente será concedido a quem obtiver presença igual ou superior a 75%.
4
Apresente-se a turma • • • • •
Diga seu nome; Sua empresa; Seu conhecimento sobre o RouterOS; Seu conhecimento com redes TCP/IP; O que você espera do curso;
• Lembre-se de seu número: XY
5
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.
6
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 7
Primeiro lab • Por favor resetem as RBs! /system reset no-defaults=yes
Cenário da aula • Dividam-se em grupos de 4 alunos; • 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 9
Setup
10
BGP Border Gateway Protocol
11
AVISO IMPORTANTE • Peço aos Senhores que durante este treinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser únicas para o correto funcionamento das aplicações.
BGP - Básico • Protocolo padrão do Router de Borda; • Usado também como protocolo de roteamento “InterAS”; • 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. 13
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. 14
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. 15
Implementação da distância vetorial
16
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.
17
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. 18
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.
19
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. 20
BGP – Session e Update
21
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 22
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. 23
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
redistribute-other-bgp=yes
• Os atributos BGP são herdados de outras instâncias. 24
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.
25
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:
27
AVISO IMPORTANTE • Peço aos Senhores que durante este treinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser únicas para o correto funcionamento das aplicações.
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. 29
BGP – Lab 1
30
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.
31
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.
32
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. 33
AVISO IMPORTANTE • Peço aos Senhores que durante este treinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser únicas para o correto funcionamento das aplicações.
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; 35
BGP – Lab 2
36
BGP – Lab 2
37
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. 38
eBGP e iBGP • iBGP: peers entre routers do mesmo AS; • eBGP: peers entre routers de outros AS;
39
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”. 40
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. 41
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. 42
iBGP
43
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;
44
AVISO IMPORTANTE • Peço aos Senhores que durante este treinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser únicas para o correto funcionamento das aplicações.
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; 46
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. 47
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”. 48
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.
49
Exemplo de filtro
50
Filtrando prefixo
51
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.
52
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”. 54
AVISO IMPORTANTE • Peço aos Senhores que durante este treinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser únicas para o correto funcionamento das aplicações.
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;
56
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.
57
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…
58
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. 59
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.
60
Nexthop self • Força o BGP a utilizar seu próprio IP como nexthop;
61
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.
62
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.
63
AS Path • Lista de números AS que são atualizados sempre que se passa por um AS;
64
As Path Prepend • A manipulação do as_path pode ser feita pra influenciar a seleção de melhor caminho dos outros routers;
65
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.
66
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.
67
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. 68
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. 69
AVISO IMPORTANTE • Peço aos Senhores que durante este treinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser únicas para o correto funcionamento das aplicações.
BGP – Lab 5 • Utilize as_path prepend para balanceamento de carga e failover conforme ilustra a imagem.
71
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. 72
Community - Exemplo • Supomos que você não queira que R2 propague rotas aprendidas de R1:
73
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).
74
Community – outro exemplo • AS 100 define communitys publicas; – 100:500 – adverte para todos os peers; – 100:501 – adverte para o AS 400.
75
Community – outro exemplo – cont...
76
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: +--------------------------------------------------
77
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;
78
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”.
79
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. 80
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);
81
Confederation – As Path
82
Confederation – As Path A Rota eBGP em ip route em AS-Path sera informado somente os ASN por onde as rotas estao sendo transportadas
O Trafego IBGP na tabela de rota será informado as confederações usando abreviação *(entre aspas)
83
AVISO IMPORTANTE • Peço aos Senhores que durante este treinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser únicas para o correto funcionamento das aplicações.
BGP – Lab 6
85
MPLS Multi-protocol Label Switching LDP, VPNs, (L2, L3), TE
86
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. 87
MPLS – Pré Setup
88
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.
89
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;
90
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). 91
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. 92
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;
93
Static Label Mapping
94
Teste com traceroute
95
AVISO IMPORTANTE • Peço aos Senhores que durante este treinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser únicas para o correto funcionamento das aplicações.
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 97
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.
98
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;
99
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.
100
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.
101
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”. 102
LDP - Lab • Remova todo mapeamento estático feito no lab anterior; • Habilite o LDP e configure o lsr-id e o transportaddress 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 103
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;
104
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. 105
Implicit e Explicit Null
106
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. 107
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.
108
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= send-targeted=yes
109
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.
110
AVISO IMPORTANTE • Peço aos Senhores que durante este treinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser únicas para o correto funcionamento das aplicações.
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. 112
VPN L3 VRF
113
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. 114
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
115
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 CEPE (Costumer Edge – Provider Edge). 116
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. 117
L3VPN
118
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;
119
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. 120
Route Target
121
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 122
AVISO IMPORTANTE • Peço aos Senhores que durante este treinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser únicas para o correto funcionamento das aplicações.
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. 124
VPNv4 - Lab
125
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:
126
VPN L2 VPLS baseada em LDP VPLS baseada em BGP
127
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. 128
VPLS baseada em LDP
129
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. 130
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
131
AVISO IMPORTANTE • Peço aos Senhores que durante este treinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser únicas para o correto funcionamento das aplicações.
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. 133
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
134
VPN VPLS - Lab
135
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.
136
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”; 137
VPLS baseada em BGP – Config. • Configure a instância BGP; • Habilite o multiprotocolo l2vpn nos peers; • Utilize a interface loopback como updatesource, para que o “penultimate hop popping” funcione corretamente;
138
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. 139
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); 140
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;
141
MPLS – L2 MTU
142
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. 143
VPLS - CW
144
Traffic Engineering
145
Limitação do roteamento IP • Depois que 2 fluxos de tráfego IP que vão pro mesmo destino se “mesclam”, é impossível dividilos e encaminhá-los por caminhos diferentes; • No exemplo abaixo está ocorrendo uma sobrecarga do fluxo de C pra E;
146
Traffic Engeneering • TE consegue resolver este problema; • Pode ser usado para desviar o fluxo para o link mais disponível;
147
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; 148
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. 149
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=
• 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=
150
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 151
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:
152
TE – Configuração – cont... • Resultados no OSPF: LSAs opaque; • Monitoramento do túnel TE:
153
TE – Configuração – cont... • Caminho do túnel TE e estado da reserva:
154
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.
155
Caminho estático - exemplo
156
AVISO IMPORTANTE • Peço aos Senhores que durante este treinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser únicas para o correto funcionamento das aplicações.
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.
158
TE – Lab 1
Tabela de VPLS ID R1 <> R4 = 3:x R2 <> R3 = 4:x
159
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. 160
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: “autobandwidth-range”.
• Ambas opções podem ser usada ao mesmo tempo. 161
AVISO IMPORTANTE • Peço aos Senhores que durante este treinamento não utilizem a função COPY da caixas de diálogo devido a problemas gerados na “clonagem” de informações que devem ser únicas para o correto funcionamento das aplicações.
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
TE – Lab 2
164
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.
165
Obrigado!!
Contato: [email protected] Site: www.alivesolutions.com.br Fan Page: www.fb.com/AliveSolutions