VLSM Aula BGP 2018 - v2 PDF
VLSM Aula BGP 2018 - v2 PDF
VLSM Aula BGP 2018 - v2 PDF
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;
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:
– 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
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.
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.
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).
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.
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.
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
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:
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.
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.
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.
Ø 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.
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???
ü Em caso de falha em um dos links, ele comuta tudo para um link só???
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
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.
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.
40
Politicas de Roteamento
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.
43
Atributos de BGP-4
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.
ü123 123 123 … ou 100 100 100 100 100, etc mas não
permitirá 123 100
46
Atributos de BGP-4
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.
ü Route Server:
Ø Recebe rotas do mesmo ASN e de ASN diferentes,
Ø Seleciona melhores caminhos, Routing
Reflector
51
Atributos de BGP-4
ü Existem algumas communities pré-definidas em:
Ø www.iana.org/assignments/bgp-well-known-communities
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)
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
ü 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
59
Sintaxe dos Filtros
ü Aba BGP Actions
61
Filtros para analisar os anúncios
• Como saber o que você está anunciando para seu vizinho ?
• Como saber o que seu vizinho está anunciando para seu peer ?
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.
63
Filtros para analisar os anúncios
ü /ip route print detail where dst-address in 177.73.8.0/23 (IP no Brasil)
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