Você está na página 1de 69

1

2
Nome: Prof. Lacier Dias
üFormado em Segurança da Informação
üPós-Graduado em Segurança de Rede de Computadores
üMBA em Gerenciamento de Projetos – FGV
üAlguns dos Treinamentos e Certificações:
ØIPV6
ØMikroTik Consultant, MTCNA, MTCWE, MTCTCE,
MTCUME, MTCRE e MTCINE;
ØMicrosoft Certified Professional;
ØITIL, Cobit;
ØBSC (Balanced Scorecard);
ØISO 27001 e 27002;
ØMotorola e UBNT;
ØHuawei, Cisco e Juniper;
ØHughes Networks. 3
Apresentação da Turma
●Diga seu nome;

●Nome da Empresa;

●Sua Função;

●Quanto tempo na empresa;

●Sua experiência profissional;

●Seu conhecimento em redes;

●O que você espera do curso;

4
●Ser um AS é um requisito básico para
usar o protocolo BGP no seu backbone?

5
Requisitos para se tornar um AS
ü Uma organização justifica a designação de um ASN quando apresenta uma
das seguintes necessidades:

Ø Multi Provedor: Quando a organização está conectada a dois ou mais


provedores de transito Internet distintos e independentes e necessita,
portanto, fazer uso de protocolos de roteamento dinâmico.

Ø Política única de roteamento: Quando a organização possui uma política


de roteamento que é distinta daquela aplicada pelo(s) provedor(es) de
trânsito Internet.

– http://registro.br/provedor/numeracao/regras.html

6
Preenchimento do formulário
ü Há um formulário simples que pode ser baixado no seguinte endereço:
– http://registro.br/provedor/numeracao/pedido-form.txt

ü Em caso de dúvidas há um arquivo contento informações de ajuda:


– http://registro.br/provedor/numeracao/pedido-ajuda.txt

ü Informações completas em:


– http://registro.br/provedor/numeracao/faq.html

7
Introdução ao Roteamento
ü Cada roteador utiliza o metodo hop-by-hop, que consiste em abrir os
cabeçalhos dos pacotes que recebe em busca do endereço IP do
destinatário, calcula o proximo salto mais proximo do seu destino e
entrega o pacote neste proximo salto.
ü Este processo se repete até o pacote chegar ao seu destino.

8
Introdução ao Roteamento
üRouting Information Base (RIB)
A RIB é o local onde todas as informações acerca de
roteamento IP estão armazenadas. A RIB não é específica para
algum protocolo de roteamento, mas sim um repositório onde
todos os protocolos colocam as suas rotas. Uma rota é inserida
na RIB, sempre que um protocolo aprende uma nova rota.
É importante entender que RIB não é utilizada para o
encaminhamento de pacotes e não é anunciada para o restante
das redes às quais o roteador está conectado.

üForwarding Information Base (FIB)


A FIB é a base de dados onde estão todas as informações
necessárias para o encaminhamento dos pacotes relacionando
as redes às respectivas interfaces.
A FIB contém todas as rotas que podem potencialmente serem
anunciadas aos roteadores vizinhos pelos protocolos de
roteamento dinâmico. 9
Introdução ao Roteamento
üE quando temos mais de um caminho para chegar
na mesma rede, como é feita a escolha????
vRede mais especifica (CIDR),
vMétrica ou Custo,
Protocolo de Roteamento Distâncias Administrativas Padrão
Conectada 0
Rota Estática 1
EIGRP Sumarizado 5
eBGP 20
EIGRP Interno 90
IGRP 100
OSPF 110
ISIS 115
RIP 120
EGP 140
Rota sob Demanda - ODR 140
EIGRP Externo 170
iBGP 200
10
Quem é o BGP-4
üO BGP (Border Gateway Protocol) [RFCs 1771, 1772, 1773,
1774, 1657], é um protocolo de roteamento inter-domínios, criado
para uso nos roteadores principais da Internet.

üO BGP, protocolo de roteamento dinâmico, utilizado para


comunicação entre sistemas autônomos (ASs).

üO BGP foi projetado para evitar loops de roteamento entre Ass.


Outro beneficio é o do Roteamento Baseado em Politica (policy-
based routing), um roteamento com base em um conjunto de
regras não técnicas, definidas pelos Sistemas Autônomos.

11
Quem é o BGP-4
üA função primária de um sistema BGP é trocar informação de
acesso à rede, inclusive informação sobre a lista das trajetórias
dos ASs, com outros sistemas BGP. Esta informação pode ser
usada para construir um gráfico da conectividade dos ASs a partir
do qual loops de roteamento podem ser detectados e reforçadas
as políticas de decisão com outros ASs.

üVídeo traduzido para o português foi o ganhador do concurso


promovido pela associação Europeia de PTTs.
ühttp://www.youtube.com/watch?v=hswxxB5MpY8

12
Quem é o BGP-4
üAtualmente na Versão 4, o BGP é um protocolo do tipo “Distance
Vector” utilizado para fazer a interconexão dos AS’s e utiliza a
porta 179 – TCP, garantindo a confiabilidade das informações.

üOs prefixos de rede são anunciados com uma lista dos AS’s que
estão no caminho (AS Path).

üA topologia interna de cada AS não é informada, mas somente as


informações sobre como encontrar as redes (reacheability).

13
Quem é o BGP-4
üO BGP opera trocando informações sobre as redes por
mensagens de NLRI (Network Layer Reachability Information). As
NLRI incluem um conjunto de atributos do BGP e um ou mais
prefixos com os quais esses atributos estão associados.

üUma vez estabelecida a conexão, os peers Inicialmente trocam


entre si uma tabela de roteamento completa.

üPosteriormente somente incrementos/modificações na tabela são


informados.

14
Quem é o BGP-4
üDurante a negociação para estabelecer ou mesmo já em
funcionamento, uma sessão BGP pode cair e devido a isso a
operação básica do BGP também precisa saber como lidar com
essas situações.

15
Quem é o BGP-4
üIDLE: Este estado identifica o primeiro estágio de uma conexão
BGP, onde o protocolo está aguardando por uma conexão de um
peer remoto.
üCONNECT: Nesta estado o BGP aguarda pela conexão no nível
de transporte, com destino na porta 179.
üACTIVE: O BGP tenta estabelecer comunicação com um peer
inicializando uma conexão no nível de transporte. Caso esta seja
bem sucedida, passa-se ao estado OPENSENT. Se esta tentativa
não for bem sucedida, ele ficará alternando entre o estado de
CONNECT e ACTIVE, isso reflete problemas com a camada de
transporte TCP.
üOPENSENT: Neste estado o BGP aguarda pela mensagem de
OPEN e faz uma checagem de seu conteúdo. Caso seja
encontrado algum erro como número de AS incoerente ao
esperado ou a própria versão do BGP, envia-se uma mensagem
tipo NOTIFICATION e volta ao estado de IDLE.
16
Quem é o BGP-4
üOPENCONFIRM: Neste estado o BGP aguarda pela mensagem
de KEEPALIVE e quando esta for recebida, o estado segue para
ESTABLISHED e a negociação do peer é finalmente completa.
Com o recebimento da mensagem de KEEPALIVE, é acertado o
valor negociado de Hold Time entre os peers. O sistema também
envia periodicamente, segundo o tempo negociado, mensagens
de KEEPALIVE. No caso da ocorrência de eventos como
desconexão ou intervenção do operador, retorna-se ao estado de
IDLE reiniciando a negociação da conexão.

üESTABLISHED: Neste estado, o BGP inicia a troca de


mensagens de UPDATE ou KEEPALIVE, de acordo com o Hold
Time negociado.

17
eBGP x iBGP
üeBGP – Peering entre roteadores de diferentes AS’s.
üiBGP – Peering entre roteadores do mesmo AS.
AS300

AS100
AS200
eBGP

iBGP
AS400
eBGP

18
eBGP x iBGP
Split Horizon

üUm BGP speaker pode anunciar para seus vizinhos iBGP os


prefixos IP que aprendeu a partir de eBGP speakers.

üUm BGP speaker pode anunciar para seus vizinhos eBGP os


prefixos IP que aprendeu a partir de iBGP speakers.

üUm iBGP speaker não pode anunciar para iBGP speakers, os


prefixos IP que aprendeu de iBGP speakers

19
eBGP x iBGP
ü eBGP
Ø Formado quase sempre por peers diretamente conectados.
Ø Configuração Multihop é necessária quando os peers não são
diretamente conectados.
Ø Adiciona o AS ao caminho anunciado.
Ø Por padrão o Next-Hop é mudado para o IP do próprio roteador.

ü iBGP
Ø Para a propagação de rotas consistentes dentro do AS, todos os
roteadores participantes devem ter sessão BGP entre si (Full
Mesh).
Ø Roteadores não modificam os anúncios recebidos ao reenvia-lo.
Ø Devido ao princípio acima, o next hop recebido de um eBGP é
repassado intacto, sendo que o Roteador de borda não se coloca
como next hop.
20
Atributos – Next-Hop
ü Endereço IP que é utilizado para atingir um certo destino
ü Para o eBGP o next hop é o IP do vizinho
ü O next-hop anunciado pelo eBGP é carregado pelo iBGP, que não o
modifica.
Dst 200.100.99.0/24
AS200 Next-hop: 10.1.1.1
10.1.1.1
200.100.99.0/24 R1
Dst 200.100.99.0/24
Next-hop: 10.1.1.1

10.1.1.2
R2 R3
10.50.0.1 10.50.0.2

AS100

21
Next-Hop SELF
ü Força o BGP a utilizar o próprio roteador como next-hop
ü Configuração usual nos roteadores de borda do iBGP

Dst 200.100.99.0/24
AS200 Next-hop: 10.1.1.1
10.1.1.1
200.100.99.0/24 R1
Dst 200.100.99.0/24
Next-hop: 10.50.0.1

10.1.1.2
R2 R3
10.50.0.1 10.50.0.2

AS100

ü #router R2:
ü /routing bgp peer set peerR3 nexthop-choice=force-self
22
Atributos do BGP
ü Para possibilitar que os roteadores selecionem a melhor rota para
um destino específico quando existe mais de uma opção, as rotas
aprendidas por BGP carregam alguns atributos. Os atributos do
BGP são divididos em:

ü Atributos Well-known
Ø Devem ser reconhecidos por todos as implementações de BGP.

ü Opcionais:
Ø Não são obrigatoriamente reconhecidos por todas as
implementações de BGP.

23
Atributos do BGP
ü Os atributos do tipo Well Known, por sua vez são divididos em
mandatórios e discricionários:

ü Atributos Well-Known mandatórios:


Ø Devem estar presentes em todas as mensagens de update.

ü Atributos Well-Known discricionários:


Ø Podem estar ou não presentes nas mensagens de update.

** Todos os atributos do tipo Well-Known são propagados para


outros vizinhos.

24
Atributos Well-Known
Mandatórios
ü Origin (Origem da rota BGP)
Ø Rota originada por um IGP
Ø Rota originada por um EGP
Ø Rota foi redistribuída no BGP

ü AS-Path
Ø Sequência de números de AS’s para acessar a rede.

ü Next Hop
Ø Endereço IP do roteador do próximo salto. – "Gateway”

25
Atributos Well-Known
Discricionários
ü Local Preference
Ø Utilizado para uma política de roteamento consistente dentro do
AS.

ü Atomic Aggregate
Ø Informa o AS vizinho que foi feitas sumarização (agregação) de
rotas.

26
Atributos Well-Known
Opcionais
ü Os atributos opcionais do BGP podem ser transitivos e intransitivos.

ü Atributos opcionais transitivos


Ø São propagados para outros roteadores, mesmo se não
reconhecidos.

ü Atributos opcionais intransitivos


Ø Não são propagados.

27
Lógica do BGP
ü Antes de começarmos a utilizar o BGP precisamos inicialmente
entender a lógica de funcionamento inicial do protocolo.
ü Com o BGP, os anúncios que seu AS faz interferem no
DOWNLOAD e os anúncios que seu AS recebe das operadoras
interferem no seu UPLOAD, portanto se quero que meu UPLOAD
vá pela Oper01, preciso manipular o MEU ROTEADOR de forma
que a Oper01 seja a melhor opção. Fazemos isso manipulando os
atributos nas rotas BGP, sendo os mais importantes e usuais o
WEIGHT, LOCAL-PREF e AS-PATH.

ü Maior WEIGHT (default = 0)


ü Maior LOCAL-PREF (default = 100)
ü Menor AS-PATH

28
Sessão BGP
ü Sessão bgp é como chamamos a conexão ou o Peering estabelecido
entre as operadoras.
ü Vamos ver na prática como estabelecemos uma sessão BGP.
ü Quais informações você tem que fornecer para operadora ?
Ø Numero do AS: 65000
Ø Bloco CIDR e quem designou: 200.100.0.0/21 – Registro.br
Ø Se você quer Full ou Parcial Routing: Sempre Full Routing
Ø Se você quer usar Key MD5: aulabgp - (Infelizmente não é obrigatório,
mas é recomendado)
Ø Se você é AS de transito. Caso sim informar o Bloco CIDR e o AS-
Cliente: Não
Ø Contato técnico para eventuais problemas: Email e Telefone.
ü Quais informações a operadora vai fornecer ?
Ø IP de WAN Operadora: 177.67.0.2/30
Ø IP de WAN Cliente: 177.67.0.1/30
Ø Numero do AS: 65001
Ø Email de contato em caso de falha: bgp@oper01.com.br 29
Sessão BGP-4 - 1 Trânsito
ü Passos da Sessão BGP: Cliente Single Homed.

Oper01-65001
Bloco:178.234.0.0/22 MeuAS-65000
e blocos na pen drive Bloco: 200.100.0.0/21
Ether1 177.67.0.2/30 Ether1 Gerencia (DHCP)
Loopback 178.234.0.1/32 Ether2 177.67.0.1/30
Loopback 200.100.7.1/32

30
Sessão BGP-4 - 1 Trânsito
ü Boas práticas para um AS com apenas um Peering.

Ø Mesmo tendo solicitado que a sessão BGP seja Full routing, não há a
necessidade de receber a tabela toda, pois só temos uma saída de
Internet.

Ø Sendo assim vamos filtrar de maneira a descartar as tabelas e criar


apenas a rota default

Ø Esta regra cria o filtro para usarmos na sessão BGP na opção IN Filter.
v /routing filter add action=discard chain=descarta_tudo prefix=!0.0.0.0/0

31
Interface de Loopback
ü Interface de Loopback é uma interface que nunca cai.
ü Ela é uma interface independente de interface física, para efetuar a
conexão TCP.
ü No caso do BGP, normalmente os peers estão diretamente conectados,
caso contrário é necessária a configuração de Multihop.

ØOBS: Está configuração exige rotas estáticas ou algum


IGP que garanta a alcançabilidade dos neighboors.

32
Exercício - BGP

Oper01-65001
Bloco:178.234.0.0/22
e blocos na pen drive
Ether1 177.67.0.2/30
Loopback 178.234.0.1/32

MeuAS-65000
Bloco: 200.100.0.0/21
Ether1 Gerencia (DHCP)
Ether2 177.67.0.1/30
Ether3 189.12.0.1/30
Ether4 200.100.1.1/30
Loopback 200.100.7.1/32

Oper02-65002
Bloco: 189.198.0.0/21
E blocos na pen drive
Ether1 189.12.0.2/30
Loopback 189.198.0.1/32 Cliente - AS65123
Bloco: 177.123.0.0/22
Ether1 200.100.1.2/30
Loopback 177.123.0.1/32

33
Sessão BGP-4 - 2 Trânsito
ü Como Balancear o trafego com duas saídas???

ü A maneira mais simples é anunciar metade do meu bloco para operadora


Oper01 (200.100.0.0/22) e a outra metade para Oper02 (200.100.4.0/22).

ü Assim os anúncios ficam divididos. Mas a carga está dividida??

ü Em caso de falha em um dos links, ele comuta tudo para um link só???

ü Como resolver este problema?

34
Sessão BGP-4 - 2 Trânsito + AS Cliente
• Como Vender banda para outro AS?
• O que precisa informar para meus trânsitos?
• Vamos colocar nossos AS’s 65001 e 65002 para receber o bloco do AS
65123.

35
Sessão BGP-4 - 2 Trânsito + PTT

ü Como Balancear o trafego com várias saídas e


conexão com PTT??

ØO PTT, ele se comporta como uma operadora a mais


que tem alguns blocos apenas.

ØQual é o critério que seu roteador vai usar para escolher


as rotas do PTT??

36
Exercício - BGP

AS65000
Bloco: 200.100.0.0/21
Ether5 10.99.99.2/24

PTT-65111
Bloco: Não Possui
Ether1 10.99.99.1/24

AS65200
Bloco: 202.202.0.0/21
Ether1 10.99.99.3/24

AS65400
Bloco: 204.204.0.0/21
AS65300 Ether1 10.99.99.5/24
Bloco: 203.203.0.0/21
Ether1 10.99.99.4/24 37
Entendendo e Manipulando
Atributos no BGP-4

38
Politicas de Roteamento
ü Controlar as informação recebidas pelos protocolos de roteamento
são fundamentais para o controle do seu ASN.
Ø Tabelas de rotas recebidas podem ser manipuladas ou ignoradas.

Ø Tabelas de rotas exportadas podem ser suprimidas ou modificadas.

ü Isso só depende de como estas rotas foram manipuladas através de filtros.

39
Politicas de Roteamento
ü Quanto aplicar uma politica ?
Ø Quando não se deseja importar toda ou parte de uma tabela de rota recebida,
Ø Quando não se deseja exportar toda ou parte da tabela de rotas para os vizinhos,
Ø Modificar informações associadas a uma rota ou tabela.

ü Lembrando que os atributos do BGP abaixo são usados na seleção do melhor


caminho e estão em ordem de preferência.

Ø Maior WEIGHT (default = 0)


Ø Maior LOCAL-PREF (default = 100)
Ø Menor AS-PATH
Ø Path gerado localmente (aggregate, Rede BGP)
Ø Menor tipo de Origin (IGP, EGP, incomplete)
Ø Menor MED (default = 0)
Ø Prefere eBGP sobre iBGP
Ø Prefere a rota gerada no Roteador com o menor Router ID ou menor ORIGINATOR_ID
Ø Prefere o caminho que vem do vizinho com menor IP

40
Politicas de Roteamento

ü Politicas mais utilizadas tem as seguintes finalidades:

Ø Seleciona ou rejeita/descarta prefixos,


Ø Modifica atributos para influenciar processo de seleção do
melhor caminho,
Ø Evitar rotas marcianas,
Ø Filtrar por tamanho do prefixo,
Ø Anunciar agregado e suprimir rotas específicas,
Ø Preferir rotas por clientes entre quaisquer outras,
Ø Preferir rotas de peers antes de rotas de trânsito,
Ø Marcação de rotas com communities para classificação de
tráfego.

41
Atributos de BGP-4
ü Next Hop em eBGP:
Ø IGP deve conhecer o next-hops externos para ser eficiente em tornar
uma rota inacessível quando houver falha.
Ø Quanto mais vizinhos, mais carga no IGP, sendo assim a
recomendação é usar next-hop self.

ü/routing bgp peer set [find] nexthop-choice=force-self

ü Altera o next-hop enviado com os prefixos pelo ip do router com next-


hop self ao invés do IP do Vizinho BGP.
Ø Mais eficiente, menos configuração,
Ø Usado também em refletores de rotas.
Ø Desassociar BGP da topologia física da rede usando loopback
Ø Permitir IGP escolher melhor caminho
§ Sempre verifique se está enviando correto com
ü/routing bgp advertisements print
42
Atributos de BGP-4
ü WEIGHT: Não é bem um atributo pois é atribuído localmente
ao roteador e não é propagado pelo BGP, constituindo uma
política local desse Roteador.

Ø Maior weight ganha,


Ø Prefixos sem um weight atribuído tem o valor default “zero”.
Ø O weight influi no tráfego de upstream

ü /routing filter add chain=weight-IN action=accept set-bgp-


weight=100

43
Atributos de BGP-4

ü Atributo LOCAL-PREF: Atributo opcional e


intransitivo, interno ao AS com seu valor padrão é
100.

ØInfluência na escolha do melhor caminho de saída


(UpLoad).
ØMaior LOCAL-PREF tem preferência.

• /routing filter add chain=local_pref-IN action=accept


set-bgp-local-pref=200

44
Atributos de BGP-4
ü AS-PATH: Lista de números de AS’s que um update atravessou e podem ser
utilizadas para influenciar a decisão de roteamento de roteadores de outros
AS’s.
Ø OBS: Weight e Local Preference manipulam tráfego de upstream.
Ø AS-PATH é a maneira adequada de influenciar no tráfego de downstream.

ü Problemas no uso do AS-Path:


Ø As operadoras usualmente aplicam filtros para que seus clientes somente
anunciem o seu próprio AS ou AS’s de quem este cliente faz transito.
Ø Para possibilitar que isso funcione e que ainda estes possam utilizar AS-
Path, pode-se fazer uso de expressões regulares nos filtros.

ü Suporta expressões regulares:


Ø “.” – qualquer caracter simples
Ø “^” – começo do AS-Path
Ø “$” – fim do AS-Path
Ø “_” – encontra vírgula, espaço, começo e final do AS-Path.
45
Atributos de BGP-4

• AS-PATH: Expressão regular abaixo:


• EX: ^([0-9])+)(_\1)*$
– Está expressão encontrará qualquer AS-Path começando com
qualquer número AS e continua com ou sem múltiplas do
mesmo número AS (a variável “\1” repete o valor nos
parênteses. Assim a expressão acima irá permitir por exemplo:

ü123 123 123 … ou 100 100 100 100 100, etc mas não
permitirá 123 100

46
Atributos de BGP-4

üAlguns outros exemplos de regexp


Ø.* - 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 )
47
Atributos de BGP-4

ü Atributo ORIGIN: Contém a “origem” do prefixo legado da


transição do EGP para BGP.

Ø Influencia na escolha do melhor caminho


Ø Valores:

§ IGP (parâmetro network)


§ EGP (aprendido externamente)
§ incomplete (vindo de outro protocolo de roteamento)

48
Atributos de BGP-4
ü Route Server: Utilizado para evitar a necessidade de fazer full
mesh no iBGP, re-anunciando as rotas iBGP sem mudar o next
hop para a rota.

ü RS é configurada habilitando client to client relfection

Ø /routing filter add action=accept chain=PTT-OUT set-bgp-


prepend=0

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

ü Route-reflect deve ser habilitado apenas no roteador que faz a


reflexão de rotas.
49
Atributos de BGP-4

ü Route Server:
Ø Recebe rotas do mesmo ASN e de ASN diferentes,
Ø Seleciona melhores caminhos, Routing
Reflector

Ø Resolve limitações do iBGP,


Ø Permite múltiplos RS para redundância,
Ø Por padrão não altera atributos das rotas,
Ø Propaga essas rotas entre os clientes,
Ø Facilidade de migração,
Ø Permite iBGP anunciar rotas para outros iBGP,
Ø Cada roteador é vizinho do RS, mas não precisam ser entre si,
Ø Definido na RFC4456.
50
Atributos de BGP-4

ü COMMUNITIES: Atributo opcional e intransitivo e são meios


de rotular rotas com o objetivo de assegurar filtros
consistentes e políticas de seleção de rotas.

Ø Qualquer roteador BGP pode rotular os updates de rotas


que entram e ou que saem quando fazendo a
redistribuição.
Ø Qualquer roteador BGP pode filtrar rotas que entram e ou
que saem ou selecionar rotas preferenciais, baseadas em
communities.
Ø Por padrão as communities, são retiradas dos updates de
BGP que saem do roteador.

51
Atributos de BGP-4
ü Existem algumas communities pré-definidas em:

Ø www.iana.org/assignments/bgp-well-known-communities

ü As mais usuais são:


Ø no-export – não propaga para outros vizinhos externos
Ø no-peer – não propaga para vizinhos de Peering bi-lateral.
Ø Cada operadora tem sua lista de communities, solicite da
sua operadora.

52
Atributos de BGP-4
ü COMMUNITIES: Exemplos: Embratel
Ø community 4230:4 efeito: o anuncio marcado com essa community
somente e feito para redes do AS 4230 (Embratel)

Ø community 4230:33 efeito: o anuncio marcado com essa community e feito


para redes do AS 4230 e para demais AS-clientes da Embratel
Ø community 4230:32 efeito: o anuncio marcado com essa community e feito
para redes do AS 4230, para os demais AS-clientes da Embratel e para AS
não clientes (transito nacional com outros backbones, por exemplo RNP)

Ø community 4230:31 efeito: o anuncio marcado com essa community e feito


para redes do AS 4230, para os demais AS-clientes da Embratel e para os
backbones internacionais (internet mundial)
Ø community 4230:30 efeito: o anuncio e feito para redes do AS 4230, para
os demais AS-clientes da Embratel, para AS nao clientes (trânsito nacional
com outros backbones, por exemplo RNP) e para os backbones
internacionais (Internet mundial)
53
Atributos de BGP-4
ü COMMUNITIES: Exemplos: GVT

Ø Bloqueia anuncio Internacional AS:1


Ø Bloqueia anuncio Nacional AS:2
Ø Bloqueia anuncio Clientes GVT AS:3
Ø Bloqueia anuncio Peering AS:4
Ø Bloqueia anuncio PTT AS:6
Ø OBS: AS é o número do seu AS.

ü /routing filter add chain=communities-IN action=accept set-


bgp-communities=65000:1

ü /routing filter add chain=communities-OUT action=accept


bgp-communities=65000:2 54
Sintaxe dos Filtros

ü Os filtros são agrupados por nome (chain) e executados para


cada prefixo da tabela na ordem definida pela chain
especificada em: /routing filter

ü Cada linha pode selecionar um prefixo, efetuar um teste e/ou


realizar uma ação.

ü A execução continua até chegar ao fim da cadeia ou encontrar


uma ação que encerre o processamento para aquele prefixo

ü A ordem dos filtros é de extrema importância.

ü Filtros não criam rotas!


55
Sintaxe dos Filtros
ü /routing filter add chain=nome action=acao ...

Ø accept = Aceita a informação.


Ø discard = Descarta a informação.
Ø jump = Executa a chain especificada em “jump-target”.
Ø log = registra no log do sistema e continua o
processamento.
Ø passthrough = continua o processamento.
Ø reject = guarda na memória mas não ativa a
informação.
Ø return = volta a chain que chamou.

56
Sintaxe dos Filtros
ü Aba Matchers
ü prefix = prefixo a ser comparado (exact match).
Ø Se não estiver presente, todos os prefixos passam no teste.
Ø Se não for informado tamanho, /32 é assumido
Ø 0.0.0.0/0 representa a rota default.
Ø Ex: 10.1.0/22

ü prefix-length = se presente permite que sub-redes do comprimento


informado contidas no prefixo passem no teste.
ü Ex: 22-24 (Maior mascara aceita e menor mascara aceita.)
ü distance = int8 (distância administrativa especificada)
ü protocol = connect | static | rip | ospf | bgp
ü scope = int8 (valor do parâmetro para a rota)
ü target-scope = int8 (valor do parâmetro para a rota)

ü Teste “especial”:
ü invert-match =yes | no (padrão “no”. Inverte o teste, ou seja, “yes”
executa se o teste falhar) 57
Sintaxe dos Filtros

ü Aba BGP
Ø bgp-as-path = string (padrão a ser buscado no atributo AS-
PATH da rota usando expressões regulares formato POSIX)
Ø bgp-as-path-length = int16 (comprimento do atributo AS-
PATH da rota)
Ø bgp-weight = signed int16 (valor do atributo weight ou 0)
Ø bgp-local-pref = int16 (valor do atributo local-pref da rota
ou 0)
Ø bgp-med = int16 (valor do atributo MED ou 0)
Ø bgp-origin = igp | egp | incomplete
Ø bgp-communities = int16:int16 (se a community está
definida para a rota)
58
Sintaxe dos Filtros
ü Aba Actions

Ø Nota: essas propriedades são atribuídas independente do ação definida em


“action”,
Ø set-distance = int8 (modifica distância administrativa da rota (255 desabilita).
Válido apenas em filtros de entrada)
Ø set-scope = int8 (modifica parâmetro scope usado em recursividade de rotas.
Válido apenas em filtros de entrada)
Ø set-target-scope = int8 (modifica parâmetro target-scope usado em recursividade
de rotas. Válido apenas em filtros de entrada)
Ø set-in-nexthop = IP (modifica gateway da rota. Válido apenas em filtros de
entrada)
Ø set-in-nexthop-direct = interface (modifica gateway da rota para a interface.
Válido apenas em filtros de entrada)
Ø set-out-nexthop = IP (modifica gateway da rota. Válido apenas em filtros de saída)

59
Sintaxe dos Filtros
ü Aba BGP Actions

Ø set-bgp-weight = signed int16 (modifica o atributo weight do prefixo)


Ø set-bgp-local-pref = int16 (modifica o atributo local-pref do prefixo)
Ø set-bgp-prepend = int4 | default (quantas vezes repetir o ASN do
próprio router no atributo AS-PATH)
Ø Em filtro de entrada altera o AS-PATH length.
Ø Em filtro de saida o prepend é adicionado em anúncios aos vizinhos
eBGP.
Ø Nos vizinhos iBGP o prepend é sempre 1.
Ø O valor 0 remove o ASN do próprio router do AS-PATH
Ø set-bgp-prepend-path = lista de ASN (adiciona a lista de ASN
especificada ao AS-PATH)
Ø Se usado em conjunto com set-bgp-prepend, este tem maior
prioridade)
Ø set-bgp-med = int16 (modifica o atributo MED do prefixo)
Ø set-bgp-communities = int16:int16 (substitui community do prefixo)
Ø append-bgp-communities = int16:int16 (adiciona community ao prefixo)
60
Filtros mais usados
ü Aumentando a prioridade de um Peer:
Ø /routing filter add chain=aumenta_prioridade-IN set-bgp-local-pref=200
action=accept

ü Diminui a prioridade de um Peer:


Ø /routing filter add action=accept chain=operarora1-out
prefix=188.111.64.0/20 prefix-length=21-24 set-bgp-prepend=4

ü Envia apenas prefixos permitidos para a operadora:


Ø /routing filter add chain=operadora1-out prefix=188.111.64.0/20 prefix-
length=20-24 action=accept
Ø /routing filter add chain=operadora1-out action=discard

ü Aceita apenas o prefixo do AS-Cliente:


Ø /routing filter add chain=cliente-in prefix=189.84.64.0/20 prefix-
length=20-24 invert-match=yes action=discard

61
Filtros para analisar os anúncios
• Como saber o que você está anunciando para seu vizinho ?

- /routing bgp advertisements print

- OBS: Mostra o anúncio para todos os peer.

- /routing bgp advertisements print peer=“Nome do Peer”

- OBS: Mostra o anúncio para um único peer.

• Como saber o que seu vizinho está anunciando para seu peer ?

- /ip route print where received-from=“Nome do Peer”

- OBS: Mostra o que vc está recebendo através do peer.


- OBS: Muito usado para verificar o que um AS cliente está enviando.

62
Filtros para analisar os anúncios

• Como localizar se vc tem uma rede na sua tabela de rota e por onde ela está
saindo ?
- /ip route print detail where dst-address in 49.212.0.0/16
- OBS: Quanto maior a mascara de rede melhor o resultado.

Ø /ip route print detail where dst-address in 49.212.0.0/16 (Bloco no Japão)


dst-address=49.212.0.0/16 gateway=200.111.111.222 gateway-
status=200.111.111.222 recursive via 187.228.201.1 ether1 distance=20 scope=40
target-scope=30 bgp-as-path="4230,2914,9371" bgp-origin=igp received-
from=Peer_EMBRATEL

dst-address=49.212.0.0/16 gateway=177.222.222.115 gateway-


status=177.222.222.115 recursive via 177.145.242.1 ether4 distance=20 scope=40
target-scope=30 bgp-as-path="18881,3549,2914,9371" bgp-origin=igp received-
from=Peer_GVT

dst-address=49.212.0.0/16 gateway=179.56.33.12 gateway-status=179.56.33.12


reachable via vlan2000 distance=20 scope=40 target-scope=10 bgp-as-
path="8167,3491,2497,9371" bgp-med=0 bgp-origin=igp received-from=Peer_OI

63
Filtros para analisar os anúncios
ü /ip route print detail where dst-address in 177.73.8.0/23 (IP no Brasil)

ü dst-address=177.73.8.0/23 gateway=177.222.222.115 gateway-status=177.222.222.115


recursive via 177.145.242.1 ether4 distance=20 scope=40 target-scope=30 bgp-as-
path="18881,262589,28168,52768,52683" bgp-origin=igp received-from=GVT

ü dst-address=177.73.8.0/23 gateway=200.111.111.222 gateway-status=200.111.111.222


recursive via 187.228.201.1 ether1 distance=20 scope=40 target-scope=30 bgp-as-
path="4230,18881,262589,28168,52768,52683" bgp-origin=igp received-from=EMBRATEL

ü dst-address=177.73.8.0/23 gateway=179.56.33.12 gateway-status=179.56.33.12 reachable via


vlan2000 distance=20 scope=40 target-scope=10 bgp-as-
path="8167,7738,262589,28168,52768,52683" bgp-origin=igp received-from=OI

ü dst-address=177.73.9.0/24 gateway=177.222.222.115 gateway-status=177.222.222.115


recursive via 177.145.242.1 ether4 distance=20 scope=40 target-scope=30 bgp-as-
path="18881,53118,52768,52683" bgp-origin=igp received-from=GVT

ü dst-address=177.73.9.0/24 gateway=200.111.111.222 gateway-status=200.111.111.222


recursive via 187.228.201.1 ether1 distance=20 scope=40 target-scope=30 bgp-as-
path="4230,26615,53118,52768,52683" bgp-origin=igp received-from=EMBRATEL

ü dst-address=177.73.9.0/24 gateway=179.56.33.12 gateway-status=179.56.33.12 reachable via


vlan2000 distance=20 scope=40 target-scope=10 bgp-as-
path="8167,17379,26615,53118,52768,52683" bgp-origin=igp received-from=peer3-full-OI
64
Boas práticas para BGP-4

ü Configurar regras de filtro para:

ØEnviar somente o seu número AS e seu bloco de IP’s,


evitando assim virar AS de transito.
ØDescartar recebimento de seu próprio prefixo,
ØDescartar recebimento de blocos privados,
ØDescartar Bogons.
Ø- https://www.team-cymru.org/Services/Bogons/bgp.html

65
Boas práticas para BGP-4
üFiltrando redes “invalidas”
– /routing filter
– add action=discard chain=rfc_5735 comment=RFC_5735 prefix=10.0.0.0/8 prefix-length=8-32
– add action=discard chain=rfc_5735 comment=RFC_5735 prefix=0.0.0.0/8 prefix-length=8-32
– add action=discard chain=rfc_5735 comment=RFC_5735 prefix=127.0.0.0/8 prefix-length=8-32
– add action=discard chain=rfc_5735 comment=RFC_5735 prefix=169.254.0.0/16 prefix-length=16-32
– add action=discard chain=rfc_5735 comment=RFC_5735 prefix=172.16.0.0/12 prefix-length=12-32
– add action=discard chain=rfc_5735 comment=RFC_5735 prefix=192.0.0.0/24 prefix-length=24-32
– add action=discard chain=rfc_5735 comment=RFC_5735 prefix=240.0.0.0/4 prefix-length=4-32
– add action=discard chain=rfc_5735 comment=RFC_5735 prefix=192.0.2.0/24 prefix-length=24-32
– add action=discard chain=rfc_5735 comment=RFC_5735 prefix=192.168.0.0/16 prefix-length=16-32
– add action=discard chain=rfc_5735 comment=RFC_5735 prefix=192.88.99.0/24 prefix-length=24-32
– add action=discard chain=rfc_5735 comment=RFC_5735 prefix=192.18.0.0/15 prefix-length=15-32
– add action=discard chain=rfc_5735 comment=RFC_5735 prefix=198.51.100.0/24 prefix-length=24-32
– add action=discard chain=rfc_5735 comment=RFC_5735 prefix=203.0.113.0/24 prefix-length=24-32
– add action=discard chain=rfc_5735 comment=RFC_5735 prefix=224.0.0.0/4 prefix-length=4-32
– add action=discard chain=rfc_5735 comment=RFC_5735 prefix=255.255.255.255

66
Exercício - Final
Oper01-65001
Bloco:178.234.0.0/22
e blocos na pen drive
Ether1 177.67.0.2/30
Ether2 210.120.0.2/30
Loopback 178.234.0.1/32
Cliente - AS65123
Bloco: 177.123.0.0/22
Ether1 200.100.1.2/30
Ether2 10.99.99.7/24
Loopback 177.123.0.1/32

Oper02-65002
Bloco: 189.198.0.0/21
E blocos na pen drive
Ether1 189.12.0.2/30
Ether2 210.120.0.6/30
Loopback 189.198.0.1/32

Oper03-65003
Bloco: 210.120.0.0/22
e blocos na pen drive
Ether1 210.120.0.1/30
Ether2 210.120.0.5/30
Ether3 10.99.99.6/24
Loopback 210.120.1.1
Perguntas?

68
Obrigado.
LACIER DIAS
LACIER@VLSM.COM.BR
SKYPE: LACIER.DIAS
(43) 99185-5550

69