Você está na página 1de 555

BGP Design com Roteadores

Cisco

Instrutor: Rinaldo Vaz

Analista de Redes

Responsvel tcnico pelo AS !"#$


Verso do material: 3.0
ltima publicao: 26/3/2013
1.0

%sse material &oi utilizado no curso de 'lorian(polis nos dias
)*$*+*, e ! de mar-o de ."#

Pr(/imo curso: 0o1o Pessoa2PB dias "#*")*"$*"+ e ", de maio de ."#



v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

2
Vis1o Geral so3re BGP
Verso do material: 3.0
ltima publicao: 26/3/2013
1.0
"4 Vis1o geral so3re BGP
5 "4" Introdu-1o
5 "4 Re6uisitos para se tornar um sistema aut7nomo
5 "4# Preenc8endo o &ormulrio do Registro43r
5 "4) 9uando utilizar IGP e %GP
5 "4$ Atri3utos BGP
5 "4+ %ntendendo o processo de escol8a de rotas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

3
"4" Introdu-1o

Di&eren-as entre 'IB e RIB:


Fowarding Information Base (FIB)

9uando um router rece3e rotas di&erentes para o mesmo


pre&i/o os critrios de escol8a de rota s1o analisados4 A
rota 6ue &oi considerada mel8or de acordo com os critrios
BGP &ica na 'IB4
:caso n1o 8a;a uma rota de mel8or metrica esttica ou
rece3ida por outro protocolo de roteamento<
Router Information Base (RIB)

As rotas 6ue n1o &oram consideradas mel8ores &icar1o


guardadas na RIB e ser1o utilizadas caso a rota principal
&i6ue indispon=vel4

O BGP jamais anuncia uma prefixo que no esteja na


FIB!


v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

4
"4" Introdu-1o

Dist>ncias administrativas:
?utro ponto importante a dist>ncia administrativa* caso
pre&i/os se;am id@nticos* o router analisa essa dist>ncia* a
menor sempre Agan8aA4 Caso se;am iguais* os critrios
particulares do protocolo de roteamento correspondente
ser1o analisados:
Directamente Conectada 0
Esttica 1
eBGP 20
EIGRP (Interno) 90
IGRP 100
OSPF 110
ISIS 115
RIP 120
EGP 140
EIGRP (Externo) 170
iBGP 200
BGP Local 200
Desconhecido 255
Padro Cisco*
Router discovery 55
RP 100
RPng 100
PM 105
DVMRP 110
Aggregate 130
OSPF AS external routes 150
S-S Level 1 external route 160
S-S Level 2 external route 165
BGP 170
MSDP 175
Directly connected network 0
System routes 4
Static and Static LSPs 5
RSVP-signaled LSPs 7
LDP-signaled LSPs 9
OSPF internal route 10
S-S Level 1 internal route 15
S-S Level 2 internal route 18
Redirects 30
Kernel 40
SNMP 50
Padro Juniper*

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

5
"4" Introdu-1o

A vers1o corrente do BGP a vers1o )*


especi&icada na R'C ",,"

B o protocolo responsvel por &azer a internet


&uncionar da maneira 6ue

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

6
"4" Introdu-1o

Algumas Caracter=sticas:
"4 B um protocolo do tipo Cvetor de camin8oD
4 As ta3elas completas de roteamento s1o trocadas
entre os dois routers no in=cio da sess1o
#4 Atualiza-Ees adicionais s1o enviadas imediatamente
atravs de mensagens de update F
)4 Gtiliza por padr1o a porta HCP ",I
F9uando uma nova rota instalada o router CavisaD imediatamente para seus outros
peers BGP* porm 8 possi3ilidade de esta3elecer um tempo m=nimo :Minimum
Route d!ertisement Inter!a" ou MRI< entre cada rod=zio de atualiza-Ees*
&or-ando2o a segurar alguns updates e envia2los de uma s( vez em um intervalo
pre2de&inido4 Por e/emplo:
neighbor {ip-address | peer-group-name} advertisement-interval seconds

Fonte:http://www.cisco.com/en/US/docs/ios/iproute_bgp/command/reerence/irg_bgp!.html

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

7
"4" Introdu-1o

Jensagens BGP:

Open :a3ertura< 2 B a primeira mensagem enviada por um router 6ue


dese;a esta3elecer uma sess1o com outro* esse por sua vez tam3m
envia uma mensagem open4 Ap(s rece3idas e c8ecadasF* cada router
envia a primeira mensagem de "eep alive e a sess1o esta3elecida4
*Mensagens de OPEN contm vrias informaes sobre o remetente como verso do BGP configurada, nmero do AS,
routerD, valores de timers configurados entre outros

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

8
"4" Introdu-1o

Jensagens BGP:

#pdate :atualiza-1o< 2 B dentro dessas mensagens 6ue v1o in&orma-Ees


so3re cada pre&i/o 6ue est sendo anunciado* uma mensagem de
update tam3m pode conter in&orma-Ees so3re redes 6ue &icaram
indispon=veis e devem ser removidas
Fonte da imagem: http://www.potaroo.net/ispcol/2005-03/fig1.png

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

9
"4" Introdu-1o

Jensagens BGP:

$otifica%o :noti&ication message< K B enviada 6uando uma condi-1o de


erro detectadaL elas s1o usadas para encerrar uma sess1o ativa e
in&ormar a 6uais6uer roteadores conectados do por6ue do encerramento
da sess1o4

Sempre 6ue um router envia uma mensagem do tipo notification esse


&inaliza imediatamente a sess1o BGP correspondente

%/: Ao rece3er uma mensagem de CopenD com o nMmero


de AS di&erente do 6ue &oi con&igurado localmente* o
router responde imediatamente com uma mensagem
de notification

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

0
"4" Introdu-1o

Jensagens BGP:

&eep'a"i!e :ainda estou a6ui< 2 De tempo em tempo cada router envia


uma mensagem de "eep-alive para 6ue o vizin8o sai3a 6ue 8
conectividade IP4 Caso o "eep-alive atrase* o router come-a a contagem
de hold-time e* se nesse per=odo n1o &or rece3ido nen8um "eep-alive# a
sess1o &inalizada4 Hanto o tempo de "eep-alive como o de hold-time
podem ser con&igurados para mais ou menos tempo de acordo com o
tipo de linN4

?s valores padr1o s1o +. segundos de intervalo para Neepalive e "!.


segundo de toler>ncia :8old time< 6ue podem ser alterados com o
seguinte comando:
$
router bgp %&''(
neighbor ()*.(%+.*.( timers *' %'
$

Com esse comando* o tempos de Neepalive e 8old time &icariam setados


em . e +. segundos respectivamente

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com


Re6uisitos para se tornar
um Sistema Aut7nomo
1.(

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

2
"4 2 Re6uisitos para se tornar um sistema
aut7nomo

Gma organiza-1o ;usti&ica a designa-1o de


um ASO 6uando apresenta uma das
seguintes necessidades:

Multi Provedor: Quando a organizao est conectada a dois ou


mais provedores de transito nternet distintos e independentes e
necessita, portanto, fazer uso de protocolos de roteamento
dinmico

Poltica nica de roteamento: Quando a organizao possui uma


poltica de roteamento que distinta daquela aplicada pelo(s)
provedor(es) de transito nternet.
Mais informaes em:
8ttp:PPregistro43rPprovedorPnumeracaoPregras48tml

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

3
Preenc8endo o 'ormulrio do
re)istro.*r
1.+

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

4
"4# 2 Preenc8endo o 'ormulrio do
re)istro.*r

Q um &ormulrio simples 6ue pode ser 3ai/ado


no seguinte endere-o:
http://registro.br/provedor/numeracao/pedido-form.txt

%m caso de dMvidas 8 um ar6uivo contento


in&orma-Ees de a;uda:
http://registro.br/provedor/numeracao/pedido-ajuda.txt

In&orma-Ees completas em:


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

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

5

9uando utilizar
IGP e %GP
1.,

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

6
"4) 2 9uando utilizar IGP e %GP

? BGP &oi desenvolvido para troca de rotas


entre Sistemas Aut7nomos distintos

O1o 8 nen8um motivo para um provedor de servi-os utilizar


BGP se esse n1o possuir um ASO4

A &inalidade do BGP permitir 6ue os IPs do Sistema Aut7nomo


apare-am na internet4

Hecnicamente nada impede de utilizar BGP com apenas uma


operadora* porm um re6uisito para o3ter um ASO:

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

7
"4) 2 9uando utilizar IGP e %GP

Caso um dos clientes do provedor tam3m se;a


um Sistema Aut7nomo indispensvel a
utiliza-1o do BGP com o cliente e operadoras
de tr>nsito4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

8

Atri3utos BGP
1.-

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

9
"4$ 2 Atri3utos BGP

Con8ecidos o3rigat(rios :Rell2NnoSn mandatorT<:


Alm de o3rigat(rio em todas as implementa-Ees*
precisam estar em todas as mensagens de update
trocadas entre os roteadores via BGP4

Con8ecidos discricionrios :Rell2NnoSn discretionarT<:


Semel8antes aos o3rigat(rios* porm n1o precisam estar
contidos em todas as mensagens de update. Hodas as
implementa-Ees precisam suporta2los

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

20
"4$ 2 Atri3utos BGP

?pcional transitivo :?ptional transitive<:


O1o precisam ser implementados por todos
os &a3ricantes* e 6uando sim* podem ser CpropagadosD
para outros neighbors atravs de mensagens de update4

?pcional n1o2transitivo :?ptional non2transitive<:


Semel8antes aos citados acima* porm* um router nunca
CpropagaD esses atri3utos para outro neighbor4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

2
"4$ 2 Atri3utos BGP

Uma boa descrio pode ser encontrada no livro:


"CCNP BSC - Official Exam Certification Guide,
4th edition de Brent Steward:

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

22

%ntendendo o Processo de
%scol8a de Rotas
1..

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

23
"4+ 2 %ntendendo o processo de escol8a de
rotas

%m primeiro lugar* o BGP apenas analisa os atri3utos


para AdesempatarA duas ou mais rotas para o MESMO
PREFIXO.

Caso 8a;a um pre&i/o mais espec=&ico esse sempre ser


pre&erido independentemente dos seus atri3utos Amais
&avorveisA4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

24
"4+ 2 %ntendendo o processo de escol8a de
rotas

Como o BGP escol8e uma rota:

Sempre que houverem duas ou mais opes de rota para prefixos iguais (mesma mscara de sub-rede) e
ambas tiverem sido recebidas via BGP, o protocolo vai escolher a melhor rota de acordo com a ordem:
1. Rota com maior valor de WEIGHT (Cisco, Quagga, RouterOS, OpenBGPD)
2. Rota com maior valor de LOCAL_PREF
3. Rota originada localmente (bgp network)
4. Rota com o menor AS_PATH.
5. Rota com menor tipo de origem.
IGP (i) < EGP (e) < INCOMPLETE (?)
6. Rota com menor mtrica multi-exit discriminator (MED).
7. Escolhe a rota recebida por (eBGP) em relao a uma (iBGP).

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

25
"4+ 2 %ntendendo o processo de escol8a de
rotas

Como o BGP escol8e uma rota:


8. Rota com a menor mtrica IGP para o nexthop BGP
Ex: O next-hop aprendido via OSPF vai "vencer" um next-hop
aprendido via ISIS
9. Rota externa mais antiga
10. Rota recebida de um router com menor Router ID
11. Rota com o menor tamanho de cluster list. (Ambientes com Route
Reflector apenas)
12. Rota com o menor endereo de neighbor

A anlise segue para o pr(/imo critrio apenas 6uando 8


empate no critrio atual* assim* o taman8o do AS PAHQ s(
ser analisado caso o valor de weight e local preerence
se;am os mesmos para as duas rotas4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

26
P%RGGOHASU
P%RGGOHASU
1..

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

27
(.0
Primeiros Passos
para Aparecer na Internet
4 Primeiros Passos para Aparecer na Internet
5 4"2Con&igurando BGP com apenas um linN
5 42Analisando as rotas rece3idas
5 4#2Con&igurando BGP com linNs
5 4)2Gtilizando um VooNing Glass
5 4$2'ail2?ver automtico
5 4+2%scol8endo o mel8or linN
5 4,2Balanceamento de linNs
5 4!2Implementando alta disponi3ilidade com VRRP
5 4I2BGP Himers

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

28
Con&igurando BGP com
apenas um linN
(.1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

29
4"2Con&igurando BGP com apenas um linN

Antes de come-ar* vamos entender o cenrio no ponto de


vista geral* onde cada aluno dono de um AS:
CENARIO !
VAB "2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

30
4"2Con&igurando BGP com apenas um linN

Oesse VAB* cada aluno possui um Cisco #++. com uma


placa serial modelo OJ2)H conectado ao AS ".. na
inter&ace s"P" e uma ast ethernet conectada ao sSitc8 da
sala do curso4

? C/D deve ser entendido como o AS do aluno :" at )<4


VAB "2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

3
4"2Con&igurando BGP com apenas um linN

? router de cada grupo responde pelo IP /4"!4.4$)PI


:onde / o nMmero do grupo<4

Para acess2lo* con&igurem nos seus laptops um IP dentro


dessa mesma rede pre&erencialmente 4" e gatewa,
padr1o /4"!4.4$)4

Veri&i6uem a conectividade IP e em caso positivo a3ram


uma sess1o telnet com esse e6uipamento:
ALUNO@notebook# telnet X.128.0.254
Trying X.128.0.254...
Connected to X.128.0.254.
Escape character is '^]'.
User Access Verification
Password: A sen"a de a#esso $ %&
Para 'uem usa windows (ode usar o Putt)......
"tt(*++www.#"iar,.greenend.org.u,+-sgtat"am+(utt)+down.oad."tm.
VAB "2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

32

%stamos agora no modo DusurioD:


GX-R1>

Para iniciar as con&igura-Ees precisaremos inicialmente


entrar no modo DprivilegiadoD* e ser e/igida uma outra
sen8a:
G1-R1>enable
Password: gXr1
GX-R1#

% em seguida no modo de con&igura-1o Dglo3alD:


GX-R1#terminal monitor
GX-R1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
GX-R1(config)#
4"2Con&igurando BGP com apenas um linN
VAB "2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

33

? primeiro passo na con&igura-1o BGP adicionar


um neighbor :peer<:
4"2Con&igurando BGP com apenas um linN
GX-R1(config)# router bgp X
GX-R1(config-router)# neighbor 100.X.1.1 remote-as 100
GX-R1(config-router)# neighbor 100.X.1.1 description eBGP com as 100
!--- Se digitar errado e o sistema "aceitar" o comando,
!--- digite o mesmo comando com "no" antes.
!--- Ex: neighbor 100.x.1.1 remote-as 101
!--- no neighbor 100.x.1.1 remote-as 101
!--- no neighbor 100.x.1.1 (remove tudo)
VAB "2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

34

Veri&icando o status da sess1o BGP recm2criada:


4"2Con&igurando BGP com apenas um linN
VAB "2"2"
/X!R0s" i( 1g( summar)
Neighbor V AS MsgRcvd MsgSent TblVer nQ OutQ Up/Down State/PfxRcd
100.X.1.1 4 100 7 4 4 0 0 00:00:02 2

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

35
4"2Con&igurando BGP com apenas um linN
router> configure
router# set routing-options autonomous-system X
router# set protocols bgp group AS100 type external
router# set protocols bgp group AS100 export nterno
router# set protocols bgp group AS100 peer-as 100
router# set protocols bgp group AS100 neighbor 100.X.1.1
[admin@mikrotik] > /routing bgp instance
[admin@mikrotik] /routing bgp instance>
set default as=X
/routing bgp peer
[admin@mikrotik] /routing bgp peer>
add name=AS100 remote-address=100.X.1.1 remote-as=100
VAB "2"2"

Como realizar a mesma con&igua-1o


no 0un?S e Router?S

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

36

Veri&icando os anMncios 6ue rece3o da min8a operadora:


/X!R0s"ow i( 1g( neig"1ors 22.X.. routes
Network Next Hop Metric LocPrf Weight Path...
*> 100.0.0.0 100.X.1.1 0 100 i
*> 123.123.123.0/24 100.X.1.1 0 100 111 55 123 i
.

Posteriormente veremos na prtica a di&eren-a entre os


comandos com Dreceived2routesD e apenas DroutesD no
&inal4
4"2Con&igurando BGP com apenas um linN
VAB "2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

37

Agora todos tentam ping para "#4"#4"#4" a partir do seu


router:
SucessoUU

Agora um -racerouteW

%m seguida ping para "#4"#4"#4" a partir do seu "aptop


SucessoUU

Agora um -racerouteW

9ue pro3lema pode estar 8avendoU


4"2Con&igurando BGP com apenas um linN
VAB "2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

38

%sse ponto merece uma pausa para analisar algo


importante no DHrou3les8ootingD4

Ao e/ecutar um traceroute um host veri&ica a sua ta3ela de


roteamento* caso n1o 8a;a ocorr@ncias os pacotes do
traceroute s1o encamin8ados pela rota padr1o* n1o sendo
nada especi&icado no comando* o IP de origem sempre o
mesmo da inter&ace conectada ao Dne/t28opD4

%m nosso VAB 6ual o ne.t-hop para "#4"#4"#4" U


Provavelmente "..4/4"4"* 6ual IP o router vai utilizar
como origemU
4"2Con&igurando BGP com apenas um linN
VAB "2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

39

? IP de origem "..4/4"4 6ue por sua vez est dentro de


uma rede Dcon8ecidaD pelo loo"ing glass :"#4"#4"#4"<4

0 o laptop n1o consegue alcan-ar o destino por6ue o seu IP


de origem /4"!4.4"* rede 6ue n1o con8ecida pelo
loo"ing glass ; 6ue ainda n1o anunciamos nada4

O1o se trata ent1o de o laptop Dn1o conseguir alcan-arD


"#4"#4"#4"* na verdade os pings disparados pelo
laptop c8egam ao seu destino* porm o destino n1o sa3e
para 6uem responder4
4"2Con&igurando BGP com apenas um linN
VAB "2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

40

? segundo passo anunciar o classe A :3loco P!< do seu


grupo:
4"2Con&igurando BGP com apenas um linN
GX-R1(config)# router bgp X
!--- entra no nodo de configurao BGP
GX-R1(config-router)#network X.0.0.0 mask 255.0.0.0
!--- adiciona a rede x.0.0.0 para ser anunciada a partir desse router
GX-R1(config-router) auto-summary
!--- permite que o BGP anuncie x.0.0.0/8 bastando com que haja qualquer
!--- P/rotaFB dentro das redes declaradas em networks
GX-R1(config-router)#end
!--- volta ao modo privilegiado
GX-R1# clear ip bgp 100.X.1.1
!--- reinicia a sesso BGP ==> OPCIONAL
VAB "2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

4

Auto2SummarT:
4"2Con&igurando BGP com apenas um linN

Quando habilitamos o auto-summary, o BGP vai sumarizar na classe padro (classe A, B ou C)


os prefixos declarados em network ou redistribute

Algumas literaturas afirmam que o auto-summary no funciona com prefixos anunciados via
comando "network. possvel que isso ocorra em verses mais antigas do OS, porm como
podemos ver nesse LAB (OS 12.4), temos um P /32 em uma interface loopback, que por sua vez
sumarizado e redistribudo como uma classe A

importante lembrar que esse tipo de sumarizao ocorre apenas para classes PADRO, e muito
dificilmente ser utilizado em produtividade.
VAB "2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

42

Agora veri&ico os anMncios 6ue estou &azendo para o AS "..:


/X!R0s" i( 1g( neig"1ors 22.X.. ad3ertised!routes
BGP table version is 15, local router D is 100.X.1.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - GP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> X.0.0.0 0.0.0.0 0 32768 i

Caso apare-a algo parecido com isso* vamos testar novamente a


conectividade IP com o loo"ing glass a partir do laptop4
4"2Con&igurando BGP com apenas um linN
VAB "2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

43

Sintam2se X vontade para entrar no loo"ing glass e e/ecutar


testes de PIOG e HRAC%R?GH%W
4"2Con&igurando BGP com apenas um linN
VAB "2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

44
P%RGGOHASU
P%RGGOHASU
(.1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

45
Analisando as rotas
rece3idas
(.(

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

46
42Analisando as rotas rece3idas

Vamos detal8ar mel8or as rotas rece3idas:


/X!R4s" i( 1g( summar)
...
Neighbor V AS MsgRcvd MsgSent TblVer nQ OutQ Up/Down State/PfxRcd
100.X.1.1 4 100 112 83 22 0 0 01:06:03 3

%sse comando mostra todas as sessEes BGP con&iguradas


ativas e n1o ativas4

Oesse la3orat(rio apenas uma sess1o est con&igurada4

Vamos entender o 6ue cada campo signi&ica444



v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

47

%ntendendo os campos do summar,:


Neighbor V AS MsgRcvd MsgSent TblVer nQ OutQ Up/Down State/PfxRcd
100.X.1.1 4 100 112 83 22 0 0 01:06:03 3

Neig"1or 5 22.X..

%sse o IP do router remoto :con&igurado em router BGP /<4


42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

48

%ntendendo os campos do summar,:


Neighbor V AS MsgRcvd MsgSent TblVer nQ OutQ Up/Down State/PfxRcd
100.X.1.1 4 100 112 83 22 0 0 01:06:03 3

6 5 7

Vers1o do BGP utilizada nessa sess1o4


42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

49

%ntendendo os campos do summar,:


Neighbor V AS MsgRcvd MsgSent TblVer nQ OutQ Up/Down State/PfxRcd
100.X.1.1 4 100 112 83 22 0 0 01:06:03 3

AS 5 22

AS do neig83or remoto :con&igurado em neig83or "..4/4"4"


remote2as Y<4
42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

50

%ntendendo os campos do summar,:


Neighbor V AS MsgRcvd MsgSent TblVer nQ OutQ Up/Down State/PfxRcd
100.X.1.1 4 100 112 83 22 0 0 01:06:03 3

MsgR#3d 5 %

MsgSent 5 8&

9uantidade total de mensagens BGP rece3idas e enviadas


incluindo DNeepalivesD e DupdatesD4
42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

5

%ntendendo os campos do summar,:


Neighbor V AS MsgRcvd MsgSent TblVer nQ OutQ Up/Down State/PfxRcd
100.X.1.1 4 100 112 83 22 0 0 01:06:03 3

91.6er 5 %%

Vers1o atual da ta3ela de rotas BGP* sempre 6ue uma nova rota
inserida ou removida o 0*"1er incrementado4
42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

52

%ntendendo os campos do summar,:


Neighbor V AS MsgRcvd MsgSent TblVer nQ OutQ Up/Down State/PfxRcd
100.X.1.1 4 100 112 83 22 0 0 01:06:03 3

In: 5 2

Out: 5 2

Updates na &ila de entrada e de sa=da4


42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

53

%ntendendo os campos do summar,:


Neighbor V AS MsgRcvd MsgSent TblVer nQ OutQ Up/Down State/PfxRcd
100.X.1.1 4 100 112 83 22 0 0 01:06:03 3

;(+<own 5 2*2=*2&

Contador das 8oras minutos e segundos desde de 6ue a sess1o


&oi esta3elecida ou 6ue a sess1o &icou down* ap(s ) 8oras o
contador muda para 1d00200m :diasP8orasPminutos< ap(s
uma semana 0130d002 4semanasPdiasP8oras<4

Antes de uma sess1o esta3elecer ao menos uma vez o


contador &ica em DneverD4
42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

54

%ntendendo os campos do summar,:


Neighbor V AS MsgRcvd MsgSent TblVer nQ OutQ Up/Down State/PfxRcd
100.X.1.1 4 100 112 83 22 0 0 01:06:03 3

State+Pf>R#d 5 &

%sse campo merece uma aten-1o especial pois ser o mais


&re6uentemente o3servado4 Indica o estado da cone/1o BGP4

Oesse caso est contando # pre&i/os* mas e/istem $


estados poss=veis* I<?E@ CONEC9@ AC9I6E@ OPENSEN9@
OPENCONFIRM e ES9AB?ISAE<5 iremos entender mel8or
cada um desses estados nos pr(/imos slides4
42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

55

%ntendendo os campos do summar,:


State/PfxRcd
I<?E

o estado em que a sesso fica quando interrompida por uma mensagem de notificao ou
interveno do administrador, esse estado, quando se prolonga por muito tempo, aponta
algum possvel problema de conectividade P ou ainda que o BGP no foi configurado
corretamente do lado remoto.
42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

56

%ntendendo os campos do summar,:


State/PfxRcd
AC9I6E

ACTVE: O BGP tenta esta1e.e#er comunicao com um peer inicializando uma conexo
TCP. Caso esta seja bem sucedida, passa-se ao estado OPENSENT. Se esta tentativa
no for bem sucedida, pelo motivo de expirao do tempo, por exemplo, o estado passa
para CONNECT. Em cada interrupo pelo sistema ou pelo administrador, volta ao estado
DLE. Geralmente as transies entre o estado de CONNECT e ACTVE refletem
problemas no nvel TCP.
42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

57

%ntendendo os campos do summar,:


State/PfxRcd
CONNEC9

Neste estado o BGP aguarda pela conexo TCP, com destino na porta 179. Quando a
conexo estiver estabelecida, ou seja, com o recebimento da mensagem de OPEN,
passa-se ao estado de OPENSENT. Se a conexo nvel de transporte no for bem
sucedida, o estado vai para ACTVE. No caso do tempo de espera ter sido ultrapassado,
o estado volta para CONNECT. Em qualquer outro evento o estado retorna para DLE.
42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

58

%ntendendo os campos do summar,:


State/PfxRcd
OPEN SEN9

OPENSENT: Neste estado o BGP aguarda pela mensagem de OPEN e faz uma checagem de
seu contedo. Caso seja encontrado algum erro como nmero de AS incoerente ao
esperado ou a prpria verso do BGP, envia-se uma mensagem tipo NOTFCATON e
volta ao estado de DLE. Caso no ocorram erros na checagem, inicia-se o envio de
mensagens KEEPALVE. Em seguida, acerta-se o tempo de Hold Time, sendo optado o
menor tempo entre os dois peers. Depois deste acerto, compara-se o nmero AS local e o
nmero AS enviado pelo peer, com o intuito de detectar se uma conexo iBGP (nmeros
de AS iguais) ou eBGP (nmeros de AS diferentes). Em caso de desconexo a nvel TCP,
o estado passa para ACTVE. Para as demais situaes de erro, como expirao do Hold
Time, envia-se uma mensagem de NOTFCATON com o cdigo de erro correspondente
e retorna-se ao estado de DLE. No caso de interveno do administrador ou o prprio
sistema, tambm retorna-se o estado DLE.
42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

59

%ntendendo os campos do summar,:


State/PfxRcd
OPEN CONFIRM

OPENCONFRM: Neste estado o BGP aguarda pela mensagem de KEEPALVE e quando


esta for recebida, o estado segue para ESTABLSHED e a negociao do peer
finalmente concluda. Com o recebimento da mensagem de KEEPALVE, acertado o
valor negociado de Hold Time entre os peers. Se o sistema receber uma mensagem tipo
NOTFCATON, retorna-se ao estado de DLE. O sistema tambm envia periodicamente,
segundo o tempo negociado, mensagens de KEEPALVE. No caso da ocorrncia de
eventos como desconexo ou interveno do operador, retorna-se ao estado de DLE
tambm. Por fim, na ocorrncia de eventos diferentes aos citados, envia-se uma
mensagem NOTFCATON, retornando ao estado de DLE.
42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

60

%ntendendo os campos do summar,:


State/PfxRcd
ES9AB?ISAE<

ESTABLSHED: Neste estado, o BGP inicia a troca de mensagens de UPDATE ou


KEEPALVE, de acordo com o Hold Time negociado. Caso seja recebida alguma
mensagem tipo NOTFCATON, retorna-se ao estado DLE. No recebimento de cada
mensagem tipo UPDATE, aplica-se uma checagem por atributos incorretos,
inconsistentes, duplicados, ou mesmo faltando, caso algum erro seja detectado, envia-se
uma mensagem de NOTFCATON, retornando ao estado DLE. Por fim, se o Hold Time
expirar ou for detectada desconexo ou interveno do administrador, tambm retorna-se
ao estado de DLE.
42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

6

%ntendendo os campos do summar,:


State/PfxRcd
&

Esse nmero no representa a quantidade de prefixos recebidos de um


neighbor, mas sim a quantidade de prefixos que foram parar na RB
aps terem passado pelos filtros.

Um State+Pf>R#d 2 no significa necessariamente que no estou


recebendo nenhuma rota, por exemplo, pode ser que o next-hop dessas
rotas seja inalcanvel pelo meu router e assim elas no aparecem.
Detalharemos esses casos posteriormente.
42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

62

Vamos detal8ar todas as rotas BGP:


/X!R0 s"ow i( 1g(
BGP table version is 22, local router D is 100.X.1.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - GP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 6.0.0.0 100.X.1.1 0 100 6 i
*> 100.0.0.0 100.X.1.1 0 100 i
*> 123.0.0.0 100.X.1.1 0 100 222 123 i

6sse comando mostra todas as rotas rece*idas !ia BGP


esco"2idas 4FIB7 e no esco"2idas 4RIB7. 8omo rece*emos rotas
de apenas um peer5 no 29 rotas :no esco"2idas:.
42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

63

Vamos detal8ar uma rota espec=&ica:


/X!R0s" i( 1g( %&.2.2.2
BGP routing table entry for 123.0.0.0/8, version 10
Paths: (1 available, best #1, table Default-P-Routing-Table)
Flag: 0x208
Not advertised to any peer
100 111 55 123
100.X.1.1 from 100.X.1.1 (100.100.100.1)
Origin GP, localpref 100, valid, external, best
0Esse #omando deta."a as rotas (ara o (refi>o %&.2.2.2+8@ e #aso outras rotas (ara esse mesmo
(refi>o ten"am sido re#e1ida 3ia B/P de outro(s) neighbor(s)@ mais entradas seme."antes
a(are#erBo uma a1ai>o da outra.

6ntenderemos cada campo a se)uir;


42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

64

Vamos detal8ar uma rota em espec=&ico:


/X!R0s" i( 1g( %&.2.2.2
BGP routing table entry for 123.0.0.0/8, version 22
...

6ssa "in2a mostra a !erso da routin) ta*"e descrita nos


s"ides anteriores.
42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

65

Vamos detal8ar uma rota em espec=&ico:


/X!R0s" i( 1g( %&.2.2.2
...
Paths: (1 available, best #1, table Default-P-Routing-Table)

Paths significa a quantidade de neighbors que me enviaram rotas para


esse mesmo prefixo, ou seja, 1 avaliable diz que apenas 1 neighbor
me enviou.

best #1 a rota que foi escolhida (na ordem de cima para baixo) de acordo
com os critrios do BGP weigh, local_pref, etc.

table Default-P-Routing-Table significa que as rotas esto na FB padro.


Mltiplas FB's so usadas com VRF.
42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

66

Vamos detal8ar uma rota em espec=&ico:


/X!R0s" i( 1g( %&.2.2.2
...
Flag: 0x208
...
42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

67

Vamos detal8ar uma rota em espec=&ico:


/X!R0s" i( 1g( %&.2.2.2
...
Not advertised to any peer
...

6ssa mensa)em si)nifica que esse prefixo 1(+.0.0.0<= no


est9 sendo anunciada !ia BGP para nen2um nei)2*or.
$a !erdade qua"quer rota nesse "a*orat>rio aparecer9
com essa mensa)em.

6sse campo ser9 deta"2ado posteriormente na sesso :?


de tr@nsito:.
42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

68

Vamos detal8ar uma rota em espec=&ico:


/X!R0s" i( 1g( %&.2.2.2
...
100 111 55 123
...

AS2PAHQ: mostra da direita para a es6uerda o AS 6ue originou essa rota e


todos os ASs no camin8o4

?u se;a* o AS "# originou o anMncio para o AS $$ 6ue rece3eu*


considerou como mel8or rota e e/portou para o as """* depois para o
AS "..* o 6ual tam3m considerou como mel8or e repassou para meu
AS4

Gm ponto importante a se o3servar 6ue mesmo 6ue um AS ten8a mil


camin8os para um determinado pre&i/o* apenas GJ 6ue ele vai
escol8er como DB%SH ZD e passar adiante4
42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

69

Vamos detal8ar uma rota em espec=&ico:


/X!R0s" i( 1g( %&.2.2.2
...
100.X.1.1 from 100.X.1.1 (x.x.x.x)
...

? primeiro IP dessa lin8a signi&ica o Dne/t28opD:pr(/imo salto<


para esse pre&i/o* caso o ne/t28op n1o este;a contido em uma
rota vlida da 'IB* esse ;amais ser eleito como DB%SHD4

? segundo IP dessa lin8a me diz o endere-o do Dneig83orD 6ue


me enviou essa rota via BGP4

? IP :Y4Y4Y4Y< na verdade o Drouter2IDD desse neig3or descrito


acima4
42Analisando as rotas rece3idas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

70
P%RGGOHASU
P%RGGOHASU
(.(

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

7
Con&igurando BGP com
linNs
:JGVHIQ?JIOG<
:JGVHIQ?JIOG<
(.+

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

72
4# Con&igurando BGP com linNs

?s pr(/imos Va3orat(rios :"22" e "22< utilizar1o esse


cenrio* e dessa vez* temos linN tam3m com o AS ..:
VAB "22"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

73
4# Con&igurando BGP com linNs

Oesse VAB* rece3eremos mais um linN :AS ..< atravs da


inter&ace s1<0;
$-- lembrando /ue X 0 o n1mero do 2S do aluno
VAB "22"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

74
4# Con&igurando BGP com linNs

Primeiro passo a con&igura-1o do pr(/imo neighbor:


GX-R1(config)# router bgp X
GX-R1(config-router)#
network x.0.0.0 mask 255.0.0.0
neigbor 100.x.1.1 remote-as 100
neigbor 100.x.1.1 !escription e"G# com as 100
!--- O neighbor acima foi j configurado
!--- prximo Neigbor
neigbor 200.X.1.1 remote-as 200
neigbor 200.X.1.1 !escription e"G# com as 200
VAB "22"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

75

Veri&icando o status das sessEes BGP recm2criadas:


GX-R10s" i( 1g( summar)
Neighbor V AS MsgRcvd MsgSent TblVer nQ OutQ Up/Down State/PfxRcd
100.1.1.1 4 100 192 170 9 0 0 00:27:48 7
200.1.1.1 4 200 191 181 9 0 0 00:27:51 7

? nMmero de P&/Rcd vai ser maior a medida 6ue os alunos esta3eleceram


suas cone/Ees4
4# Con&igurando BGP com linNs
VAB "22"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

76

Detal8ando as rotas rece3idas via BGP

%m # dos ) routers parte da sa=da desse comando aparecer


parecida com isto:
/!R4s" i( 1g(
BGP table version is 9, local router D is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - GP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
C4 .2.2.2 2.2.2.2 2 &%D=8 i
C4 %.2.2.2 22... 2 22 % i
C %22... 2 %22 % i
C4 EE.2.2.2 22... 2 22 EE i
C %22... 2 %22 %%% %& EE i
C4 22.2.2.2 22... 2 22 i
C %22... 2 %22 % 22 i
C4 .2.2.2 22... 2 22 i
C %22... 2 %22 % 22 i
C %&.2.2.2 22... 2 22 EE %& i
C4 %22... 2 %22 %%% %& i
C %22.2.2.2+8 22... 2 22 % %22 i
C4 %22... 2 %22 i
C %%%.2.2.2+8 22... 2 22 % %22 %%% i
C4 %22... 2 %22 %%% i
4# Con&igurando BGP com linNs
VAB "22"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

77

Detal8ando as rotas rece3idas via BGP

Porm em " dos ) routers a sa=da ser di&erente:


/!R4s" i( 1g(
BGP table version is 9, local router D is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - GP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
C4 .2.2.2 2.2.2.2 2 &%D=8 i
C4 %.2.2.2 22... 2 22 % i
C %22... 2 %22 % i
C4 EE.2.2.2 22... 2 22 EE i
C %22... 2 %22 %%% %& EE i
C4 22.2.2.2 22... 2 22 i
C %22... 2 %22 % 22 i
C4 .2.2.2 22... 2 22 i
C %22... 2 %22 % 22 i
C %&.2.2.2 22... 2 22 EE %& i
C4 %22... 2 %22 %%% %& i
C4 %22.2.2.2+8 %22... 2 %22 i
C4 %%%.2.2.2+8 %22... 2 %22 %%% i
4# Con&igurando BGP com linNs
VAB "22"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

78

Detal8ando as rotas rece3idas via BGP

? 6ue signi&ica essas Drotas alternativasD desaparecerem at da


RIBU

% o 6ue isso implica na prticaU

Vamos ver a 'IB do C&elizardoDU4

Por en6uanto o importante X sa3er 6ue esse router passou a ser


Dtr>nsitoD dos AS[s .. e para alcan-ar o AS "..*""" e
todos os seus DdoSnstreamsD4

Oo caso desse router &icar down* outro grupo &icar na mesma


situa-1o444 vamos ver 6uemU
C %22.2.2.2+8 22... 2 22 % %22 i
C4 %22.2.2.2+8 %22... 2 %22 i
C %%%.2.2.2+8 22... 2 22 % %22 %%% i
C4 %%%.2.2.2+8 %22... 2 %22 %%% i
4# Con&igurando BGP com linNs
VAB "22"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

79

%vitando se tornar AS de tr>nsito dos meus GPSHR%AJS

'azer anMncios &az do meu router um potencial provedor de


tr>nsito das redes 6ue anuncio :dependendo da origem<4
/X!R4s" i( 1g( neig"1ors 22.X.. ad3ertised!routes

...
Network Next Hop Metric LocPrf Weight Path
*> X.0.0.0 0.0.0.0 0 32768 i
...
/X!R4s" i( 1g( neig"1ors %22.X.. ad3ertised!routes
...
Network Next Hop Metric LocPrf Weight Path
*> X.0.0.0 0.0.0.0 0 32768 i
*> 2.0.0.0 100.1.1.1 0 100 2 i
*> 55.0.0.0 100.1.1.1 0 100 111 55 i
*> 100.0.0.0 100.1.1.1 0 100 i
*> 111.0.0.0 100.1.1.1 0 100 111 i
...
4# Con&igurando BGP com linNs
VAB "22"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

80

Implementando &iltros de sa=da em meus upstreams

Q vrias maneiras e vamos iniciar pela mais simples:


"<Criando uma prei.-list:
GX-R1(config)#ip prefix-list ME;S!B?OCOS permit X.0.0.0/8
!--- adiciona o bloco do AS do grupo na lista "MEUS-BLOCOS"
GX-R1(config)#router bgp X
GX-R1(config-router)#neighbor 200.X.1.1 prefix-list ME;S!B?OCOS out
!---aplicar o mesmo filtro na sada do AS 200
GX-R1(config-router)#neighbor 100.X.1.1 prefix-list ME;S!B?OCOS out
!--- aplicar o mesmo filtro na sada do AS 100
GX-R1(config-router)#end
GX-R1#clear ip bgp *
4# Con&igurando BGP com linNs
VAB "22"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

8

1erificando as rotas rece*idas ap>s o fi"tro de


saAda

Agora o router anuncia para os GPSHR%AJS apenas o


necessrio 6ue o pre&i/o P! correspondente ao grupo:
/X!R4s" i( 1g( neig"1ors 22.X.. ad3ertised!routes

BGP table version is 24, local router D is 9.9.9.9
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - GP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> X.0.0.0 0.0.0.0 0 32768 i
GX-R1>s" i( 1g( neig"1ors %22.X.. ad3ertised!routes
BGP table version is 24, local router D is 9.9.9.9
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - GP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> X.0.0.0 0.0.0.0 0 32768 i
4# Con&igurando BGP com linNs
VAB "22"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

82
P%RGGOHASU
P%RGGOHASU
(.+

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

83
Gtilizando um
VooNing Glass
(.,

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

84
4) Gtilizando um VooNing Glass

Gm loo"ing glass nada mais do 6ue um router com acesso


pM3lico em algum lugar da internet* em sua maioria* a
inter&ace Se3 para &acilitar a vida do usurio* mas o
mesmo 6ue entrar nesse router e e/ecutar certos
comandos como:
s8oS ip 3gp /4/4/4/* ping /4/4/4/* traceroute /4/4/4/
Gm dos mais &amosos o Qurricane %letric444
http://lg.he.net

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

85
4) Gtilizando um VooNing Glass

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

86
4) Gtilizando um VooNing Glass

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

87
4) Gtilizando um VooNing Glass

6m nosso BB o BooCin) )"ass D 1(+.1(+.1(+.15 !amos


primeiramente !erificar a conecti!idade com esse
endere%o;
$%&'()notebook*+, traceroute 12-.12-.12-.1 -n
traceroute to 12.12.12.1 !12.12.12.1"# $ hop% max# &$ b'te pac(et%
1 X.12).$.2*+ *.2,2 m% *.&** m% *.&+$ m%
2 2$$.X.1.1 1.)$- m% 1+.1,) m% 1$$.-$1 m%
2$$.2$$.1.1 111.$* m% )&.$)2 m% )&.+-- m%
+ 222.2$$.1$.1 ,2.-2+ m% ,2.$2 m% &,.*1 m%
* 222.222.1.1 12-.+,2 m% -.*$* m% &,.-$- m%
& 12.222.2.1 +.$, m% -).+$1 m% &&.2 m%
./0ientes 1in!ows uti0i2am 3tracert 12-.12-.12-.13

? 6ue podemos concluir com esse tracerouteU

Jeus pacotes entram no AS ..* depois no AS e c8egam ao seu destino4



v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

88
4) Gtilizando um VooNing Glass

9ual critrio o meu router :primeiro salto< utilizou para


considerar esse camin8o como mel8orU

.amo% entender:

Ootem 6ue em nen8uma das rotas 8 6ual6uer valor no


atri3uto ASeig8tA 6ue o primeiro critrio* em segundo
veri&icado o Alocalpre&A 6ue nos dois casos est em "..
:empate<* o algoritmo de sele-1o de rotas segue ent1o
para o pr(/imo Acritrio de desempateA :menor AS Pat8<
onde a rota Z &oi mais &eliz4
GX-R14s ip bgp 12-.12-.12-.1
/01 routing table entr' for 12.$.$.$/)# 2er%ion -
1ath%: !2 a2ailable# best #2# table 3efault-41-5outing-6able"
Not ad2erti%ed to an' peer
1$$ 111 ** 12
1$$.X.1.1 from 1$$.X.1.1 !1$$.1$$.1$$.1"
Origin 401# localpref 1$$# 2alid# external
2$$ 222 12
2$$.X.1.1 from 2$$.X.1.1 !2$$.2$$.2$$.1"
Origin 401# localpref 1$$# 2alid# external# best

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

89
4) Gtilizando um VooNing Glass
E8onectar'se ao "ooCin) G"ass

Os pacotes se)uiram o se)uinte camin2o; ? (((


depois ? (00 e fina"mente ? /.
$%&'()notebook*+, te0net 12-.12-.12-.1
...
$5-12--R14traceroute X.126.0.1
6'pe e%cape %e7uence to abort.
6racing the route to 1.$.1.1
1 12.222.2.2 ) m%ec ) m%ec 12 m%ec
2 222.222.1.2 89: 222; 12 m%ec +$ m%ec 12 m%ec
222.2$$.1$.2 89: 222; 2+ m%ec 2) m%ec 12 m%ec
+ 2$$.2$$.1.2 89: 2$$; *2 m%ec 2+ m%ec *& m%ec
* 2$$.X.1.2 89: 2$$; *& m%ec 2+ m%ec 2) m%ec
& X.12).$.1 89: X; &+ m%ec &+ m%ec 2) m%ec

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

90
4) Gtilizando um VooNing Glass

1erifique a)ora que o mesmo critDrio 4menor ?


Pat27 feF o router decidir pe"o Gmesmo camin2o:
para a"can%ar o note*ooC do a"uno;
$5-12--R14s ip bgp X.126.0.1
/01 routing table entr' for X.$.$.$/)# 2er%ion +*
1ath%: !2 a2ailable# be%t <2# table 3efault-41-5outing-6able"
9d2erti%ed to non peer-group peer%:
12.**.2.2
** 111 1$$ X
12.**.2.2 from 12.**.2.2 !**.**.**.2"
Origin 401# localpref 1$$# 2alid# external
222 200 X
12-.222.2.2 from 12-.222.2.2 (222.222.222.2)
(rigin 7G#8 0oca0pref 1008 9a0i!8 externa08 best

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

9
P%RGGOHASU
P%RGGOHASU
(.,

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

92
'ail2?ver
Automtico
(.-

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

93
4$ 'ail2?ver automtico

Gtilizando a rota alternativa

Vamos simular um pro3lema


tcnico no AS.. deligando
seus CP%[s444

aguardem alguns instantes444


GX-R1# terminal monitor
5d06h: %BGP-5-ADJCHANGE: neighbor 200.X.1.1 Down ...
VAB "22

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

94
4$ 'ail2?ver automtico

Agora e/ecute novamente um traceroute a partir do seu laptop:

Com o AS .. down *os pacotes entram no AS "..* depois no AS


"""* e s( depois de passar no AS $$ alcan-am o destino :looNing
glass<4
ALUNO@notebook:~$ traceroute 123.123.123.1 -n
traceroute to 123.123.123.1 (123.123.123.1), 30 hops max, 60 byte packets
1 X.128.0.254 3.118 ms 3.492 ms 3.482 ms
2 100.X.1.1 11.808 ms 11.799 ms 17.716 ms
3 100.100.1.1 38.856 ms 42.330 ms 21.847 ms
4 111.100.10.1 38.422 ms 108.815 ms 108.392 ms
5 111.111.1.1 133.799 ms 69.868 ms 133.367 ms
6 55.111.2.1 110.819 ms 107.647 ms 65.948 ms
7 55.55.1.1 138.345 ms 129.942 ms 129.917 ms
8 123.55.2.1 115.805 ms * *
ALUNO@notebook:~$
VAB "22

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

95
4$ 'ail2?ver automtico

Agora note 6ue a rota alternativa :mais distante< passou a ser


utilizada e o Amel8or camin8oA 6ue 8avia n1o e/iste mais*
restando apenas o Apior camin8oA 6ue dadas as circunst>ncias*
passou a ser um A(timoA camin8o:
/X!R4s" i( 1g( %&.%&.%&.
BGP routing table entry for 123.0.0.0/8, version 16
Paths: (1 available, best #1, table Default-P-Routing-Table)
Not advertised to any peer
100 111 55 123
100.X.1.1 from 100.X.1.1 (100.100.100.[1-3])
Origin GP, localpref 100, valid, external, best
VAB "22

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

96
4$ 'ail2?ver automtico

Vamos veri&icar no ponto de vista do VooNing Glass:


ALUNO@notebook:~$ telnet 123.123.123.1
Trying 123.123.123.1...
Connected to 123.123.123.1.
Escape character is '^]'.
User Access Verification
Password: 123
AS!%&!R4traceroute X.128.0.1
Type escape sequence to abort.
Tracing the route to 1.0.1.1
1 123.55.2.2 8 msec 8 msec 4 msec
2 55.55.1.2 [AS 55] 12 msec 24 msec 16 msec
3 55.111.2.2 [AS 55] 32 msec 28 msec 40 msec
4 111.111.1.2 [AS 111] 52 msec 36 msec 64 msec
5 111.100.10.2 [AS 111] 56 msec 48 msec 52 msec
6 100.100.1.2 [AS 100] 84 msec 60 msec 64 msec
7 100.X.1.2 [AS 100] 84 msec 88 msec 60 msec
8 X.128.0.1 [AS 1] 92 msec 68 msec 96 msec
VAB "22

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

97
4$ 'ail2?ver automtico

Veri&i6uem 6ue o loo"ing glass escol8e o camin8o mais


ClongoD para c8egar ao note3ooN do aluno:
Fagora a Mnica rota dispon=vel

E essa mensagem "advertised to... 123.222.2.2" ?


Nos slides anteriores era "advertised to 123.55.2.2"

Vamos ver o debug do as 123 aps um "clear ip bgp

Mas deixa claro que a(s) rede(s) do(s) aluno(s) esto sendo anunciadas para o as 222, e consequentemente
para o AS 200

Vamos comprovar...
AS!%&!R4s" i( 1g( X.%8.2.
BGP routing table entry for 1.0.0.0/8, version 49
Paths: (1 available, best #1, table
Default-P-Routing-Table)
Advertised to non peer-group peers:
123.222.2.2
55 111 100 X
123.55.2.2 from 123.55.2.2 (55.55.55.2)
Origin GP, localpref 100, valid, external, best
VAB "22

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

98
4$ 'ail2?ver automtico

Partindo do laptop vamos tentar alcan-ar o AS ..444

Agora alcan-amos o AS .. pelo camin8o mais longo poss=vel* AS


"..* AS """* AS $$* AS "#* AS e &inalmente AS ..4

Vamos analisar444
ALUNO@notebook:~$ traceroute 200.200.200.10 -n
traceroute to 200.200.200.10 (200.200.200.10), 30 hops max, 60 byte packets
1 X.128.0.254 6.128 ms 6.510 ms 6.501 ms
2 100.X.1.1 19.342 ms 19.735 ms 68.139 ms
3 100.100.1.1 100.368 ms 68.527 ms 99.945 ms
4 111.100.10.1 68.506 ms 79.031 ms 100.321 ms
5 111.111.1.1 78.604 ms 68.467 ms 68.456 ms
6 55.111.2.1 45.810 ms 39.272 ms 127.491 ms
7 55.55.1.1 136.322 ms 123.845 ms 114.650 ms
8 123.55.2.1 113.618 ms 123.932 ms 112.493 ms
9 123.222.2.2 161.647 ms 101.636 ms 111.676 ms
10 222.222.1.2 161.596 ms 176.097 ms 183.647 ms
11 222.200.10.2 154.398 ms 122.534 ms 101.285 ms
VAB "22

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

99
4$ 'ail2?ver automtico

Veri&i6uem as entradas para a rede em 6ue &az parte o IP do


?'(00'R10:

?3serve o AS Pat8* precisamos dar a Avolta ao mundoA para


alcan-ar o AS ..4

Discutiremos solu-Ees alternativas nos pr(/imos cap=tulos4


/X!R4s" i( 1g( %22.%22.%22.2
BGP routing table entry for 200.0.0.0/8, version 20
Paths: (1 available, best #1, table Default-P-Routing-Table)
Not advertised to any peer
22 EE %& %%% %22
100.X.1.1 from 100.X.1.1 (100.100.100.1)
Origin incomplete, localpref 100, valid, external, best
VAB "22

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

00
4$ 'ail2?ver automtico

A mesma coisa pode ser o3servada a partir do R". do AS ..

? novo camin8o &ica 3em mais ClongoD* mas n1o &ica &ora
ALUNO@notebook:~$ telnet 200.200.200.10
Trying 200.200.200.10
Connected to 200.200.200.10
Escape character is '^]'.
AS!%22!R24s" i( 1g( X.2.2.2
BGP routing table entry for X.0.0.0/8, version 77
Paths: (1 available, best #1, table Default-P-Routing-Table)
Advertised to peer-groups:
BGP
222 123 55 111 100 X
222.200.10.1 from 222.200.10.1 (222.222.222.1)
Origin GP, localpref 100, valid, external, best
VAB "22

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

0
4$ 'ail2?ver automtico
ConclusEes:

? protocolo BGP trata praticamente sozin8o os pro3lemas de


6ueda nos linNs4

Porm n1o tem como entender certas variveis 6ue &azem o linN A
ser mais vivel 6ue o linN B* ou mesmo 6uando precisamos somar
linNs4

%m outras palavras* se ten8o contratados "..J3s de tr>nsito com


o AS ".. e apenas $. com o AS ..* seria invivel ter o linN do AS
.. como principal* e nesse caso precisamos Ainter&erirA na
decis1o do protocolo BGP manipulando certos atri3utos4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

02
P%RGGOHASU
P%RGGOHASU
(.-

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

03
%scol8endo o
Jel8or VinN
(..

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

04
4+ %scol8endo o mel8or linN

Considere 6uase toda a min8a demanda de tr>nsito vindo sempre


do AS "# as seguintes situa-Ees:

? linN entre o AS e .. est passando por di&iculdades4

A negocia-1o com o AS ".. me garantiu um pre-o 6ue me


permitiu do3rar a 3anda contratada4

Algum outro motivo 6ue me o3rigue a utilizar o AS ".. como linN


principal e o as .. como 3acNup4

Como vimos anteriormente* o BGP escol8e por padr1o o as ..*


vamos modi&icar essa escol8a444

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

05
4+ %scol8endo o mel8or linN

Alterando o atri3uto Reig8t:

Vamos veri&icar como &icaram as rotas BGP444


GX-R1#configure terminal
GX-R1(config)#router bgp X
GX-R1(config-router)#neighbor 100.X.1.1 weight 10
GX-R1(config-router)#end
!--- agora vamos efetuar um clear na sesso BGP
GX-R1#clear ip bgp 100.X.1.1
VAB "2#2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

06
4+ %scol8endo o mel8or linN

Analisando a rota para rede do loo"ing glass ap(s a mudan-a no


atri3uto:

Aca3amos de &or-ar o router a escol8er a rota Z* ; 6ue o


primeiro critrio o atri3uto Seig8t* a rota Z &oi escol8ida como
mel8or mesmo com um as pat8 JAI?R4
/X!R0s" i( 1g( %&.%&.%&.
BGP routing table entry for 123.0.0.0/8, version 35
Paths: (2 available, best #2, table Default-P-Routing-Table)
Not advertised to any peer

%22 %%% %&
200.X.1.1 from 200.1.1.1 (200.200.200.1)
Origin GP, localpref 100, valid, external
22 EE %&
100.X.1.1 from 100.X.1.1 (100.100.100.1)
Origin GP, localpref 100, weig"t 2, valid, external, 1est
VAB "2#2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

07
4+ %scol8endo o mel8or linN

Hestando444

%/ecutem um traceroute do seu laptop para "#4"#4"#4"


\
444

Caso a mudan-a no Seig8t ten8a sido 3em sucedida os pacotes


seguiram a rota pelo AS ".. ao invs do AS ..4

PorDm isso reso"!e apenas GmetadeG do meu pro*"ema


conforme !eremos no s"ide se)uinte...
VAB "2#2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

08
4+ %scol8endo o mel8or linN

Ping e/tendido:
GX-R1#ping
Protocol [ip]:
Target P address: %&.%&.%&.
Repeat count [5]: %
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: )
Source address or interface: X.%8.2.%E7
Type of service [0]:
Set DF bit in P header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]: re#ord
Number of hops [ 9 ]:
Loose, Strict, Record, Timestamp, Verbose[RV]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 2, 100-byte CMP Echos to 192.168.100.1, timeout is 2 seconds:
Packet sent with a source address of 172.16.32.1
Packet has P options: Total option bytes= 39, padded length=40
Record route: <*>
(0.0.0.0)
(0.0.0.0)
(0.0.0.0)
(0.0.0.0)
(...continua...)
VAB "2#2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

09
4+ %scol8endo o mel8or linN

Ping e/tendido:
(...continuao...)
(0.0.0.0)
Reply to request 0 (152 ms). Received packet has options
Total option bytes= 40, padded length=40
Record route:
(100.X.1.2)
(100.100.2.2)
(111.100.1.2)
(111.111.2.2)
(55.111.1.2)
(55.55.2.2)
(123.55.1.2)
(123.123.123.1)
(%&.%%%..) *essa interface pelo qual o ping foi respondido
<*>
End of list
<Omited>

Success rate is 100 percent (2/2), round-trip min/avg/max = 116/134/152 ms
GX-R1#
VAB "2#2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

0
4+ %scol8endo o mel8or linN

Agora veri&icar o ponto de vista do loo"ing glass testando a partir


dele:
Como podemos veri&icar* o AS "# continua escol8endo a mesma
rota* uma vez 6ue a mudan-a no atri3uto Seig8t* teve in&lu@ncia
apenas no meu GPV?AD* sendo assim* meu doSnload continua
c8egando pelo AS .. :menor AS PAHQ no ponto de vista do AS
"#<4

O1o ten8o como pedir 6ue o AS "# altere os seus atri3utos*


preciso convenc@2los de outra &orma a mudar de rota4
ALUNO@notebook:~ telnet 123.123.123.1
!--- Efetuem um traceroute para o seu laptop
AS!%&!R4tra#eroute (ara X.%8.2.
VAB "2#2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

4+ %scol8endo o mel8or linN

'azendo anMncios mais espec=&icos para o AS "..

Como mencionado anteriormente* os atri3utos BGP s( s1o


analisados 6uando 8 um empate de pre&i/o* porm 6uando 8 um
pre&i/o JAIS %SP%C]'IC? os atri3utos s1o ignorados4

9uais 3locos anunciar para cada ASU

Dividiremos em 3locos PI para o as ".. e o P! para o AS ..4


VAB "2#2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

2
4+ %scol8endo o mel8or linN

Con&igurando os anMncios mais espec=&icos:


GX-R1#conf terminal
GX-R1(config)#ip prefix-list LAB-1-3-1-ANUNCAR-AS-100 permit X.0.0.0/9
GX-R1(config)#ip prefix-list LAB-1-3-1-ANUNCAR-AS-100 permit X.128.0.0/9
!--- adiciona 2 prefixos /9 dentro da lista "ANUNCIAR-AS-100"
GX-R1(config)#ip prefix-list LAB-1-3-1-ANUNCAR-AS-200 permit X.0.0.0/8
!--- adiciona o classe A inteiro dentro da lista "ANUNCIAR-AS-100"
GX-R1(config)#router bgp X
!--- adiciona 2 prefixos /9 dentro da lista "ANUNCIAR-AS-100"
GX-R1(config-router)#network X.0.0.0 mask 255.128.0.0
GX-R1(config-router)#network X.128.0.0 mask 255.128.0.0
!--- alm do anuncio local do classe A, inserimos mais 2 prefixos /9 a serem
!--- a serem anunciados pelo router
GX-R1(config-router)#neighbor 200.X.1.1 prefix-list LAB-1-3-1-ANUNCAR-AS-200 out
!--- declara que esse anuncios de saida (out) para esse neighbor serao filtrados
GX-R1(config-router)#neighbor 100.X.1.1 prefix-list LAB-1-3-1-ANUNCAR-AS-100 out
!--- declara que esse anuncios de saida (out) para esse neighbor serao filtrados
GX-R1(config-router)#end
GX-R1#clear ip bgp * soft
VAB "2#2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

3
4+ %scol8endo o mel8or linN

Veri&icando anMncios para o AS ..:

Agora para o AS "..:

%stamos anunciando apenas um dos 3locos PI para o AS "..* por


6ueU
/>!R0s" i( 1g( neig"1ors %22.>.. ad3ertised!routes
BGP table version is 13, local router D is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - GP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> >.0.0.0 0.0.0.0 0 32768 i
G>-R1#
/>!R0s" i( 1g( neig"1ors 22.>.. ad3ertised!routes
Network Next Hop Metric LocPrf Weight Path
*> >.128.0.0/9 0.0.0.0 0 32768 i
VAB "2#2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

4
4+ %scol8endo o mel8or linN

Apenas um pre&i/o pertencente ao meu classe A est na 'IB:

? comando Dlonger2pre&i/esD mostraria rotas para 6ual6uer


su32rede dentro do 3loco P! pes6uisado* porm temos o primeiro P
I diretamente conectado X &.P. e um P# na 3oopbac"'.
/>!R0s" i( route >.2.2.2 .onger!(refi>es
...
Gateway of last resort is not set
>.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C >.>.>.>/32 is directly connected, Loopback0
C >.128.0.0/9 is directly connected, FastEthernet0/0
VAB "2#2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

5
4+ %scol8endo o mel8or linN

Precisamos primeiramente garantir 6ue as redes 6ue 6uero


anunciar este;am em min8a 'IB:

Agora 6ue ten8o os 3locos PI em min8a 'IB vamos veri&icar


novamente os anMncios para o AS "..444
/>!R0#onf t
/>!R(#onfig)0i( route >.2.2.2 %EE.%8.2.2 nu..2
!--- faremos apenas para o primeiro /9 j que o segundo est OK
/>!R(#onfig)0end
G>-R1#
/>!R0s" i( route >.2.2.2 .onger!(refi>es
...
Gateway of last resort is not set
>.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
C >.>.>.>/32 is directly connected, Loopback0
S >.2.2.2+F is dire#t.) #onne#ted@ Nu..2
C >.128.0.0/9 is directly connected, FastEthernet0/0
VAB "2#2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

6
4+ %scol8endo o mel8or linN

Agora 6ue ten8o os 3locos PI em min8a 'IB vamos veri&icar


novamente os anMncios para o AS "..4..

Agora estamos &azendo corretamente o anMncio dos dois 3locos PI


para o AS "..4
/>!R0s" i( 1g( neig"1ors 22.>.. ad3ertised!routes
BGP table version is 11, local router D is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - GP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> >.0.0.0/9 0.0.0.0 0 32768 i
*> >.128.0.0/9 0.0.0.0 0 32768 i
G>-R1#
VAB "2#2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

7
4+ %scol8endo o mel8or linN

Vamos novamente entrar no loo"ing glass e veri&icar as rotas para


classe A do grupo:

Dessa &orma* a rota em vermel8o nunca usada* pois e/istem dois


3locos mais espec=&icos* &azendo com 6ue o VG sempre alcance os
AS[s dos grupos atravs do AS "..4
AS!%&!R4s" i( 1g( X.2.2.2+8 .onger!(refi>es
BGP table version is 30, local router D is 123.123.123.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - GP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> X.0.0.0/9 123.55.2.2 0 55 111 100 X i
*> X.0.0.0 123.222.2.2 0 222 200 X i
*> X.128.0.0/9 123.55.2.2 0 55 111 100 X i
AS-123-R1>
VAB "2#2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

8
4+ %scol8endo o mel8or linN

Veri&icando camin8o percorrido com o comando traceroute:

Oo in=cio &or-amos o upload pelo AS "..* e agora tam3m o


download pelo AS "..4
AS!%&!R4tra#eroute X.%8.2.
Type escape sequence to abort.
Tracing the route to X.128.0.1
1 123.55.2.2 20 msec 24 msec 12 msec
2 55.55.1.2 [AS 55] 32 msec 32 msec 44 msec
3 55.111.2.2 [AS 55] 20 msec 36 msec 32 msec
4 111.111.1.2 [AS 111] 40 msec 56 msec 36 msec
5 111.100.10.2 [AS 111] 88 msec 28 msec 56 msec
6 100.100.1.2 [AS 100] 76 msec 52 msec 76 msec
7 100.2.1.2 [AS 100] 64 msec 56 msec 60 msec
8 X.128.0.2 [AS X] 60 msec 60 msec 80 msec
AS-123-R1>
VAB "2#2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

9
4+ %scol8endo o mel8or linN

Agora vamos voltar ao normal e remover o Reig8t ". para todas


as rotas rece3idas do AS "..

Vamos veri&icar como &icaram as rotas BGP444


GX-R1#configure terminal
GX-R1(config)#router bgp X
GX-R1(config-router)#no neighbor 100.X.1.1 weight 10
GX-R1(config-router)#end
!--- agora vamos efetuar um clear na sesso BGP
GX-R1#clear ip bgp 100.X.1.1
VAB "2#2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

20
P%RGGOHASU
P%RGGOHASU
(..

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

2
Balanceando os
VinNs
(.H

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

22
4,2Balanceando os linNs

Vamos agora considerar uma situa-1o de necessidade de


utilizar os dois linNs de maneira 3alanceada4

Dividiremos cada metade do P! para cada AS4

Anunciaremos o primeiro PI para o AS ".. e o segundo PI


para o AS .. &azendo com 6ue o nosso tr&ego inbound
se;a divido em $.^ para cada linN4

A l(gica a mesma* o 6ue &aremos di&erente do la3 anterior


um detal8e para o ail-over.

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

23
4,2Balanceando os linNs

Vamos entrar no looNing glass e ver o resultado:


AS!%&!R4s" i( 1g( X.2.2.2+8 .onger!(refi>es
...
Network Next Hop Metric LocPrf Weight Path
*> X.0.0.0/9 123.55.1.2 0 55 111 100 X i
* X.0.0.0 123.55.1.2 0 55 111 100 X i
*> 123.222.1.2 0 222 200 X i
*> X.128.0.0/9 123.222.1.2 0 222 200 X i
AS-123-R1>

Agora testar o camin8o para os 3locos PI4


VAB "2)2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

24
4,2Balanceando os linNs

Vamos criar duas novas pre&i/2lists e adiciona2las como &iltro


de SA]DA para cada AS de tr>nsito:
GX-R1#conf terminal
GX-R1(config)#ip prefix-list LAB-1-4-1-ANUNCAR-AS-100 permit X.0.0.0/8
GX-R1(config)#ip prefix-list LAB-1-4-1-ANUNCAR-AS-100 permit X.0.0.0/9
!--- adiciona 2 prefixos /9 dentro da lista "ANUNCIAR-AS-100"
GX-R1(config)#ip prefix-list LAB-1-4-1-ANUNCAR-AS-200 permit X.0.0.0/8
GX-R1(config)#ip prefix-list LAB-1-4-1-ANUNCAR-AS-200 permit X.128.0.0/9
!--- adiciona o classe A inteiro dentro da lista "ANUNCIAR-AS-100"
GX-R1(config)#router bgp X
!--- adiciona 2 prefixos /9 dentro da lista "ANUNCIAR-AS-100"
GX-R1(config-router)#neighbor 200.X.1.1 prefix-list LAB-1-4-1-ANUNCAR-AS-200 out
!--- declara que esse anuncios de saida (out) para esse neighbor serao filtrados
GX-R1(config-router)#neighbor 100.X.1.1 prefix-list LAB-1-4-1-ANUNCAR-AS-100 out
!--- declara que esse anuncios de saida (out) para esse neighbor serao filtrados
GX-R1(config-router)#end
GX-R1#clear ip bgp * soft
VAB "2)2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

25
4,2Balanceando os linNs
AS!%&!R4tra#eroute X.X.X.X
Type escape sequence to abort.
Tracing the route to X.X.X.1
1 123.55.2.2 8 msec 16 msec 16 msec
2 55.55.1.2 [AS 55] 44 msec 12 msec 16 msec
3 55.111.2.2 [AS 55] 24 msec 32 msec 32 msec
4 111.111.1.2 [AS 111] 48 msec 28 msec 48 msec
5 111.100.10.2 [AS 111] 48 msec 48 msec 56 msec
6 100.100.1.2 [AS 100] 60 msec 88 msec 112 msec
AS-123-R1>

Primeiro PI :Voop3acN do router<:

Camin8o $$*"""*"..
VAB "2)2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

26
4,2Balanceando os linNs

Segundo PI :ip do laptop<:

Camin8o *..
AS!%&!R0tra#eroute X.%8.2.
Type escape sequence to abort.
Tracing the route to X.128.0.1
1 123.222.2.2 24 msec 4 msec 32 msec
2 222.222.1.2 [AS 222] 40 msec 8 msec 16 msec
3 222.200.10.2 [AS 222] 32 msec 24 msec 16 msec
4 200.200.1.2 [AS 200] 56 msec 4 msec 28 msec
5 200.2.1.2 [AS 200] 92 msec 20 msec 40 msec
8 X.128.0.1 [AS 2] 64 msec 47 msec 33 msec
AS-123-R1#
VAB "2)2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

27
4,2Balanceando os linNs

Simula-1o de pro3lemas nos C%[s do AS "..444

Hodos veri&icam a mudan-aW

Simula-1o de pro3lemas nos CP%[s do AS ..444

Hodos veri&icam a mudan-aW


VAB "2)2

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

28
4,2Balanceando os linNs

?BS: Para um 3alanceamento assimtrico mudar=amos os


anMncios* 6ue3rando para 3locos cada vez mais espec=&icos

Ounca es6uecer de 6ue o 3alanceamento 3aseado em


anMncios espec=&icos depende da distri3ui-1o dos IPs dentro
do meu AS4
VAB "2)2

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

29
Implementando
Alta
Disponi3ilidade
com VRRP
(.=

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

30
4!2 Implementando Alta Disponi3ilidade
com VRRP

? cenrio permanece o mesmo* porm com um router


CidenticoD como bac"up.

A ideia 6ue todos os dois linNs continuem "..^


operacional mesmo 6ue o router principal &i6ue
totalmente &ora4
VAB "2$2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

3

Antes de con&igurar o router BAC_GP* vamos O?VAJ%OH%


anunciar apenas um 3loco P! para cada operadora:

Criando as prei.-lists:
GX-R1(config)#router bgp X
GX-R1(config-router)#neighbor 200.X.1.1 prefix-list MEUS-BLOCOS out
!---mudar o filtro na sada do AS 200
GX-R1(config-router)#neighbor 100.X.1.1 prefix-list MEUS-BLOCOS out
!--- mudar o filtro na sada do AS 100
GX-R1(config-router)#end
GX-R1#clear ip bgp *
VAB "2$2"
4!2 Implementando Alta Disponi3ilidade
com VRRP

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

32

? segundo router responde pelo IP /4"!4.4$#

Veri&i6uem a conectividade IP e em caso positivo a3ram


uma sess1o telnet da mesma &orma 6ue &izemos com
G/2R":
ALUNO@notebook# telnet X.128.0.%E&
Trying X.128.0.253...
Connected to X.128.0.253.
Escape character is '^]'.
User Access Verification
Password: A sen"a de a#esso tam1$m $ %&
VAB "2$2"
4!2 Implementando Alta Disponi3ilidade
com VRRP

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

33

%stamos agora no modo DusurioD:


GX-R2>

A sen8a de ena3le mudou:


G1-R2>enable
Password: gXr2
GX-R2#

Hodos os outros passos s1o semel8antes444


GX-R2#terminal monitor
GX-R2#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
GX-R2(config)#
VAB "2$2"
4!2 Implementando Alta Disponi3ilidade
com VRRP

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

34

Precisamos aplicar as J%SJAS con&igura-Ees* com e/ce-1o


dos endere-os de neighbor:
!-- ATENO as configuraes so em Gx-R2
!-- observem a mudana no IP de neighbor
GX-R2(config)# router bgp X
GX-R2(config-router)#
network x.0.0.0 mask 255.0.0.0
no auto-summar:
neigbor 100.X.2.1 remote-as 100
neigbor 100.X.2.1 !escription e"G# com as 100
neigbor 200.X.2.1 remote-as 200
neigbor 200.X.2.1 !escription e"G# com as 200
VAB "2$2"
4!2 Implementando Alta Disponi3ilidade
com VRRP

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

35

Criando as prei.-lists:
GX-R2(config)#ip prefix-list MEUS-BLOCOS permit X.0.0.0/8
!--- adiciona o bloco do AS do grupo na lista "MEUS-BLOCOS"
GX-R2(config)#ip route X.0.0.0 255.0.0.0 null 0
GX-R2(config)#router bgp X
GX-R2(config-router)#neighbor 200.X.2.1 prefix-list MEUS-BLOCOS out
!---aplicar o mesmo filtro na sada do AS 200
GX-R2(config-router)#neighbor 100.X.2.1 prefix-list MEUS-BLOCOS out
!--- aplicar o mesmo filtro na sada do AS 100
GX-R2(config-router)#end
GX-R2#clear ip bgp *
VAB "2$2"
4!2 Implementando Alta Disponi3ilidade
com VRRP

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

36

Veri&icando o status das sessEes BGP recm2criadas:


GX-R20s" i( 1g( summar)
Neighbor V AS MsgRcvd MsgSent TblVer nQ OutQ Up/Down State/PfxRcd
100.X.2.1 4 100 192 170 9 0 0 00:00:48 7
200.X.2.1 4 200 191 181 9 0 0 00:00:51 7

? nMmero de P&/Rcd vai ser maior a medida 6ue os alunos esta3eleceram


suas cone/Ees4
VAB "2$2"
4!2 Implementando Alta Disponi3ilidade
com VRRP

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

37

1erificando as rotas rece*idas ap>s o fi"tro de


saAda;
/X!R%4s" i( 1g( neig"1ors 22.X.%. ad3ertised!route

BGP table version is 24, local router D is X.X.X.X
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - GP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> X.0.0.0 0.0.0.0 0 32768 i
GX-R2>s" i( 1g( neig"1ors %22.X.%. ad3ertised!routes
BGP table version is 24, local router D is X.X.X.X
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - GP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> X.0.0.0 0.0.0.0 0 32768 i
VAB "2$2"
4!2 Implementando Alta Disponi3ilidade
com VRRP

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

38

? pr(/imo passo a cria-1o da inter&ace virtual* mas o 6ue


VRRP a&inalU

Virtual Router RedundancT Protocol


cria uma inter&ace* um JAC e um
ip virtual* e todos os routers do
grupo VRRP con8ecem essas
in&orma-es4 Oo momento em 6ue
o router CmasterD &ica &ora* o
primeiro candidato levanta
imediatamente o IP virtual* de
maneira 6ue os 8osts da rede n1o
perce3em essa comuta-1o* e ao
mesmo tempo n1o tem
pro3lemas com ARP* ; 6ue o JAC
n1o muda4
VAB "2$2"
4!2 Implementando Alta Disponi3ilidade
com VRRP

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

39

? pr(/imo passo a cria-1o da inter&ace virtual* mas o 6ue


VRRP a&inalU
4!2 Implementando Alta Disponi3ilidade
com VRRP

Vrios roteadores podem &azer


parte de uma mesma VRRP4 Para
de&inir 6uem o router master e
6uem assume nas situa-Ees de
&al8a* alteramos o valor de
priorit, na con&igura-1o do grupo
VRRP4

Vamos X segunda parte do VAB444


VAB "2$2

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

40

Vamos con&igurar uma VRRP na inter&ace lan e garantir 6ue


G/2R" se;a o router master:
4!2 Implementando Alta Disponi3ilidade
com VRRP
GX-R1#conf t
GX-R1(config)#interface fastEthernet 0/0
GX-R1(config-if)#vrrp X ip X.128.0.252
GX-R1(config-if)#vrrp X priority 2
GX-R1(config-if)#vrrp X timers advertise 1
GX-R1(config-if)#vrrp X preempt delay minimum 160
GX-R1(config-if)#end
GX-R1#debug vrrp state
VRRP State debugging is on
GX-R1#wr
GX-R2#conf t
GX-R2(config)#interface fastEthernet 0/0
GX-R2(config-if)#vrrp X ip X.128.0.252
GX-R2(config-if)#vrrp X priority 1
GX-R2(config-if)#vrrp X timers learn
GX-R2(config-if)#vrrp X preempt delay minimum 160
GX-R2(config-if)#end
GX-R2#debug vrrp state
VRRP State debugging is on
GX-R2#wr
VAB "2$2

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

4

Vamos veri&icar o
status444
4!2 Implementando Alta Disponi3ilidade
com VRRP
GX-R1#sh vrrp brief
nterface Grp Pri Time Own Pre State Master addr Group addr
Fa0/0 X 2 3992 Y Master X.128.0.254 X.128.0.252
GX-R1#
GX-R2#sh vrrp brief
nterface Grp Pri Time Own Pre State Master addr Group addr
Fa0/0 X 1 3992 Y Backup X.128.0.254 X.128.0.252
GX-R2#
VAB "2$2

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

42

Agora simularemos uma &al8a em G/2R"


4!2 Implementando Alta Disponi3ilidade
com VRRP

Notem que h um tempo mdio de 4 minutos at que a comutao


acontea para o router backup

Por que todo esse tempo?


X
VAB "2$2

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

43

9uando o router R" &ica &ora* os CP%[s das


operadoras passam algum tempo CpensandoD
6ue ele ainda est GP
4!2 BGP Himers

Cada router envia uma mensagem "keep alive a cada 60 segundos


(por padro)

Quando um "keep alive atrasa, o CPE da operadora ativa uma


contagem chamada "hold time (padro 180 segundos)

Se at o final do "hold time no chegar um "keep alive o CPE da


operadora finaliza a sesso BGP com R1.

mediatamente o CPE percebe que h uma outra opo disponvel


para a rede X.0.0.0/8 e instala em sua FB

Vamos alterar os valores de "keep alive e "hold time para 5 e 15


segundos respectivamente...
X
VAB "2$2

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

44

Vamos alterar os timers padr1o para diminuir o


doSntime
4!2 BGP Himers
GX-R1(config)#router bgp X
GX-R1(config-router)#neighbor 100.X.1.1 timers 5 15
GX-R1(config-router)#neighbor 200.X.1.1 timers 5 15
!--- muda o tempo de keep alive para 5 segundos
!--- e o hold time para 15 segundos
GX-R1(config-router)#end
GX-R1#clear ip bgp *
GX-R2(config)#router bgp X
GX-R2(config-router)#neighbor 100.X.2.1 timers 5 15
GX-R2(config-router)#neighbor 200.X.2.1 timers 5 15
!--- muda o tempo de keep alive para 5 segundos
!--- e o hold time para 15 segundos
GX-R2(config-router)#end
GX-R2#clear ip bgp *
VAB "2$2

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

45

Vamos testar novamente444


4!2 BGP Himers
X

O tempo paralizao diminuiu de cerca de 3 minutos para 15
segundos

importante lembrar que nesse lab utilizamos interfaces seriais, e o


"bgp fast-external-fallover vem habilitado por padro e faz o BGP
automaticamente finalizar a sesso quando detecta uma interface em
estado "down.

Esse recurso foi desabilitado no intuito de simular situaes reais j


qua a maioria dos links atuais so "metroethernet
VAB "2$2

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

46
P%RGGOHASU
P%RGGOHASU
(.=

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

47
+.0
Peering e Hroca de
Hr&ego
#4 Peering e Hroca de tr&ego
5 #4" Peering / Hr>nsito
5 #4 %ntendendo o &uncionamento de um PIY
5 #4# 'ormulrios de ades1o
5 #4) Di&eren-as entre acordo 3ilateral e multilateral
5 #4$ Participantes locais e remotos
5 #4+ %ntendendo o conceito de VanVan
5 #4, AHJ2Hratando as rotas rece3idas
5 #4! AHJ2Anunciando corretamente
5 #4I ? looNing glass do PHH Jetro
5 #4". Aplica-Ees de um acordo 3ilateral
5 #4"" Comprando e vendendo tr>nsito no PHH

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

48
+.1
Peering / Hr>nsito

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

49
#4" Peering / Hr>nsito

%m primeiro lugar devem ser separados os conceitos de


peering e tr>nsito4

9uando dois AS[s tem uma 6uantidade de demanda comum*


aca3a saindo mais 3arato o peering.

%/emplo* eu sou AS A* e ten8o uma demanda de ".J3s de


doSnload de um certo conteMdo 8ospedado no AS B4

Para resolver isso* contrato um linN de ".J3s da operadora B e


pago R` "..*.. por cada mega* num total de R` "4...*..4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

50
#4" Peering / Hr>nsito

Porem* a operadora B tam3m tem uma demanda de ".J3s


de conteMdo 8ospedado no meu AS A4

Isso d para operadora B uma conta semel8ante de R`


"4...*.. mensais4

Oo &inal do m@s* &icar=amos empatados no custo* e o mel8or a


se &azer esta3elecer um linN direto de ".J3s sem 6ue um
co3re do outro4

Q outras vantagens tcnicas como menor camin8o BGP e


menor lat@ncia4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

5

LAB: Observem o cenrio...


#4" Peering / Hr>nsito

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

52

LAB: Estabelecer peering entre grupos com os seguintes ps:


AS P AS P
1 1.2.1.1/30 x 2 1.2.1.2/30
3 3.4.1.1/30 x 4 3.4.1.2/30
5 5.6.1.1/30 x 6 5.6.1.2/30
7 7.8.1.1/30 x 8 7.8.1.2/30
9 9.10.1.1/30 x 10 9.10.1.2/30
11 11.12.1.1/30 x 12 11.12.1.2/30
13 13.14.1.1/30 x 14 13.14.1.2/30
15 15.16.1.1/30 x 16 15.16.1.2/30
17 17.18.1.1/30 x 18 17.18.1.2/30
19 19.20.1.1/30 x 20 19.20.1.2/30
21 21.22.1.1/30 x 22 21.22.1.2/30
23 23.24.1.1/30 x 24 23.24.1.2/30
- - - - -
#4" Peering / Hr>nsito
VAB "2+2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

53

Realizando as con&igura-Ees IP 4? IMPR7:


GXR1#conf t
GX-R1(config)#interface serial 1/2
GX-R1(config-if)#ip address X.G.1.1 255.255.255.252
GX-R1(config-if)#no shutdown
GX-R1(config-if)#end
GXR1#ping X.G.1.2

?nde:
X= AS local
G= AS remoto
#4" Peering / Hr>nsito
VAB "2+2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

54

Realizando as con&igura-Ees IP 4? PR7:


GXR1#conf t
GX-R1(config)#interface serial 1/2
GX-R1(config-if)#ip address G.X.1.2 255.255.255.252
GX-R1(config-if)#no shutdown
GX-R1(config-if)#end
GXR1#ping G.X.1.1

?nde:
X= AS local
G= AS remoto
#4" Peering / Hr>nsito
VAB "2+2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

55

Con&igurando BGP 4? IMPR7:



Onde:
X= AS local
G= AS remoto
GX-R1#conf t
GX-R1(config)#
GX-R1(config)#router bgp X
GX-R1(config-router)#neighbor X.G.1.2 remote-as G
GX-R1(config-router)#neighbor X.G.1.2 weight 20
!--- priorizar todas as rotas recebidas pelo peering com weight 20
GX-R1(config-router)#neighbor X.G.1.2 prefix-list MEUS-BLOCOS out
!--- filtrar anncios de sada para esse peering na respectiva prefix-list
GX-R1(config-router)#exit
GX-R1(config)#end
GX-R1#clear ip bgp *
#4" Peering / Hr>nsito
VAB "2+2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

56

Con&igurando BGP 4? PR7:



Onde:
X= AS local
G= AS remoto
GX-R1#conf t
GX-R1(config)#
GX-R1(config)#router bgp X
GX-R1(config-router)#neighbor G.X.1.1 remote-as G
GX-R1(config-router)#neighbor G.X.1.1 weight 20
!--- priorizar todas as rotas recebidas pelo peering com weight 20
GX-R1(config-router)#neighbor G.X.1.1 prefix-list MEUS-BLOCOS out
!--- filtrar anncios de sada para esse peering na respectiva prefix-list
GX-R1(config-router)#exit
GX-R1(config)#end
GX-R1#clear ip bgp *
#4" Peering / Hr>nsito
VAB "2+2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

57

Verificando os anncios para o novo peering:

O Next Hop 0.0.0.0 e o weight 32768 indicam que as redes foram


originadas localmente ou seja, no comando:
router(#onfig!router) networ, >.>.>.> mas, >.>.>.>
/X!R0s" i( 1g( neig"1ors X.X.X.X ad3ertised!routes
...
Network Next Hop Metric LocPrf Weight Path
*> X.0.0.0 0.0.0.0 0 32768 i
!-- x.x.x.x o endereo remoto do seu peering
#4" Peering / Hr>nsito
VAB "2+2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

58

Veri&icando as redes rece3idas do meu novo peering


:utilizando o e/emplo para o peering entre AS " e <:

Onde:
= AS local
%= AS remoto
G-R1#sh ip bgp regexp ^G$
!--- essa consulta retorna apenas rotas que contenham o AS Y no path
!--- e nada mais
BGP table version is 29, local router D is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - GP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> G.0.0.0 X.Y.1.2 0 20 G i
#4" Peering / Hr>nsito
VAB "2+2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

59

Hestando um traceroute para J4"!4.4" 444

A partir de agora est 8avendo uma troca de tr&ego entre


os AS[s4

? 6ue &az dessa con&igura-1o um peering e n1o um


tr>nsitoU
FAo ca=rem os linNs do AS.. e AS".. apenas as redes do
peering continuariam &uncionando* e isso o 6ue
descaracteriza um tr>nsito4
#4" Peering / Hr>nsito
VAB "2+2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

60

Vamos simular uma &al8a nos AS[s de tr>nsito e veri&icar a


conectividade entre os AS[s 6ue &azem peering...
#4" Peering / Hr>nsito
X
X
VAB "2+2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

6
%ntendendo o
'uncionamento
de Gm PIY do PHHJetro
+.(

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

62
#4 %ntendendo o 'uncionamento de Gm
PIY do PHHJetro

Para 6uem ainda n1o assistiu:


http://youtu.be/imL3Cc8mC2Y

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

63

%ntendendo a necessidade de peerings entre centenas de ASs


do Brasil* o OIC43r organizou diversos pontos de troca4

Seu &uncionamento consiste 3asicamente em " sSitc8*


route2servers e um router VooNing Glass :outros maiores
como SP possuem dezenas de sSitc8s em vrios PIYes<4
#4 %ntendendo o 'uncionamento de Gm
PIY do PHHJetro

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

64

Hodos os participantes compartil8am um mesmo 3loco P)


ou P :no caso do PHH2SP<* cada participante tem um IP* e
todos pingam entre si4

%sta3elecem cone/Ees BGP com os route2servers e o looNing


glass4
#4 %ntendendo o 'uncionamento de Gm
PIY do PHHJetro

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

65

?s Route Servers cumprem um papel &undamental


dispensando a necessidade de 6ue todos os participantes
&a-am peering individualmente4

Imaginem centenas de participantes esta3elecendo peering


:todos com todos<4
ROUTE
SERVER
#4 %ntendendo o 'uncionamento de Gm
PIY do PHHJetro

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

66
'ormulrios de Ades1o
+.+

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

67
#4# 2 'ormulrios de Ades1o

Para se conectar do PHH2SP por e/emplo* acesse o endere-o:


http://sp.ptt.br/adesao.html

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

68

Para &acilitar 8 um &ormulrio modelo ; preenc8ido:


...
Termo de conexo ao PTTMetro
...
Localidade ........: (Coloque aqui a localidade do PTT que deseja se conectar) Listagem: http://ptt.r/adesao.php
!"# ...............: $$%&'
(ntidade #ome .....: )egistro.r
*)L ...............: http://registro.r/
(ndere+o ..........: !,. das #a+-es *nidas ..%&'/ 01 andar 2&%0'3222 3 "o Paulo 3 "P
#4C email .........: noc5registro.r
6#4C378! ext ......: $$%&'9#4C
Tele:one ..........: .. %%2;3<%.2
!dm3c nome ........: =rederico ! C #e,es
email .............: :ne,es5registro.r
Tele:one ..........: .. %%2;3<%..
Peering3c nome ....: 4ripide 4cilento =ilho
email .............: oripide5nic.r
Tele:one ..........: .. %%2;3<%$2
Comercial Tr>nsito :
email .............:
Tele:one ..........:
*)L Pol?tica
Peering .......: none 3 4pen Polic@
8AP =eed para o
LooBing3glass ...: "im CxD #ao C D
Eende tr>nsito,& ..: "im C D #o CxD
Eende tr>nsito,F ..: "im C D #o CxD
Conexo
8andGidth .........:
Media (thernet ....: .28aseTH C D .228aseTH C D .22228aseTH C D
. Aig(3"H CHD . Aig(3LH C D .2 Aig(3") C D .2 Aig(3L) C D
P6H ...............: )egistro.r
6P,F ..............: "im CxD #ao C D
...
#4# 2 'ormulrios de Ades1o

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

69
Di&eren-as entre Acordo
Bilateral
e Jultilateral
+.,

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

70
#4) 2 Di&eren-as entre Acordos Bilaterais e
Jultilaterais

%star no PHH por si s( n1o signi&ica trocar tr&egoW

%/istem participantes 6ue optaram em n1o trocar tr&ego


multilateral :todos com todos<4

% esse um direito do participante444



v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

7

Acordo de troca Jultilateral :AHJ<

Para trocar tr&ego com todos os participantes* alm do termo


de cone/1o ao PHHmetro* preciso preenc8er o termo de
ades1o ao AHJ :Acordo de Hroca Jultilateral<4

Oo acordo multilateral o participante rece3e uma vlanaip e


troca tr&ego com todos4

Aps preenchidos ambos devem ser encaminhados para join@ptt.br


...
Termo de adeso ao !cordo de Troca de TrI:ego Multilateral (!TM)
Eersion .........: $22'20.222
(ste termo de adeso trata das in:orma+-es e compromissos da entidade
solicitante para a participa+o no acordo de troca de trI:ego
multilateral no PTTMetro.
Localidade ......: sp.ptt.r
!"# .............: $$%&'
(ntidade #ome ...: )egistro.r
!TM ,& ..........: "im CxD #o C D
!TM ,F ..........: "im CxD #o C D
...
#4) 2 Di&eren-as entre Acordos Bilaterais e
Jultilaterais

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

72

Acordo de troca Bilateral

Oo acordo 3ilateral* participantes mani&estam interesse e


rece3em uma vlan comum* 6ue &ica e/tendida Xs duas
e/tremidades e* por se tratar de um servi-o em laTer * os
IPs &icam X critrio desses participantes4

%m outras palavras* o PHHmetro providencia toda estrutura de


um DpeeringD para am3os4

?s AS[s 6ue se conectam ao


PHH mas n1o participam do
AHJ* em geral vendem tr>nsito atravs de
acordos 3ilaterais
#4) 2 Di&eren-as entre Acordos Bilaterais e
Jultilaterais

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

73
Participantes Vocais e
Remotos
+.-

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

74
#4$ 2 Participantes Vocais e Remotos

Para participar preciso ter conectividade laTer com o sSitc8


do PHH2Jetro4 Para isso 8 duas &ormas:
Z"2 Conectando2se &isicamente em um dos sSitc8es de um
dos PIYs atraves de ca3oP&i3ra:

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

75

?u444
Z 2 Contratando transporte laTer :lanlan* clear c8annel<
de algum participante conectado &isicamente4

O1o 8 di&eren-as no ponto de vista tcnico entre as duas


modalidades* e/ceto pelas conse6ubncias do aumento de
latencia* 6ue proporcional X dist>ncia geogr&ica4
#4$ 2 Participantes Vocais e Remotos

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

76
%ntendendo o Conceito de
VanVan
+..

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

77
#4+ %ntendendo o Conceito de VanVan

Para participar remotamente de um PHH* necessrio 6ue o


participante tro6ue in&orma-Ees de n=vel de enlace* ou se;a*
alm de um IP diretamente conectado* o JAC original deve
ser con8ecido pelos participantes atravs de solicita-Ees
ARP

%m outras palavras* o participante remoto deve &azer parte do


mesmo Cdom=nio de 3roadcastD 6ue os route servers e
demais participantes

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

78
#4+ %ntendendo o Conceito de VanVan

Gm Hunel laTer ou CVanVanD na prtica n1o se parece muito


com um CtunelD* ele pega o 9GADR? %HQ%RO%H original e
encapsula no campo de dados do pacote IP

? router destinatrio desencapsula* reproduz o 9GADR?


%HQ%RO%H ?RIGIOAV e ;oga na inte&ace correspondente4

Dessa maneira* todas as in&orma-Ees de ClaTer D c8egam ao


outro lado* incluindo re6uisi-Ees ARP e 3roadcasts

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

79
AHJ2Hratando as Rotas
Rece3idas
+.H

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

80
#4, 2 AHJ2Hratando as Rotas Rece3idas

VAB: %sta3elecer sessEes BGP com o PHH Route2server e com o


PHH VooNing Glass:
GX-R1#conf t
GX-R1(config)#router bgp X
GX-R1(config-router)#no bgp enforce-first-as
GX-R1(config-router)#neighbor 187.16.216.253 remote-as 555
GX-R1(config-router)#neighbor 187.16.216.253 description PTT-Route_server-1
GX-R1(config-router)#neighbor 187.16.216.253 weight 15
!--- o valor 15 de weight deve ser maior do que o aplicado no "IN" do AS100,
!--- porm menor que o aplicado no peering "20"
GX-R1(config-router)#neighbor 187.16.216.253 prefix-list MEUS-BLOCOS out
!--- vamos anunciar apenas o bloco /8 para o PTT e todos os outros peers
GX-R1(config-router)#neighbor 187.16.216.252 remote-as 555
GX-R1(config-router)#neighbor 187.16.216.252 description PTT-Looking Glass
!--- para o looking glass do PTT enviaremos todas as rotas da FIB, portando nao usaremos
nenhum filtro
VAB "2,2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

8

Agora vamos veri&icar 6uais rotas rece3o do Route Server do


PHH
Gtilizaremos o router do grupo $ como e/emplo:

Vamos con&irmar se todas as $ sessEes est1o esta3elecidas:

Peering

Trnsito AS100

PTT Looking Glass

PTT Route Server

Trnsito AS200
/%E!R0sh ip bgp summary
...
Neighbor V AS MsgRcvd MsgSent TblVer nQ OutQ Up/Down State/PfxRcd
X.Y.1.2 4 G 442 443 168 0 0 07:16:05 4
100.X.1.1 4 100 582 441 168 0 0 07:14:37 35
187.16.216.252 4 555 10 44 168 0 0 00:06:02 0
187.16.216.253 4 555 14 8 168 0 0 00:02:34 45
200.X.1.1 4 200 548 441 168 0 0 07:14:26 34
#4, 2 AHJ2 Hratando as Rotas Rece3idas
VAB "2,2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

82

Vamos veri&icar todas as op-Ees para c8egar ao AS "#


Continuaremos Gtilizando o router do grupo $ como e/emplo:

A rota escol8ida para c8egar ao AS "# pelo PHH4


/%E!R0s" i( 1g( %&.%&.%&.
BGP routing table entry for 123.0.0.0/8, version 160
Paths: (3 available, 1est 0, table Default-P-Routing-Table)
Advertised to non peer-group peers:
187.16.216.252

%& (received & used)
187.16.216.123 from 187.16.216.253 (187.16.216.253)
Origin GP, localpref 100, weight 15, valid, external, 1est
200 222 123
200.25.1.1 from 200.25.1.1 (200.200.4.2)
Origin GP, localpref 100, valid, external
100 111 55 123
100.25.1.1 from 100.25.1.1 (100.100.100.4)
Origin GP, localpref 100, weight 10, valid, external
#4, 2 AHJ2Hratando as Rotas Rece3idas
VAB "2,2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

83

Agora vamos entrar no VooNing Glass do AS"# e veri&icar as


rotas para o AS do grupo est1o aparecendo assim:

A rota escol8ida para c8egar ao AS do grupo tam3m pelo


PHH4
AS!%&!R4s" i( 1g( X.2.2.2+8
BGP routing table entry for X.0.0.0/8, version 251
Paths: (3 available, 1est 0&, table Default-P-Routing-Table, not advertised outside local AS)
Not advertised to any peer
55 111 100 X
123.55.2.2 from 123.55.2.2 (55.55.55.2)
Origin GP, localpref 100, valid, external
222 200 X
123.222.2.2 from 123.222.2.2 (222.222.222.2)
Origin GP, localpref 100, valid, external
X
8D.=.%=.X from 8D.=.%=.%E& (8D.=.%=.%E&) !--- Essa rota foi recebida do PTT
Origin I/P@ .o#a.(ref 22@ 3a.id@ e>terna.@ 1est
Communit)* .o#a.!AS
#4, 2 AHJ2Hratando as Rotas Rece3idas
VAB "2,2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

84
AHJ2Anunciando
Corretamente
+.=

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

85
#4!2 AHJ2 Anunciando Corretamente

Gtilizamos anMncios da maneira mais simples poss=vel* porm* no mundo


real* o mais recomendado anunciar 3locos mais espec=&icos para os
pontos de troca4

Gm dos principais motivos s1o os participantes indiretos* digamos 6ue o


administrador do AS )) coloca 3ai/a prioridade para rotas rece3idas
pelo AS #.* ou mesmo 6ue o BGP ten8a escol8ido sozin8o o AS "..
como mel8or rota
por esta ser mais antiga4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

86

Os anncios garantem trfego de download pelo PTT, porm existem outras


maneiras de fazer isso, utilizando communities e as path prepend.
#4!2 AHJ2 Anunciando Corretamente

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

87
? VooNing Glass do PHH
Jetro
+.K

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

88
#4I 2 ? VooNing Glass do PHH Jetro

? VooNing Glass do PHH2Jetro &oge um pouco do padr1o*


6uando visualizamos uma rota como D3estD n1o signi&ica
6ue essa a rota 6ue est sendo escol8ida pelos
participantes do PHH4

%le n1o envia nen8uma rota* e todos os participantes devem


enviar a sua tabela ull4

Assim* uma &erramenta para a;udar a visualizar toda a


ta3ela de roteamento de cada participante4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

89

Digamos 6ue 6uero veri&icar a ta3ela de roteamento do


participante do PHH 6ue possui o AS I4

%sse comando mostraria todas as rotas BGP na 'IB do AS I


:desde 6ue esse este;a enviando sua ta3ela &ull para o
VG<.
/X!R4te.net 8D.=.%=.%E%
Trying 187.16.216.252 ... Open
User Access Verification
Password: 123
P99!?/4s"ow i( 1g( rege>( HFI
#4I 2 ? VooNing Glass do PHH Jetro

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

90
Aplica-Ees de Gm Acordo
Bilateral
+.10

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

9
#4". Aplica-Ees de Gm Acordo Bilateral

Com um acordo 3ilateral um AS pode vender tr>nsito para


outro AS participante dispensando os custos de ativa-1o
:estrutura e e6uipamentos<4

?utra aplica-1o interessante uma parceria entre AS[s de


cidades di&erentes para interligar um cliente comum em
V4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

92

VAB acordo 3ilateral:

?s grupos escol8er1o com 6uem &azer o acordo 3ilateral e


ter1o uma vlan comum escol8ida pelo instrutor4

? o3;etivo semel8ante ao VAB do DpeeringD* porm* um


dos participantes &ornecer tr>nsito IP para o outro 6ue
ser apenas cliente4

Para isso* deve ser esta3elecida uma sess1o BGP entre os


dois* onde o responsvel em prover tr>nsito dever
anunciar a tabela ull para o cliente ao mesmo tempo 6ue
anuncia os pre&i/os do cliente para suas duas operadoras
AS ".. e AS ..4
#4"" Comprando e vendendo tr>nsito no
PHH
VAB "2!2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

93

Ap(s decidido o 45 da vlan cada participante deve inserir a


tag correspondente na inter&ace &.P" :inter&ace conectada
ao PHH<4

?s IPs n1o importam para o PHH e devem ser com3inados


entre os dois participantes do acordo 3ilateral4

XXX o nmero (D) da vlan e J.J.J.J o endereo


P que o cliente configurou do outro lado
#4"" Comprando e vendendo tr>nsito no
PHH
GX-R1#conf t
GX-R1(config)#interface fastEthernet 0/1.XXX
GX-R1(config-subif)#encapsulation dot1Q XXX
GX-R1(config-subif)#ip address (combinem os endereos P de cada lado)
GX-R1(config-subif)#end
GX-R1# ping J.J.J.J
!--- testem conectividade IP atravs da vlan antes de iniciar as config BGP
VAB "2!2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

94

8onfi)ura%Les BGP no router que ser9 0RM$?I0O;


GX-R1#conf t
GX-R1(config)#router bgp X
GX-R1(config-router)#neighbor J.J.J.J remote-as G
GX-R1(config-router)#neighbor J.J.J.J description Acordo bilateral - cliente
GX-R1(config-router)#neighbor J.J.J.J weight 25
!--- o valor de weight deve ser maior do todos os outros j que se trata de um cliente de trnsito
GX-R1(config-router)#neighbor J.J.J.J prefix-list BLOCOS-CLENTE-AS-G in
!--- dessa vez utilizaremos um filtro de entrada "in" para no haver risco de receber do cliente
!--- prefixos que no sejam dele e meu trfego de output ir na direo desse cliente
GX-R1(config-router)#exit
GX-R1(config)#ip prefix-list BLOCOS-CLIENTE-AS-Y permit Y.0.0.0/8
!--- adiciono o classe A do cliente na prefix-list declarada como filtro de entrada
GX-R1(config)#ip prefix-list MEUS-BLOCOS permit Y.0.0.0/8
!--- como j utilizamos a prefix-list "MEUS-BLOCOS" na sada dos AS de trnsito,
!--- vamos "aproveita-la" e apenas adicionar mais um prefixo
GX-R1(config-router)#end
GX-R1#clear ip bgp *

OBS: onde houver G substituiremos pelo AS do CLENTE, e J.J.J.J pelo P que foi combinado
previamente com o cliente e configurado do outro lado da VLAN
#4"" Comprando e vendendo tr>nsito no
PHH
VAB "2!2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

95

8onfi)ura%Les BGP no router 8BI6$06*


GX-R1#conf t
GX-R1(config)#router bgp X
GX-R1(config-router)#neighbor J.J.J.J remote-as G
GX-R1(config-router)#neighbor J.J.J.J description Acordo bilateral-transito P
GX-R1(config-router)#neighbor J.J.J.J prefix-list MEUS-BLOCOS out
!--- como cliente devemos anunciar da mesma maneira que fizemos com os ASs de trnsito
!--- e j que o classe A local j est nessa lista no preciso configurar mais nada
GX-R1(config-router)#end
GX-R1#clear ip bgp *

OBS: onde houver G substituiremos pelo AS que ser TRNSTO, e J.J.J.J pelo P que
est configurado do outro lado
#4"" Comprando e vendendo tr>nsito no
PHH
VAB "2!2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

96

Hestando o VAB:

D%SAHIV%J as inter&aces s1<0 e s1<1 do AS 6ue &oi


designado como 8BI6$06 nesse VAB4

Se tudo deu certo* os ASs 6ue n1o participam do PHH


:$$*"..*"""*.. e < conseguir1o alcan-ar o AS do
cliente atravs do AS 6ue serviu como tr>nsito4

? o3;etivo agora 6ue AS[s 6ue n1o participam do PHH


&i6uem acess=veis :tr>nsito IP<
#4"" Comprando e vendendo tr>nsito no
PHH
VAB "2!2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

97
P%RGGOHASU
P%RGGOHASU
+.11

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

98
'iltros Bsicos para um AS
de Hr>nsito
,.0
)4 'iltros 3sicos para um AS de tr>nsito
5 )4" eBGP com upstreams e doSnstreams
5 )4 Con&igurando &iltros de upstreams
5 )4# Con&igurando &iltros de doSnstreams
5 )4) %ntendendo o rege/p
5 )4$ %nviandoPrece3endo partial e &ull2routouting
5 )4+ Route2map / pre&i/2list
5 )4, AS2Pat8 Prepend
5 )4! %ngen8aria de tr&ego I

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

99
,.1
eBGP com Gpstreams e
DoSnstreams

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

200
)4" K eBGP com Gpstreams e DoSnstreams

Da6ui por diante &aremos re&er@ncia X # tipos de sessEes


BGP:

IBGP :BGP interno<: sessEes BGP com routers


do meu pr(prio AS4

eBGP GPSHR%AJ: sessEes BGP com AS[s


e/ternos 6ue prestam servi-o de tr>nsito IP
para meu AS4

eBGP D?ROSHR%AJ: sessEes BGP com AS[s


e/ternos aos 6uais meu AS presta servi-o de
tr>nsito IP4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

20
)4" K eBGP com Gpstreams e DoSnstreams

IBGP

SessEes entre roteadores 6ue &azem parte do mesmo


sistema aut7nomo

Geralmente n1o utilizamos &iltros

O1o importa a 6uantidade de saltos de roteamento* n1o


8 incremento de AS2PAHQ

? BGP identi&ica automaticamente sessEes iBGP 6uando o


Cremote2asD o mesmo AS declarado em Crouter 3gp YD

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

202
)4" K eBGP com Gpstreams e DoSnstreams

eBGP K com GPSHR%AJS

Geralmente rece3emos todas as rotas poss=veis

?s &iltros de %OHRADA s1o do tipo Clista negraD

Blo6ueio de alguns e/ce-Ees

Prioridade sempre menor 6ue D?ROSHR%AJS

?s &iltros de SA]DA s1o do tipo Clista 3rancaD

%nviar apenas meus pre&i/os e pre&i/os de


D?ROSHR%AJS

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

203
)4" K eBGP com Gpstreams e DoSnstreams

eBGP K com D?ROSHR%AJS

Rece3emos apenas pre&i/os do cliente e clientes


secundrios

?s &iltros de %OHRADA s1o do tipo Clista 3rancaD

Jaior prioridade poss=vel deve ser aplicada

?s &iltros de SA]DA s1o do tipo Clista negraD

%nviar todos os pre&i/os poss=veis

AnMncio de Cparcial routingD apenas 6uando solicitado



v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

204
Con&igurando 'iltros de
Gpstreams
,.(

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

205
)4 2 Con&igurando 'iltros de Gpstreams

O1o podemos anunciar nen8uma rede da 6ual n1o


6ueremos rece3er D?ROV?ADS* para isso utilizamos
&iltros em todas as nossas sa=das de GPSHR%AJ e PHHs4

Porm e/istem certas precau-Ees 6ue devem ser tomadas


nos &iltros de entrada de GPSHR%AJ:

O1o rece3er meus pr(prios pre&i/osL

O1o rece3er B?G?OSL

O1o rece3er IPs privadosL

O1o rece3er rotas cu;o AS PAHQ conten8am


AS:s< privado:s<L

Garantir 6ue rotas de GPSHR%AJS n1o


rece3am prioridade maior 6ue rotas
D?ROSHR%AJSL

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

206

DPor padr1oD o BGP descarta todas as rotas 6ue anunciei e


voltaram para mim por algum motivo :multi8oming por
e/emplo<4
$--- essa regra pode ser modiicada utili6ando o comando
$--- 7router8conig-router9:neighbor ()*.(%+.*.( allowas-in;

9uando isso acontece* logo veri&icado o meu pr(prio AS


no path e a rota descartada automaticamente4

Porm poss=vel 6ue algum anuncie por AenganoA* e a


Mnica &orma de garantir um &iltro 3aseado em IP
:pre&i/2list<4
)4 2 Con&igurando 'iltros de Gpstreams

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

207

Precisamos con&igurar alguns &iltros padr1o 6ue evitam o


rece3imento de grades de IPs privados* multcast* linN
local* etc4

Para isso vamos criar uma prei.-list c8amada


D$O'R686B6RD e inserir nela todas as redes
indese;adas4

Para &acilitar* o Cisco I?S permite especi&icar intervalos de


IPs* isso dispensa o tra3al8o de inserir cada su32rede
manualmente4

Vamos entender mel8or444


)4 2 Con&igurando 'iltros de Gpstreams

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

208

Antes de criar uma prei.-list precisamos ter em mente 6ue


para toda ela 8 um D%Oc impl=cito no &inal* semel8ante X
uma Dlista 3rancaD* onde 6uem estiver na lista ser
permitido* e todo o resto 3lo6ueado* e/:

Com essa pre&i/2list na %OHRADA de um protocolo de


roteamento 6ual6uer o resultado seria rece3er apenas
"4#+4..4.P)* e 6ual6uer outro pre&i/o seria
descartado4

Vem3rem 6ue a Mltima regra de N$6GR 0#OOP ;amais


aparece* nem mesmo no Ds8oS running2con&igD4
G>-R1(config)#ip prefix-list MNHA-LSTA permit 122.36.200.0/24
Gx-R1(config)#ip prefix-list MNHA-LSTA KNE/AR 9;<OL
)4 2 Con&igurando 'iltros de Gpstreams

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

209

? 6ue o Dse6D U

Ao inserir o comando:

Automaticamente o I?S insere um nMmero de se6u@ncia:

Caso adicionemos mais redes na mesma lista o nMmero


de se6 incrementado em $ automaticamente para cada
regra:
G>-R1(config)#ip prefix-list MNHA-LSTA permit 122.36.200.0/24
G>-R1#show running-config | begin MNHA-LSTA
ip prefix-list MNHA-LSTA se' E permit 122.36.200.0/24
!
.
G>-R1(config)#ip prefix-list MNHA-LSTA permit 44.0.0.0/24
G>-R1(config)#end
G>-R1#show running-config | begin MNHA-LSTA
ip prefix-list MNHA-LSTA se' E permit 122.36.200.0/24
ip prefix-list MNHA-LSTA se' 2 permit 44.0.0.0/24
!
...
)4 2 Con&igurando 'iltros de Gpstreams

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

20

? 6ue o Dse6D U

A raz1o para o incremento de D$ em $D a possi3ilidade de


inserir uma regra Dno meioD especi&icando um DnMmero de
se6D:

A regra recm criada seria processada primeiro do 6ue todas as


outras:

Pouco importa a ordem de processamento quando todas as regras so


de permit

O seq s tem relevncia quando h regras de deny e permit na


mesma prefix-list e/ou utilizamos ranges com le/ge
G>-R1(config)#ip prefix-list MNHA-LSTA se' 7 permit 10.0.30.0/24
G>-R1#show running-config | begin MNHA-LSTA
ip prefix-list MNHA-LSTA se' 7 permit 10.0.30.0/24
ip prefix-list MNHA-LSTA se' E permit 122.36.200.0/24
ip prefix-list MNHA-LSTA se' 2 permit 44.0.0.0/24
!
.
)4 2 Con&igurando 'iltros de Gpstreams

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

2

Ranges de su3redes 2 4"e7:

Vamos agora considerar a necessidade de permitir su323locos:

%ssa regra permite "I4"+!4.4.P)* porm no permite


"I4"+!4.4.<(-* "I4"+!4.4"!<(-* "I4"+!4.4"+<(= ou
6ual6uer outra su32rede4

Para incluir su32redes utilizamos DleD:

Com essa mudan-a* "I4"+!4.4.<(-* "I4"+!4.4"!<(-*


"I4"+!4.4"+<(= ou 6ual6uer outra su32rede dentro come-ando
com 1K(.1.=.0 seria aceita* e/ceto redes <+0* <+1 e <+(4

Para permitir HGD? dentro do P) incluindo P#.* P#" e P#


trocar=amos o "e (K por "e +(.
G>-R1(config)#ip prefix-list MNHA-LSTA permit 192.168.0.0/24
G>-R1(config)#ip prefix-list MNHA-LSTA permit 192.168.0.0/24 .e %F
)4 2 Con&igurando 'iltros de Gpstreams

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

22

Ranges de su3redes 2 4)e7:

Di&erente do "e* o ge especi&ica o taman8o m=nimo da mscara*


seu uso mais apropriado em redes maiores4

? <= indica os 3its 6ue ser1o D&i/osD4

Para esse e/emplo* 6ual6uer pre&i/o com os ! primeiros bits


&i/os em come-ando com "I :""......< e ainda com
mscara igual ou maior 6ue <1= e igual ou menor 6ue <(.4

Caso se;a declarada uma mscara P. :"I4.4.4.<0< n1o


importariam os ! primeiros bits e 6ual6uer pre&i/o :come-ando
com 6ual6uer coisa< seria aceito desde 6ue sua mscara &osse
entre P"! e P+4
G>-R1(config)#ip prefix-list MNHA-LSTA permit 192.0.0.0+8 ge 8 .e %=
)4 2 Con&igurando 'iltros de Gpstreams

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

23

Ranges de su3redes 2 4)e7:

9uero aceitar 6ual6uer pre&i/o P) e descartar todo o resto:

9uero aceitar H?D?S os pre&i/os dentro de ..4##4"+4.P.*


menos o primeiro P:
G>-R1(config)#ip prefix-list MNHA-LSTA permit 0.0.0.0/0 ge %7 .e %7
G>-R1(config)#ip prefix-list MNHA-LSTA seq 10 deny 200.233.16.0/22
G>-R1(config)#ip prefix-list MNHA-LSTA seq 20 permit 200.233.16.0/20 .e &%
!--- na vida real ninguem recebe prefixos menores que /24 por BGP,
!--- utilizaremos no mximo "le 24" para qualquer filtro (in out)
!--- se posteriormente fosse necessrio adicionar bloqueio de mais um /22,
!--- o bloqueio funcionaria apenas com um seq menor que "20"
)4 2 Con&igurando 'iltros de Gpstreams

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

24

Agora 6ue compreendemos o &uncionamento* vamos


continuar de onde paramos e criar uma pre&i/2list
c8amada $O'R686B6R4

Dentro dela colocaremos todos os pre&i/os 6ue n1o


dese;amos rece3er4

Por se tratar de uma Dlista negraD n1o podemos es6uecer de


inserir uma regra 6ue permita todo o resto no &im da
8ierar6uia4
)4 2 Con&igurando 'iltros de Gpstreams

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

25
GX-R1(config)#ip prefix-list NAO-RECEBER seq 10 deny X.0.0.0/8 le 32
!--- blocos do meu prprio AS
GX-R1(config)#ip prefix-list NAO-RECEBER seq 20 deny 10.0.0.0/8 le 32
!--- uso privado (neste lab estamos utilizando para grupo 10, favor nao bloquear este)
GX-R1(config)#ip prefix-list NAO-RECEBER seq 30 deny 172.16.0.0/12 le 32
!--- uso privado
GX-R1(config)#ip prefix-list NAO-RECEBER seq 40 deny 169.254.0.0/16 le 32
!--- link-local (APIPA)
GX-R1(config)#ip prefix-list NAO-RECEBER seq 50 deny 127.0.0.0/8 le 32
!--- loopbacks
GX-R-1(config)#ip prefix-list NAO-RECEBER seq 60 deny 192.0.2.0/24 le 32
!--- Documentao
GX-R1(config)#ip prefix-list NAO-RECEBER seq 70 deny 192.168.0.0/16 le 32
!--- uso privado
GX-R1(config)#ip prefix-list NAO-RECEBER seq 80 deny 224.0.0.0/4 le 32
!--- multicast
GX-R1(config)#ip prefix-list NAO-RECEBER seq 90 deny 240.0.0.0/4 le 32
!--- reservado para uso futuro (para o fim do IPv6?)
GX-R1(config)#ip prefix-list NAO-RECEBER seq 500 permit 0.0.0.0/0 le 24
!--- Permitir todo o resto e ao mesmo tempo descartar qualquer prefixo
!--- mais especfico que /24 como /25, /26, /27, etc

Inserindo os pre&i/os na lista:


)4 2 Con&igurando 'iltros de Gpstreams
VAB "2I2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

26

Apenas criar a lista $O'R686B6R de nada vale se a mesma n1o &or


declarada como &iltro de %OHRADA dos GPSHR%AJS* P%%RIOG e PHH4
GX-R1(config)#router bgp X
GX-R1(config-router)#neighbor 100.X.1.1 prefix-list NAO-RECEBER in
GX-R1(config-router)#neighbor 200.X.1.1 prefix-list NAO-RECEBER in
GX-R1(config-router)#neighbor 187.16.216.253 prefix-list NAO-RECEBER in
GX-R1(config-router)#neighbor (P de peering) prefix-list NAO-RECEBER in
GX-R1(config-router)#neighbor (acordo bilateral) prefix-list NAO-RECEBER in
!--- Nesse caso apenas para quem CLIENTE no acordo bilateral
GX-R1(config-router)#end
GX-R1#clear ip bgp *
)4 2 Con&igurando 'iltros de Gpstreams
VAB "2I2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

27

? AS "# vai anunciar vrios IPs privados* vamos veri&icar se o


3lo6ueio est acontecendo corretamente:

%/istem comando para veri&icar as rotas rece3idas:

Porm* se e/ecutarmos o segundo comando rece3eremos um


erro:
router#sh ip bgp neighbors A.B.C.D routes
!--- mostra todas as rotas APS a validao do "nexthop"
!--- e aps todos os filtros de input
router#sh ip bgp neighbors A.B.C.D received-routes
% Inbound soft reconfiguration not enabled on A.B.C.D
!--- mostra todas as rotas ANTES da validao do "nexthop"
!--- e ANTES de passar em todos os filtros de input
router#sh ip prefix-list detail NAO-RECEBER
)4 2 Con&igurando 'iltros de Gpstreams
VAB "2I2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

28

Desmisti&icando o DSo&t recon&iguration in3oundD:

Para 6ue serve de verdadeU


)4 2 Con&igurando 'iltros de Gpstreams

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

29

QARD reset:

B a maneira menos recomendada de &azer um reresh nas rotas4

A cone/1o HCP volta para o estado DidleD4

Q um pe6ueno intervalo antes da cone/1o iniciar novamente4


Router#clear ip bgp { * | A.B.C.D | peergroupname }

S?'H reset:

Realiza o route reresh mantendo a sess1o ativa 4

Pode ser dividido em Dout3ound re&res8D e Din3ound re&res8D4

Router#clear ip bgp { * | A.B.C.D | peergroupname } soft { out | in }

Porm isso ainda n1o e/plica a &un-1o do Dso&t recon&iguration in3oundD 444
)4 2 Con&igurando 'iltros de Gpstreams

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

220

9uando updates s1o 3lo6ueados pelos &iltros de DinputD* esses updates


s1o descartados pelo router* n1o sendo poss=vel veri&icar in&orma-Ees
so3re essas rotas4

Qa3ilitar o Dso&t recon&iguration in3oundD para um neighbor reserva uma


rea em mem(ria para guardar in&orma-Ees de todas as rotas
rece3idas desse neighbor* tornando poss=vel veri&icar as rotas 6ue
&oram descartadas pelos &iltros de DinputD4

Qa3ilitar o Dso&t recon&iguration in3oundD permitir usar o comando:


GX-R1#sh ip bgp neighbors A.B.C.D received-routes
!--- exibe as rotas recebidas de A.B.C.D antes dos filtros de input
!--- inclusive rotas com next-hop invlido
)4 2 Con&igurando 'iltros de Gpstreams

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

22

Vamos 8a3ilitar o DSo&t recon&iguration in3oundD para todos os


neighbors:
GX-R1(config)#router bgp X
GX-R1(config-router)#neighbor 100.X.1.1 soft-reconfiguration inbound
GX-R1(config-router)#neighbor 200.X.1.1 soft-reconfiguration inbound
GX-R1(config-router)#neighbor 187.16.216.253 soft-reconfiguration inbound
GX-R1(config-router)#neighbor (P de peering) soft-reconfiguration inbound
GX-R1(config-router)#neighbor (acordo bilateral) soft-reconfiguration inbound
GX-R1(config-router)#end
GX-R1#clear ip bgp * soft
)4 2 Con&igurando 'iltros de Gpstreams
VAB "2I2

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

222

Agora vamos tentar novamente e/ecutar o comando C444


received2routesD

Primeiro pelo AS ..:

Depois pelo AS "..:


GX-R1#sh ip bgp neighbors 200.9.1.1 received-routes
!--- todas as rotas ANTES do filtro "NAO-RECEBER"
GX-R1#sh ip bgp neighbors 200.9.1.1 routes
!--- todas as rotas APS do filtro "NAO-RECEBER"
GX-R1#sh ip bgp neighbors 100.9.1.1 received-routes
!--- todas as rotas ANTES do filtro "NAO-RECEBER"
GX-R1#sh ip bgp neighbors 100.9.1.1 routes
!--- todas as rotas APS do filtro "NAO-RECEBER"
)4 2 Con&igurando 'iltros de Gpstreams
VAB "2I2
GX-R1#show ip prefix-list detail NAO-RECEBER | exclude count: 0
ip prefix-list NAO-RECEBER:
count: 9, range entries: 9, sequences: 5 - 45, refcount: 3
seq 15 deny 169.254.0.0/16 le 32 (hit count: 1, refcount: 1)
seq 30 deny 192.168.0.0/16 le 32 (hit count: 1, refcount: 1)
seq 45 permit 0.0.0.0/0 le 24 (hit count: 15, refcount: 1)

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

223

?utros B?G?OS

%/iste outro range de IPs 6ue n1o s1o privados* mas ainda
assim devem ser 3lo6ueados4

%/istem 3locos pM3licos de IPs 6ue ainda n1o &oram designados


pelas organiza-Ees responsveis4

Dessa &orma poss=vel 6ue algum utilize essas redes com


inten-Ees suspeitas4

?nde conseguir uma lista atualizadaU


)4 2 Con&igurando 'iltros de Gpstreams

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

224

Jel8or do 6ue sair X procura de listas esta3elecer um peering com o


c,mru.

Para solicitar esse peering preciso entrar em contato com


3ogonrsdcTmru4com com as seguintes in&orma-Ees:

OMmero de ASL

Ip:s< 6ue o c,mru &ar peering com voc@L

Se o e6uipamento suporta autentica-1o


JD$ para BGPL

C8ave pM3lica GPGPPGP :opcional<L


)4 2 Con&igurando 'iltros de Gpstreams

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

225

Segundo o site a resposta com as in&orma-Ees c8ega em dias


Mteis em mdia

Para mais in&orma-Ees acesse:


http://www.team-cymru.org/Services/Bogons/bgp.html
)4 2 Con&igurando 'iltros de Gpstreams

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

226

Con&igurando a sess1o BGP com CTmru444


GX-R1(config)#router bgp X
GX-R1(config-router)#neighbor x.x.x.x remote-as 65333
GX-R1(config-router)#neighbor x.x.x.x ebgp-multihop 255
GX-R1(config-router)#neighbor x.x.x.x weight 100
GX-R1(config-router)#neighbor x.x.x.x description BOGONS CYMRU
GX-R1(config-router)#neighbor x.x.x.x prefix-list SADA-CYMRU out
GX-R1(config-router)#neighbor x.x.x.x route-map FLTRO-CYMRUBOGONS in
GX-R1(config-router)#neighbor x.x.x.x password <senha cymru>
GX-R1(config-router)#exit
)4 2 Con&igurando 'iltros de Gpstreams

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

227

Adicionando as rotas rece3idas em BB8&QOB6:


GX-R1(config)#ip bgp-community new-format
!---habilita suporte communities tipo xxxx:yyyy
GX-R1(config)#ip route 192.0.2.1 255.255.255.255 null0
!---cria a rota de blackhole
GX-R1(config)#ip community-list 10 permit 65333:888
!---adiciona a community 65333:888 na comm-list 10
GX-R1(config)#route-map FLTRO-CYMRUBOGONS permit 10
!---entra as opes do route-map de entrada
GX-R1(config-route-map)#match community 10
!---declara o conteudo da comm-list 10 para condio de math
GX-R1(config-route-map)#set ip next-hop 192.0.2.1
!---para toda rota que fizer a condio mudar o next-hop para blackhole
GX-R1(config)#ip prefix-list SADA-CYMRU seq 5 deny 0.0.0.0/0 le 32
!---garantir que nada ser anunciado para o cymru
)4 2 Con&igurando 'iltros de Gpstreams

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

228
Con&igurando 'iltros de
DoSnstreams
,.+

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

229
)4# 2 Con&igurando 'iltros de DoSnstreams

A primeira coisa e se levar em conta a prioridade maior


para os pre&i/os rece3idos do meu downstream.

Ao mesmo tempo* n1o podemos correr o risco de rece3er


um ull-routing desse cliente por algum erro dele* caso
isso aconte-a* todo meu upload passa a su3ir por esse
cliente4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

230

VAB: ? router R agora ser um cliente de tr>nsito


:doSnstream< com as seguintes in&orma-Ees:

Cliente de tr>nsito:

AS: "../

Bloco CIDR: "!,4/4.4.P

IP de RAO: /4/4"..4

Inter&ace serial "P#


)4# 2 Con&igurando 'iltros de DoSnstreams
VAB
"2".2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

23

Como ; usamos os pesos :Seig8t< ". "$ e . utilizaremos #.


para doSnstreams.
GX-R1(config-router)#neighbor X.X.100.2 remote-as 100X
GX-R1(config-router)#neighbor X.X.100.2 weight 30
GX-R1(config-router)#neighbor X.X.100.2 prefix-list BLOCOS-AS-100X in
GX-R1(config-router)#neighbor X.X.100.2 default-originate
!--- filtro de ENTRADA para o DOWNSTREAM AS 100X + envio de rota padrao
GX-R1(config-router)#neighbor 100.X.1.1 prefix-list ANUNCAR-AS-100 out
!--- filtro de SAIDA para o UPSTREAM AS 100
GX-R1(config-router)#neighbor 200.X.1.1 prefix-list ANUNCAR-AS-200 out
!--- filtro de SAIDA para o UPSTREAM AS 200
GX-R1(config-router)#neighbor 187.16.216.253 prefix-list ANUNCIAR-PTT out
!--- filtro de SAIDA para o PTT
GX-R1(config-router)#exit
GX-R1(config)#ip prefix-list BLOCOS-AS-100X permit 187.X.0.0/22 le 24
!--- como declaramos a prefix-list BLOCOS-AS-100X na entrada do DOWNSTREAM
!--- vamosadicionar os blocos CIDR do DOWNSTREAM nessa lista
GX-R1(config)#ip prefix-list ANUNCAR-AS-100 permit 187.X.0.0/22 le 24
GX-R1(config)#ip prefix-list ANUNCAR-AS-100 permit X.0.0.0/8
!--- adicionar os blcos CIDR do DOWNSTREAM e tambm os blocos do AS
!--- na sada do UPSTREAM AS 100
GX-R1(config)#ip prefix-list ANUNCAR-AS-200 permit 187.X.0.0/22 le 24
GX-R1(config)#ip prefix-list ANUNCAR-AS-200 permit X.0.0.0/8
!--- adicionar os blcos CIDR do DOWNSTREAM e tambm os blocos do AS
!--- na sada do UPSTREAM AS 200
GX-R1(config)#ip prefix-list ANUNCAR-PTT permit 187.X.0.0/22 le 24
GX-R1(config)#ip prefix-list ANUNCAR-PTT permit X.0.0.0/8
!--- adicionar os blcos CIDR do DOWNSTREAM e tambm os blocos do AS
!--- na sada para o PTT
GX-R1(config)#end
GX-R1#clear ip bgp * out
)4# 2 Con&igurando 'iltros de DoSnstreams
VAB
"2".2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

232

Como ; usamos os pesos :Seig8t< ". "$ e . utilizaremos #.


para doSnstreams.
GX-R2#configure terminal
GX-R2(config)#router bgp 100X
GX-R2(config-router)#neighbor X.X.100.1 remote-as X
GX-R2(config-router)#network 187.X.0.0 mask 255.255.252.0
GX-R2(config-router)#exit
GX-R2(config)#iinterface loopback 1
GX-R2(config-if)#ip address 187.X.0.1 255.255.252.0
GX-R2(config-if)#end
GX-R2#clear ip bgp * out
)4# 2 Con&igurando 'iltros de DoSnstreams
VAB
"2".2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

233

Vamos veri&icar no looNing glass os anMncios dos doSnstreams444


SUCESSO??

Notem que no estgio em que chegamos, utilizar "prefix-lists est se tornando


dificil de escalar e "debugar problemas, pois com uma determinada quantidade
de dowstreams, simplesmente no conseguimos identificar a quem percentem
os blocos de P.

Discutiremos posteriormente modelos mais fceis de escalar com "route-map


)4# 2 Con&igurando 'iltros de DoSnstreams
VAB
"2".2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

234
%ntendendo o
DBGP R%G%YPD
,.,

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

235
)4) 2 %ntendendo o CBGP R%G%YPD

9uando temos muitos clientes de tr>nsito preciso esta3elecer


padrEes para 6ue os administradores se;am capazes de
entender as con&igura-Ees4

Alm de evitar ao m/imo a 6uantidade e/cessiva de lin8as de


con&igura-1o4

Por e/emplo:
Q um ArangeA de nMmeros de AS 6ue s1o de uso privado
semel8antes aos IPs "I4"+!4/4/ 4 %sse intervalo vai de +)$"
at +$$#$* e n1o devemos rece3er anMncios 6ue conten8am
algum desses AS[s no path.

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

236

Imagine ter 6ue con&igurar uma lin8a de den, para cada AS


privado4

Seria um tanto complicadoW

'elizmente com e/pressEes regulares ao invs de mil8ares*


resolvo esse pro3lema com apenas * :ou uma talvez<4
Router(config)#ip as-path access-list 1 deny 64512
Router(config)#ip as-path access-list 1 deny 64513
Router(config)#ip as-path access-list 1 deny 64514
...
...
Router(config)#ip as-path access-list 1 deny 65534
Router(config)#ip as-path access-list 1 deny 65535
Router(config)#ip as-path access-list 1 permit .*
)4) 2 %ntendendo o CBGP R%G%YPD

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

237
)4) 2 %ntendendo o CBGP R%G%YPD
"I - Underline

Substitui uma lista de expresses, que pode ser uma vrgula (,), chave esquerda ({), chave direita (}), o
incio da seqncia de entrada (^), o fim da seqncia de entrada ($), ou um espao.

Escrever _444_ pode ser equivalente s seguintes combinaes:

^444$

^444espao

espao444

{444,

,444,

{444}

,444,

Para praticar segue um link interessante:

http://tools.lymas.com.br/regexp_br.php

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

238

Antes vamos entender a &un-1o dos principais caracteres nas


e/pressEes regulares:

MM ;m nNmero iso.ado satisfaO a #ondiPBo (ara 'ua.'uer e>(ressBo 'ue #onten"a esse nNmero.

e>em(.o: "a condio de match qualquer AS no Path (podem haver vrios AS's) que contenha o
nmero 1 em qualquer parte, em pelo menos um dos AS's.
Satisfa: 9999, "23 432", "999 888 777 23 998".
N!o satisfa: "355 3344 22334", "466", etc.

e>em(.o%: I "a condio de match qualquer AS no Path (podem haver vrios AS's) que contenha o
nmero 1 no nicio de pelo menos um dos AS's e que essa ocorrncia nBo seja a primeira.
Satisfa" "891 2333 3445 9999", "555 23 432", "111 2222 4444".
N!o satisfa: "4333 21123", "4661" "21111 912222", etc.

e>em(.o&: II "a condio de match qualquer AS no Path (podem haver vrios AS's) que contenha o
nmero 1 sozinho em pelo menos um dos AS's e essa ocorrncia pode ser a primeira e/ou a ltima.

SatisfaO: "2333 3445 9999", "33 ", "433 4444 433", "Q
NBo satisfaO: "333 222 555 12".
)4) 2 %ntendendo o CBGP R%G%YPD

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

239
)4) 2 %ntendendo o CBGP R%G%YPD

Q.Q SatisfaO a #ondiPBo (ara 'ua.'uer nNmero no .ugar do (onto

e>em(.o: _7.E_ "a condio de match qualquer AS PATH que contenha um AS de 3 dgitos onde 4 seja
o primeiro e 5 seja o ltimo com qualquer nmero no meio e que contenha ou nao outros AS's (antes e
depois)
SatisfaO* "12 7E 43", "2 7%E 3", "7&E" , "321 456 77E 345"
NBo satisfaO: "315", "123 4115", etc

E>em(.o: 7.E "a condio de match qualquer nmero de 3 ou mais dgitos que tenha 4 e 5 em qualquer
parte do AS PATH e com um dgito qualquer entre eles
SatisfaO* "237E", "437%E", "7&E 3333", "77E", "7EE87", "321 477E9 345"
NBo satisfaO: 315, 416, etc

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

240
)4) 2 %ntendendo o CBGP R%G%YPD

R Satisfaz a condio para o tudo que o que for terminado com o caracter (ou expresso) ao
lado esquerdo de "$"

e>em(.o: %R "a condio de match qualquer AS PATH em que os dois ltimos dgitos sejam 1 e 2
respectivamente"
SatisfaO: 49%Q, "650%", "123%", "111%", "9932 9976 649%", "28135 17379 543%" ...
NBo satisfaO: 13, 22, 129, 55413, 58752 .

e>em(.o%: I%$ "a condio de math qualquer AS PATH em que ltimo AS seja 12"
SatisfaO: "%", "2335 %", "312 %", "111 %"
NBo satisfaO: "444 112", "22", "12 229", "999 12 1111"

e>em(.o&: .%$ "a condio de match qualquer AS PATH em que seus ltimos 3 dgitos do ltimo AS
sejam: 1, qualquer coisa e 2 respectivamente"
SatisfaO: "123 45666 33 %", "444 122", "&%", "1111 &%", "444 65F%", "60F%"
NBo satisfaO: "2333 222", "123, "112 912

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

24
)4) 2 %ntendendo o CBGP R%G%YPD

H Satisfaz a condio para caracteres que comecem com o caracter (ou exprsso) aps o ^

e>em(.o: H "a condio de match qualquer AS PATH que tenha o dgito 1 no incio do primeiro AS do
PATH
satisfaO: "111 9999 55443", "2345 6776", 2222, 9999
nBo satisfaO: 21111, 31211, 2, 3, 43111

e>em(.o%: H.7 "a condio de match qualquer AS PATH em que os 3 primeiros dgitos do primeiro as
sejam: 1, qualquer coisa e 4 respectivamente
SatisfaO: "%7 4321", "%744", "779", "F755 12333", "2766 55443 9900"
NBo satisfaO: 195, 2124, 22444, 9104

e>em(.o&: H..8R "a condio de match um AS PATH contento apenas um AS de 4 dgitos, onde o
primeiro dgito 1, o segundo e o terceiro qualquer coisa e o quarto e ltimo seja 8 respectivamente
SatisfaO: 228Q, %78, 8, %%8, FF8, 888
NBo satisfaO: 10008, "1008 1008", "14448"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

242
)4) 2 %ntendendo o CBGP R%G%YPD

C Satisfaz a condio para qualquer caractere esquerda do "*", inclusive nenhum, por isso
preciso utilizar o caracter um espao "_" branco em conjunto, pois sem espao a
expresso perde o sentido, por exemplo, 1* satisfaria condio para qualquer coisa, e o
padro intuitivo para "qualquer coisa/tudo" ".*"

e>em(.o: _* "a condio de match qualquer coisa que contenha o dgito 1 em qualquer
parte do AS"
satisfaO: "4343 9999 777 9999 8888(infinito...), . 99 999 345 666 654 5556...
nBo satisfaO: 8872, "9987 2332", etc

E>em(.o%: .C "a condio de math qualquer AS PATH de qualquer tamanho, com qualquer
combinao"
SatisfaO: TUDO
NBo satisfaO: NADA

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

243
)4) 2 %ntendendo o CBGP R%G%YPD

\ Este caracter usado quando os caracteres de condio tambm so caracteres de


expresso regular, por exemplo, se precisssemos de uma expresso para dinheiro, onde
a condio fosse "R$ 10,00" at "R$ 10,99", teramos um grande problema, j que a
expresso necessria "R$_10,..$" Notem que o "$" precisa aparacer como "condio" ao
mesmo tempo que um caracter de expresso regular. Sendo assim, no funcionaria. O
caracter "\" usado para declarar que o prximo caracter dever ser interpretado como
"condio", ao invs de sua funo normal. Assim, a expresso corret ficaria "R\$_10,..$"

Felizmente no utilizaremos esse caracter para BGP



v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

244
)4) 2 %ntendendo o CBGP R%G%YPD

S T Satifaz a condio para qualquer um dos caracters dentro dos colchetes, mas apenas UM
deles. H a possibilidade de utilizar intervalos entre os colchetes seguidos de hfem "-"

Dentro dos colchetes o caracter "^" tem funo de negao, O intervalo funciona da mesma
forma para as negaes.

e>em(.o: ^FS%7FTER "a condio um AS que contenha qualquer combinao de 3 dgitos sendo o
primeiro 9, o terceiro 5 e o do meio 2, 4 ou 9
SatisfaO: F%EQ, F7EQ, e FFE
NBo satisfaO: 915, 955, 965, etc

e>em(.o%: HFSE!DTER "mesma lgica do exemplo 1, porm o dgito do meio pode ser de 5 7"
SatisfaO: FEE, F=E e FDE

e>em(.o&: HFSH%8TER "a condio de match a mesma lgica dos exemplos 1 e 2 porm o digito do meio
no poder ser 2 ou 8
SatistaO: todas as possibilidades de um 9.5 "menos" F%E e F8E.

e>em(.o7: HFSHE!8TER "a condio de match segue a mesma lgica dos exemplos 2 e 3 porm o dgito do
meio no pode estar no intervalo entre 5 e 8 (5,6,7 ou 8)
SatisfaO* todas as possibilidades "menos" FEE, F=E, FDE e F8E

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

245
)4) 2 %ntendendo o CBGP R%G%YPD

| O PPE divide dois ou mais caracters em uma condio "ou".

e>em(.o: &(7UF)& satisfaz: &7& ou &F& apenas mesmo comportamento de "&S7FT&

e>em(.o%: ^E(S2!&TUF)&R satisfaz: E2&, E&, E%&, E&& e EF&

PS ( ) coloca uma expresso em evidncia, sem eles o exemplo 2 aceitaria


5333333333333333333353333333333333333333333435465769733...

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

246
)4) 2 %ntendendo o CBGP R%G%YPD

+ Satisfaz a condio para uma(pelo menos) ou mais ocorrncias do caracter (ou expresso)
anterior em qualquer parte

e>em(.o: H(SH TV)R satisfaz: qualquer ASPATH que contenha apenas 1 AS


A(.i#aPBo (rWti#a: Filtrar para meu cliente apenas rotas que tenham um AS no path e nada mais

"X Satisfaz a condio para uma ou nenhuma ou uma ocorrencia do caracter (ou expresso) anterior

e>em(.o: H(SH TV)XR satisfaz: qualquer rota que tenha no mximo um AS no PATH ou NENHUM
A(.i#aPBo (rWti#a: Filtrar para meu cliente apenas rotas que tenham um AS no path e tambm rotas
que no contenham NENHUM AS no PATH (rotas originadas localmente)

{ } especifica um nmero ou um intervalo de repeties para um caracter (ou expresso)


antecedente

e>em(.o: H%K7LR satisfaz: %%%% apenas

e>em(.o%: H%K7@=LR satisfaz: %%%%, %%%%% e %%%%%%

e>em(.o&: HS2!&TK@%LR satisfaz: 22, &, 2, &%, %, &2


nao satisfaz: 14, 1031, 15, 1033

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

247
)4) 2 %ntendendo o CBGP R%G%YPD

Agora vamos raciocinar um pouco e utilizar as expresses que


aprendemos para bloquear o range dos AS's 64512 at 65535
utilizando o menor nmero possvel de regras...
BB 1','(
VAB
"2""2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

248
)4) 2 %ntendendo o CBGP R%G%YPD
LAB:
O AS 123 vai gerar rotas com AS's privados, aplicar filtros de input para bloquear essas rotas:
GX-R1(config)#ip as-path access-list 1 permit _(645(0.|10|11)_?)_
!--- aceita de 64501 a 64511
GX-R1(config)#ip as-path access-list 1 deny _6(4[5-9]..|5..._?)_
!--- rejeita qualquer coisa de 64500 64999 e de 65001 65999
!--- obs, no h AS maior que 65535
GX-R1(config)#ip as-path access-list 1 permit .*
!--- aceita todo o resto
GX-R1(config)#router bgp X
!--- Vamos adicionar o mesmo prefix-list na entrada do AS 100
GX-R1(config-router)#neighbor 100.X.1.1 filter-list 1 in
GX-R1(config-router)#neighbor 200.X.1.1 filter-list 1 in
OBS: As expresses acima podem ser simplificadas ainda mais
VAB
"2""2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

249
)4) 2 %ntendendo o CBGP R%G%YPD

Existem infinitas aplicaes, por exemplo, descubro que o AS 12345


est com lentido, crio polticas que diminuem a prioridade de
qualquer prefixo anunciado por esse AS
router(config)#ip as-path access-list 20 permit _12345_
!--- cria a ACL 20 e diz que qualquer AS PATH contendo 12345 est nela
router(config)#route-map UPSTREAM-1 permit 1
!--- Cria um route-map no topo da hierarquia
router(config-route-map)#set local-preference 90
!--- especifica a ao "mudar o local pref para 90"
router(config-route-map)#match as-path 20
!--- especifica quem ir receber a ao "set local pref 90"
router(config-route-map)#exit
router(config)#route-map UPSTREAM-1 permit 2
!--- cria um route-map "em branco"que aceita todo o resto sem modificaes
router(config-route-map)#exit
VAB
"2""2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

250
)4) 2 %ntendendo o CBGP R%G%YPD

Precisamos nesse caso fazer o mesmo para todos os UPSTREAMS


router(config)#route-map UPSTREAM-2 permit 1
!--- Cria um route-map no topo da hierarquia
router(config-route-map)#set local-preference 90
!--- especifica a ao "mudar o local pref para 90"
router(config-route-map)#match as-path 20
!--- especifica quem ir receber a ao "set local pref 90"
router(config-route-map)#exit
router(config)#route-map UPSTREAM-2 permit 2
!--- cria um route-map "em branco"que aceita todo o resto sem modificaes
router(config-route-map)#exit
VAB
"2""2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

25
)4) 2 %ntendendo o CBGP R%G%YPD

As expresses regulares no servem apenas para filtrar prefixos,


mas tambm para encontrar certas rotas entre as centenas de
milhares de uma tabela full

Por exemplo:

Quero saber quais rotas na minha RB foram originadas pelo AS


6762 (TELECOM TALA SPARKLE S.p.A.)
B/P<!A?O/!SP0 s" i( 1g( rege>( I=D=%R
...
Network Next Hop Metric LocPrf Weight Path
*> 2.16.70.0/23 201.20.36.158 0 16397 6762 i
*> 2.16.140.0/23 201.20.36.158 0 16397 6762 i
*> 2.16.146.0/23 201.20.36.158 0 16397 6762 i
...

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

252
)4) 2 %ntendendo o CBGP R%G%YPD

Exemplo 2:
Quais rotas foram recebidas pela ntelig atravs do peering com
Embratel?

Exemplo 3:
Quais ASs esto diretamente conectados (sem prepend) com o AS
4230 (EMBRATEL)?
B/P<!A?O/!SP0 s" i( 1g( rege>( ID&DF 7%&2I
...
Network Next Hop Metric LocPrf Weight Path
*> 186.205.244.0/22 201.20.36.158 0 16397 17379 4230 28573 i
B/P<!A?O/!SP0 s" i( 1g( rege>( I7%&2 (S2!FTV)R
.
Network Next Hop Metric LocPrf Weight Path
*> 23.61.118.0/23 201.20.36.158 0 16397 17379 4230 28573 i
*> 23.61.120.0/22 201.20.36.158 0 16397 17379 4230 28573 i
...

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

253
)4) 2 %ntendendo o CBGP R%G%YPD

Quais ASs esto diretamente conectados com meus upstreams ou


downstreams?
B/P<!A?O/!SP0 s" i( 1g( rege>( H(S2!FTVIK2@L)K@%LR
Network Next Hop Metric LocPrf Weight Path
...
*> 216.72.166.0 201.20.36.157 0 16397 6505 i
*> 216.239.32.0/19 201.20.36.158 0 16397 15169 i
...

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

254
%nviando e Rece3endo
CPartialD e C'ull2RoutingD
,.
-

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

255

%nviando parcial para o meu D?ROSHR%AJ

? cliente dese;a rece3er rotas do meu AS e meus outros


D?ROSHR%AJS

A l(gica mesma* vamos utilizar a as-path acl A10A4


GX-R1(config-router)#neighbor X.X.100.2 filter-list 2 out
GX-R1(config)#ip as-path access-list 2 permit ^([^ ]+)?$
!--- nesse exemplo enviaremos apenas rotas com no mximo 1 AS no AS-PATH
!--- inclusive rotas com 0 AS's no path, ou seja, originadas localmente
)4$ K %nviando e Rece3endo CPartialD e
C'ull2routingD
VAB
"2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

256
)4$ K %nviando e Rece3endo CPartialD e
C'ull2routingD

Vamos ver se &uncionou444


GX-R1#sh ip bgp neighbors X.X.100.2 advertised-routes
VAB
"2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

257
)4$ K %nviando e Rece3endo CPartialD e
C'ull2routingD

Vamos ver se &uncionou444


GX-R1#sh ip bgp neighbors X.X.100.2 advertised-routes
VAB
"2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

258
)4$ K %nviando e Rece3endo CPartialD e
C'ull2routingD

Para aumentar para at AS[s eu coloco mais uma444


router4confi)7E ip as'pat2 access'"ist 1 permit R4S0'KTU
S0'KU7V
router4confi)7E ip as'pat2 access'"ist 1 permit R4S0'KTU7V
router4confi)7E ip as'pat2 access'"ist 1 permit RV

Adicionar # regras se;a um pro3lema* mas um pro3lema se eu


6uiser AvisualizarA em um comando s(* nesse caso &ica um tanto
tosco dar # comandos di&erentes4 'elizmente 8 a op-1o de &acilitar
com o PIP%444
router#sh ip bgp regexp ^([0-9]+ [0-9]+)$|^([0-9]+)$|^$

Dessa &orma consigo ver tudo e ao mesmo tempo criar uma regra 6ue
Avale por #A
:444continua<

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

259
)4$ K %nviando e Rece3endo CPartialD e
C'ull2routingD

Porm ainda posso simpli&icar mais444


de ^([0-9]+ [0-9]+)$|^([0-9]+)$|^$
para ^(([0-9]+ [0-9]+)|([0-9]+)|())$

%videntemente ainda d para mel8orar* trocando a e/press1o


A6ual6uer

nMmeroA e.2IfaA por A6ual6uer coisa 6 nao se;a em 3rancoA Aeg fA*
logo:
de ^([0-9]+ [0-9]+)$|^([0-9]+)$|^$
para ^(([^ ]+ [^ ]+)|([^ ]+)|())$
:444continua<

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

260
)4$ K %nviando e Rece3endo CPartialD e
C'ull2routingD

Porm ainda posso simpli&icar mais444


de ^([0-9]+ [0-9]+)$|^([0-9]+)$|^$
para ^(([0-9]+ [0-9]+)|([0-9]+)|())$

%videntemente ainda d para mel8orar* trocando a e/press1o


A6ual6uer

nMmeroA e.2IfaA por A6ual6uer coisa 6 nao se;a em 3rancoA Aeg fA*
logo:
de ^([0-9]+ [0-9]+)$|^([0-9]+)$|^$
para ^(([^ ]+ [^ ]+)|([^ ]+)|())$
:444continua<

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

26
)4$ K %nviando e Rece3endo CPartialD e
C'ull2routingD

Jesmo &icando pouco intuitivo* tivemos uma 3oa redu-1o na


6uantidade de caracteres e lin8as444 :apenas "<
router(config)#ip as-path access-list per!it ^(([^ ]+ [^ ]+)|([^ ]
+)|())$

Agora imagine a di&iculdade de escalar em demandas de # ou ) AS[s


para # hi ^(([^ ]+)|([^ ]+ [^ ]+)|([^ ]+ [^ ]+ [^ ]+)|())$
para ) hi ^(([^ ]+)|([^ ]+ [^ ]+)|([^ ]+ [^ ]+ [^ ])|([^ ]+ [^ ]+ [^ ]+ [^]
+)|())$

%ssa e/press1o para A)A imposs=vel de digitar com pressa L2<


:444continua<

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

262
)4$ K %nviando e Rece3endo CPartialD e
C'ull2routingD

%nt1o as c8aves a;udam a eliminar as repeti-Ees inserindo um


intervalo de repeti-Ees dentro das c8aves jk444

Consigo diminuir essa e/press1o de:


^(([^ ]+)|([^ ]+ [^ ]+)|([^ ]+ [^ ]+ [^ ])|([^ ]+ [^ ]+ [^ ]+ [^ ]+)|())$
para:
R4SR TUWN051P7N05,PV

?u se;a* a palavra 4SR TUWN051P7 X es6uerda de N05,P pode se


repetir . vezes* "
vez* vezes* # vezes ou ) vezes4

In&elizmente* nas versEes de I?S 6ue otilizamos nesse curso as


c8aves simplesmente n1o &uncionam

PS: Oo 9uagga &unciona "..^4



v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

263
Route2Jap / Pre&i/2Vist
,..

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

264
)4+ K Route2Jap Y Pre&i/2Vist

Pol=ticas de &iltro 3aseadas em RO#06'MP:

Se' num1er* K 2 Y =EE&E L

A ordem 6ue esse route-map vai ser processado na 8ierar6uia*


seguindo a mesma l(gica dos Dse6D da prei.-list.
router(config)#route-map FI?9ROS!<E!EN9RA<A (ermit 2
router(config-route-map)#match ip address prefix-list MUDAR-METRC
router(config-route-map)#set metric 50

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

265

Pol=ticas de &iltro 3aseadas em RO#06'MP:

CondiPZes* mat#" i( address (refi>!.ist M;<AR!ME9RIC

Para rece3er a a-1o DpermitD e as modi&ica-Ees opcionais :set


metric $.< o pre&i/o precisaria estar contido na pre&i/ list
DM#OR'M60RI8D

?BS: poss=vel esta3elecer mais de uma condi-1o* por


e/emplo:
mat#" i( address (refi>!.ist M;<AR!ME9RIC
mat#" as!(at" 2
mat#" #ommunit) =2

Mas nesse caso D preciso que todas as condi%Les sejam


atendidas5 caso contr9rio5 o route'map D i)norado e D
processado o pr>ximo route'map na sequXncia
router(config)#route-map FLTROS-DE-ENTRADA permit 10
router(config-route-map)#mat#" i( address (refi>!.ist M;<AR!ME9RIC
router(config-route-map)#set metric 50
)4+ K Route2Jap Y Pre&i/2Vist

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

266

Pol=ticas de &iltro 3aseadas em RO#06'MP:

Modifi#aPZes* set metri# E2

Ao atender "..^ das condi-Ees podem ser aplicadas


modi&ica-Ees opcionais nas rotas

?BS: Ham3m poss=vel realizar mais de uma modi&ica-1o* por


e/emplo:

set .o#a.!(referen#e %2
set weig"t 72
set #ommunit) %&*&%
router(config)#route-map FLTROS-DE-ENTRADA permit 10
router(config-route-map)#match ip address prefix-list MUDAR-METRC
router(config-route-map)#set metri# E2
)4+ K Route2Jap Y Pre&i/2Vist

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

267

Pol=ticas de &iltro 3aseadas em RO#06'MP:

Route!ma( sem #ondiPZes de#.aradas*

Oesses casos H?DAS as rotas rece3er1o X a-1o jpermit l denTk


e 6ual6uer modi&ica-1o opcional* 6ue nesse e/emplo &oi alterar
o local preerence para ..4
router(config)#route-map FLTROS-DE-ENTRADA permit 10
router(config-route-map)#set .o#a.!(referen#e %22
)4+ K Route2Jap Y Pre&i/2Vist

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

268

Pol=ticas de &iltro 3aseadas em RO#06'MP:

Route!ma( sem #ondiPZes de#.aradas*

Caso 8a;am outros route-maps a3ai/o :nMmeros maiores de


se/< de um route-map sem condi-Ees declaradas* esses ;amais
ser1o processados e ser1o totalmente inMteis4
router0s" running!#onfig U 1egin 9ES9E
route-map TESTE permit 1
set weight 10
!
route-map TESTE permit 2
match ip address BLOCOS-CLENTE-1
set metric 10
set local-preference 350
!
route-map TESTE permit 3
match as-path 20
set local-preference 400
!
)4+ K Route2Jap Y Pre&i/2Vist

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

269

Pol=ticas de &iltro 3aseadas em RO#06'MP:

:uando um QPERMI9Q se transforma em Q<ENGQ

Ao com3inar route-map e prei.-lists* entendam o DpermitD da


prei. list como um DfaF parte da "istaD e n1o como um
DaceitarD propriamente dito* pois a a-1o de DaceitarD vai
depender do 6ue &or declarado na Da-1oD do route-map.

Se um route-map com a-1o D%Oc* tudo 6ue tiver como permit


na prei. list ser *"oqueado5 por e/emplo:

Oesse caso o pre&i/o "I4"+!44.P$ ser *"oqueado* en6uanto


"I4"+!44"!P$ ser permitido5 porm inutilizado por causa da
regra de cima
!
ip prefix-list A seq 5 permit 192.168.2.0/25
ip prefix-list A seq 10 deny 192.168.2.128/25
!
route-map TESTE den) 1
match ip address prefix-list A
!
route-map TESTE permit 2
!
)4+ K Route2Jap Y Pre&i/2Vist

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

270
AS2Pat8 Prepend
,.H

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

27
)4, 2 AS2Pat8 Prepend

Para manipular o doSnload pra os pre&i/os do meu pr(prio


AS eu posso &acilmente anunciar pre&i/os mais ou menos
espec=&icos4

Jas como AS de tr>nsito n1o ten8o como pedir aos meus


clientes 6ue modi&i6uem seus anMncios caso eu 6ueira
usar um linN espec=&ico4

? AS PAHQ prepend adiciona nMmeros e/tras de AS no AS


PAHQ das rotas anunciadas para um determinado
neighbor.

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

272
)4, 2 AS2Pat8 Prepend

%/emplo":

Inserindo prepends do M6# ? na sa=da


(Router-E1)
router gp F%222
no s@nchroniJation
gp log3neighor3changes
netGorB .2.0...2 masB $%%.$%%.$%%.2
neighor .2.2...$ remote3as F&'22
neighor .2.2...F remote3as F&'22
neighor .2.2...F route3map prepend out
K
route3map prepend permit .2
set as3path prepend F%222 F%222 F%222
(Router-R2)
)$LshoG ip gp
8AP tale ,ersion is </ local router 67 is .2.$.2.$
"tatus codes: s suppressed/ d damped/ h histor@/ 9 ,alid/ M est/ i 3 internal/
r )683:ailure/ " "tale
4rigin codes: i 3 6AP/ e 3 (AP/O 3 incomplete
#etGorB #ext Pop Metric LocPr: Qeight Path
9Mi.2.0...2/$& .2.2.... 2 .22 2 F%222 i
9 .2.2...% 2 2 F%222 F%222 F%222 F%222 i
http://wiki.nil.com/AS-path_prepending_(technical_details) 'onte:

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

273
)4, 2 AS2Pat8 Prepend

%/emplo:

Inserindo prepends do ? R6MO0O na entrada


(Router-R1)
router gp F&'22
no s@nchroniJation
gp log3neighor3changes
neighor .2.2.... remote3as F%222
neighor .2.2.... route3map prepend6n in
neighor .2.$.2.$ remote3as F&'22
K
route3map prepend6n permit .2
set as3path prepend last3as $
(Router-R1)
).LshoG ip gp
8AP tale ,ersion is $/ local router 67 is .2.2.2..
"tatus codes: s suppressed/ d damped/ h histor@/ 9 ,alid/ M est/ i 3 internal/
r )683:ailure/ " "tale
4rigin codes: i 3 6AP/ e 3 (AP/ O 3 incomplete
#etGorB #ext Pop Metric LocPr: Qeight Path
9M .2.0...2/$& .2.2.... 2 2 F%222 F%222 F%222 i
http://wiki.nil.com/AS-path_prepending_(technical_details) 'onte:

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

274
%ngen8aria de Hr&ego
I
,.=

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

275
)4! K %ngen8aria de Hr&ego I

VAB: Hodos os grupos con&igurar Upstreams <


5owmstreams de acordo com os seguintes re6uisitos:

Apenas o OOY$BOO do
8BI6$06 4?100/7 dever
c8egar pelo ? 100* de &orma
6ue o OOY$BOO do ?
BO8B continuar c8egando
pelo AS ..4
AS-55
AS-222
AS-111
AS-200
AS-100
AS-100X
OOY$BOO 8BI6$06;
OOY$BOO ? BO8B;
AS-123
AS-X
VAB
"2"#2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

276

Con&igurando:
GX-R1(config-router)#no neighbor 200.X.1.1 prefix-list ANUNCAR-AS-200 out
!--- desconfigura a prefix list ANUNCIAR-AS-200 do filtro de saida do AS 200
GX-R1(config-router)#neighbor 200.X.1.1 route-map AS!%22!O;9 out
!--- configura o route-map AS-200-OUT como filtro de sada para o AS 200
GX-R1(config-router)#exit
GX-R1(config)#route-map AS!%22!O;9 permit 10
!--- entra no modo de configurao do route-map seq 1
GX-R1(config-route-map)#match ip address prefix-list BLOCOS-AS-100X
!--- declara a condio para receber "permit" + a modificao opcional prepend 4 vezes
GX-R1(config-route-map)#set as-path prepend X X
!--- insere mais 4 vezes o AS local no AS PATH
GX-R1(config)#route-map AS!%22!O;9 permit 20
!--- entra no modo de configurao do route-map seq 2
GX-R1(config-route-map)#match ip address prefix-list MEUS-BLOCOS
!--- declara a condio para receber "permit", no havero modificas de prepend para
!--- os blocos do AS. Caso ainda no tenha sido criada, preciso criar a prefix-list MEUS-BLOCOS
!--- e adicionar os prefixo do AS dentro dela
)4! K %ngen8aria de Hr&ego I
VAB
"2"#2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

277
P%RGGOHASU
P%RGGOHASU
,.=

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

278
-.0
Roteamento
dentro do AS :iBGP<
? tra3al8o Curso de BGP Design com Roteadores Cisco de Rinaldo Vaz &oi licenciado com
uma Vicen-a Creative Commons 2 Atri3ui-1o #4. O1o Adaptada4
Podem estar dispon=veis autoriza-Ees adicionais ao >m3ito desta licen-a em
rinaldopvazdgmail4com4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

279
-.0
Roteamento
dentro do AS :iBGP<
$4 Roteamento dentro do AS :iBGP<
5 $4" Implementando mMltiplas sa=das para clientes de tr>nsito
5 $4 Gpdate2source
5 $4# Oe/t28op2sel&
5 $4) BGP STnc8ronization
5 $4$ Route2re&lector
5 $4+ Peer groups
5 $4, Vocal Pre&erence / Reig8t no iBGP
5 $4! %ngen8aria de Hr&ego II

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

280
Implementando JMltiplas
Sa=das para Clientes de
Hr>nsito
-.1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

28
$4" 2 Implementando JMltiplas Sa=das para
Clientes de Hr>nsito

Con&orme discutido anteriormente* o BGP um protocolo


desenvolvido para troca de rotas entre AS[s distintos4

Deve ser evitado dentro do AS* a menos 6ue as e/tremidades


precisem trocar rotas de AS[s e/ternos4

%m outras palavras* se 8ouver realmente a necessidade de


entregar para um D?ROSHR%AJ rotas rece3idas de um
GPSHR%AJ4

Oo e/emplo a3ai/o n1o 8 necessidade de in;etar rotas e/ternas


dentro do AS:

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

282

In;etar rotas e/ternas se &az necessrio apenas 6uando essas


precisam DatravessarD o AS4

%m outras palavras* se 8ouver realmente a necessidade de


entregar para um D?ROSHR%AJ rotas rece3idas de um
GPSHR%AJ4

Oo e/emplo as rotas rece3idas do AS . e #. precisam c8egar ao


AS $. e vice2versa4
$4" 2 Implementando JMltiplas Sa=das para
Clientes de Hr>nsito

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

283

Alguns pontos importantes:


"4 Gm protocolo de roteamento IGP precisa garantir conectividade IP
entre H?D?S os routers do AS4
4 Jas se n1o 8ouver mMltiplos camin8os* n1o 8 necessidade de IGP*
apenas rotas estticas4
$4" 2 Implementando JMltiplas Sa=das para
Clientes de Hr>nsito

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

284

%m nosso VAB 8 mMltiplos camin8os* e todos os routers :e/ceto


AS[s e/ternos< ; est1o con&igurados com ?SP':
$4" 2 Implementando JMltiplas Sa=das para
Clientes de Hr>nsito

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

285

Oos pr(/imos VABs os alunos se ;untar1o em grupos de #4

Alunos da mesma 3ancada &ar1o parte do mesmo grupo* de


maneira 6ue os grupos "**# ser1o o GR#PO 1 Z ? 1

Grupos )* $ e + ser1o GR#PO ( Z ? (

Grupos ,* ! e I ser1o GR#PO + Z ? +

Grupos ".* "" e " ser1o GR#PO , Z ? ,

Grupos "#* ") e "$ ser1o GR#PO - Z ? -

Grupos "+* ", e "! ser1o GR#PO . Z ? .

Grupos "I* . e " ser1o GR#PO H Z ? H

Grupos * # e ) ser1o GR#PO = Z ? =


$4" 2 Implementando JMltiplas Sa=das para
Clientes de Hr>nsito
VAB 2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

286

? router R# :router central do AS< responde pelo IP


/4/4..4"P)4

Cada mem3ro do grupo vai con&igurar um IP da mesma rede


em seu laptop* e/emplo sugerido laptop" /./.(00.(<(,*
laptop /./.(00.+<(, e laptop# /./.(00.,<(,4

Hestar conectividade IP com R# e a partir dele acessar todos


os outros routers via telnet.
$4" 2 Implementando JMltiplas Sa=das para
Clientes de Hr>nsito
VAB 2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

287

VAB: Considerando 6ue as cidades onde &icam R) e R$


atendem clientes de tr>nsito :D?ROSHR%AJS<* e as cidades
onde &icam R" e R tem sa=da de tr>nsito IP :GPSHR%AJS<*
precisaremos 6ue R) e R$ rece3am e enviem rotas para o
AS ".. :atravs de R"<* e para o AS .. atravs de R4

Vamos esta3elecer sessEes eBGP entre os clientes de tr>nsito


AS ")/ com R) e AS "$/ com R$4

O?HA:
$--- =o intuito de acilitar a visuali6a>?o das rotas por parte dos
alunos# em
$--- todos os 32@S seguintes n?o trabalharemos com an1ncios mais

$--- especAicos /ue /+# 8com e.cess?o dos an1ncios ao B-- no lab
$--- correspondente
$4" 2 Implementando JMltiplas Sa=das
para Clientes de Hr>nsito
VAB 2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

288

Con&igurando eBGP com o


downstream: AS ")/ em R):

VAD? DA ?P%RAD?RA
AS-X-R4#conf t
AS-X-R4(config)#router bgp X
AS-X-R4(config-router)#bgp router-id X.0.0.4
!--- nesse LAB vamos configurar um Router-ID para facilitar a visualizao das rotas
AS-X-R4(config-router)#synchronization
AS-X-R4(config-router)#neighbor X.14X.4.2 remote-as 14X
AS-X-R4(config-router)#neighbor X.14X.4.2 description eBGP-downstream-AS-14X
AS-X-R4(config-router)#neighbor X.14X.4.2 soft-reconfiguration inbound
AS-X-R4(config-router)#neighbor X.14X.4.2 prefix-list BLOCOS-AS-14X in
!--- declara o filtro de entrada para rotas recebidas desse DOWNSTREAM
AS-X-R4(config-router)#exit
AS-X-R4(config)#ip prefix-list BLOCOS-AS-14X permit 14X.0.0.0/8
!--- adiciona os blocos CIDR do DOWNSTREAM nesa prefix-list que foi
!--- declarada nas configuraes BGP
$4" 2 Implementando JMltiplas Sa=das
para Clientes de Hr>nsito
VAB 2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

289

Con&igurando eBGP com o


downstream: AS ")/ em R):

VAD? D? CVI%OH%
AS-14X-R1#conf t
AS-14X-R1(config)#router bgp 14X
AS-14X-R1(config-router)#bgp router-id 14X.1.0.1
AS-14X-R1(config-router)#no synchronization
AS-14X-R1(config-router)#network 14X.0.0.0 mask 255.0.0.0
AS-14X-R1(config-router)#neighbor X.14X.4.1 remote-as X
AS-14X-R1(config-router)#neighbor X.14X.4.1 description eBGP-upstream-AS-X
AS-14X-R1(config-router)#neighbor X.14X.4.1 soft-reconfiguration inbound
AS-14X-R1(config-router)#neighbor X.14X.4.1 prefix-list MEUS-BLOCOS out
AS-14X-R1(config-router)#exit
AS-14X-R1(config)#ip prefix-list MEUS-BLOCOS permit 14X.0.0.0/8
AS-14X-R1(config)#interface loopback 0
AS-14X-R1(config-if)#ip address 14X.1.0.1 255.255.255.0
AS-14X-R1(config-if)#exit
AS-14X-R1(config)#ip route 14X.0.0.0 255.0.0.0 null 0
AS-14X-R1(config)#end
AS-14X-R1#clear ip bgp *
$4" 2 Implementando JMltiplas Sa=das
para Clientes de Hr>nsito
VAB 2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

290

Con&igurando eBGP com o


downstream: AS "$/ em R$:

VAD? DA ?P%RAD?RA
AS-X-R5#conf t
AS-X-R5(config)#router bgp X
AS-X-R5(config-router)#bgp router-id X.0.0.5
!--- nesse LAB vamos configurar um Router-ID para facilitar a visualizao das rotas
AS-X-R5(config-router)#synchronization
AS-X-R5(config-router)#neighbor X.15X.5.2 remote-as 15X
AS-X-R5(config-router)#neighbor X.15X.5.2 description eBGP-downstream-AS-15X
AS-X-R5(config-router)#neighbor X.15X.5.2 soft-reconfiguration inbound
AS-X-R5(config-router)#neighbor X.15X.5.2 prefix-list BLOCOS-AS-15X in
!--- declara o filtro de entrada para rotas recebidas desse DOWNSTREAM
AS-X-R5(config-router)#exit
AS-X-R5(config)#ip prefix-list BLOCOS-AS-15X permit 15X.0.0.0/8
!--- adiciona os blocos CIDR do DOWNSTREAM nesa prefix-list que foi
!--- declarada nas configuraes BGP
$4" 2 Implementando JMltiplas Sa=das
para Clientes de Hr>nsito
VAB 2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

29

Con&igurando eBGP com o


downstream: AS "$/ em R$:

VAD? D? CVI%OH%
AS-15X-R1#conf t
AS-15X-R1(config)#router bgp 15X
AS-15X-R1(config-router)#bgp router-id 15X.1.0.1
AS-15X-R1(config-router)#no synchronization
AS-15X-R1(config-router)#network 15X.0.0.0 mask 255.0.0.0
AS-15X-R1(config-router)#neighbor X.15X.5.1 remote-as X
AS-15X-R1(config-router)#neighbor X.15X.5.1 description eBGP-upstream-AS-X
AS-15X-R1(config-router)#neighbor X.15X.5.1 soft-reconfiguration inbound
AS-15X-R1(config-router)#neighbor X.15X.5.1 prefix-list MEUS-BLOCOS out
AS-15X-R1(config-router)#exit
AS-15X-R1(config)#ip prefix-list MEUS-BLOCOS permit 15X.0.0.0/8
AS-15X-R1(config)#interface loopback 0
AS-15X-R1(config-if)#ip address 15X.1.0.1 255.255.255.0
AS-15X-R1(config-if)#exit
AS-15X-R1(config)#ip route 15X.0.0.0 255.0.0.0 null 0
AS-15X-R1(config)#end
AS-15X-R1#clear ip bgp *
$4" 2 Implementando JMltiplas Sa=das
para Clientes de Hr>nsito
VAB 2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

292

Vamos tam3m con&igurar as sessEes eBGP com os GPSHR%AJS4

Primeiro eBGP entre R" e AS "..:


AS-X-R1#conf t
AS-X-R1(config)#router bgp X
AS-X-R1(config-router)#network X.0.0.0
AS-X-R1(config-router)#auto-summary
AS-X-R1(config-router)#synchronization
AS-X-R1(config-router)#neighbor 100.X.1.1 remote-as 100
AS-X-R1(config-router)#neighbor 100.X.1.1 soft-reconfiguration inbound
AS-X-R1(config-router)#neighbor 100.X.1.1 route-map ANUNCAR-AS-100 out
!--- vamos utilizar dessa vez filtros de saida baseados em route-map + prefix-list
AS-X-R1(config-router)#exit
!--- volta para o modo de configurao global
AS-X-R1(config)#ip prefix-list MEUS-BLOCOS permit X.0.0.0/8
!--- cria a prefix-list MEUS-BLOCOS e adiciona os blocos do grupo nessa lista
AS-X-R1(config)#ip prefix-list BLOCOS-AS-14X permit 14X.0.0.0/8
AS-X-R1(config)#ip prefix-list BLOCOS-AS-15X permit 15X.0.0.0/8
!--- em seguida uma prefix list para cada DOWNSTREAM com seus respectivos blocos contidos
(continua...)
$4" 2 Implementando JMltiplas Sa=das
para Clientes de Hr>nsito
VAB 2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

293

Vamos tam3m con&igurar as sessEes eBGP com os GPSHR%AJS4

Primeiro eBGP entre R" e AS "..:


(...continuao)
AS-X-R1(config)#route-map ANUNCAR-AS-100 permit 10
!--- cria um route-map de ao permit sequencia 10
AS-X-R1(config-route-map)#match ip address prefix-list ME;S!B?OCOS
!--- configura a condio para receber a ao permit, que nesse caso fazer parte da
!--- lista "MEUS-BLOCOS"
AS-X-R1(config-route-map)#exit
AS-X-R1(config)#route-map ANUNCAR-AS-100 permit 20
!--- cria um route-map de ao permit sequencia 20
AS-X-R1(config-route-map)#match ip address prefix-list BLOCOS-AS-14X
!--- configura a condio para receber a ao permit, fazer parte da lista "BLOCOS-AS-14x"
AS-X-R1(config-route-map)#exit
AS-X-R1(config)#route-map ANUNCAR-AS-100 permit 30
!--- cria um route-map de ao permit sequencia 30
AS-X-R1(config-route-map)#match ip address prefix-list BLOCOS-AS-15X
!--- configura a condio para receber a ao permit, fazer parte da lista "BLOCOS-AS-15x"
AS-X-R1(config-route-map)#end
AS-X-R1#clear ip bgp * soft
$4" 2 Implementando JMltiplas Sa=das
para Clientes de Hr>nsito
VAB 2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

294

Vamos tam3m con&igurar as sessEes eBGP com os GPSHR%AJS

%m seguida eBGP entre R e AS ..:


AS-X-R2#conf t
AS-X-R2(config)#router bgp X
AS-X-R2(config-router)#network X.0.0.0
AS-X-R2(config-router)#auto-summary
AS-X-R2(config-router)#synchronization
AS-X-R2(config-router)#neighbor 200.X.2.1 remote-as 200
AS-X-R2(config-router)#neighbor 200.X.2.1 soft-reconfiguration inbound
AS-X-R2(config-router)#neighbor 200.X.2.1 route-map ANUNCAR-AS-200 out
!--- vamos utilizar tambm filtros de saida baseados em route-map + prefix-list
AS-X-R2(config-router)#exit
!--- volta para o modo de configurao global
AS-X-R2(config)#ip prefix-list MEUS-BLOCOS permit X.0.0.0/8
!--- cria a prefix-list MEUS-BLOCOS e adiciona os blocos do grupo nessa lista
AS-X-R2(config)#ip prefix-list BLOCOS-AS-14X permit 14X.0.0.0/8
AS-X-R2(config)#ip prefix-list BLOCOS-AS-15X permit 15X.0.0.0/8
!--- em seguida uma prefix list para cada DOWNSTREAM com seus respectivos blocos contidos
(continua...)
$4" 2 Implementando JMltiplas Sa=das
para Clientes de Hr>nsito
VAB 2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

295

Vamos tam3m con&igurar as sessEes eBGP com os GPSHR%AJS

%m seguida eBGP entre R e AS ..:


(...continuao)
AS-X-R2(config)#route-map ANUNCAR-AS-200 permit 10
!--- cria um route-map de ao permit sequencia 10
AS-X-R2(config-route-map)#match ip address prefix-list ME;S!B?OCOS
!--- configura a condio para receber a ao permit, que nesse caso fazer parte da
!--- lista "MEUS-BLOCOS"
AS-X-R2(config-route-map)#exit
AS-X-R2(config)#route-map ANUNCAR-AS-200 permit 20
!--- cria um route-map de ao permit sequencia 20
AS-X-R2(config-route-map)#match ip address prefix-list BLOCOS-AS-14X
!--- configura a condio para receber a ao permit, fazer parte da lista "BLOCOS-AS-14x"
AS-X-R2(config-route-map)#exit
AS-X-R2(config)#route-map ANUNCAR-AS-200 permit 30
!--- cria um route-map de ao permit sequencia 30
AS-X-R2(config-route-map)#match ip address prefix-list BLOCOS-AS-15X
!--- configura a condio para receber a ao permit, fazer parte da lista "BLOCOS-AS-15x"
AS-X-R2(config-route-map)#end
AS-X-R2#clear ip bgp * soft
$4" 2 Implementando JMltiplas Sa=das
para Clientes de Hr>nsito
VAB 2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

296

Con&igurando iBGP entre R) e R":

Con&igurando iBGP entre R) e R:


AS-X-R4#conf t
AS-X-R4(config)#router bgp X
AS-X-R4(config-router)#neighbor X.0.0.1 remote-as X
AS-X-R4(config-router)#neighbor X.0.0.1 description iBGP Router 1
AS-X-R4#conf t
AS-X-R4(config)#router bgp X
AS-X-R4(config-router)#neighbor X.0.0.2 remote-as X
AS-X-R4(config-router)#neighbor X.0.0.2 description iBGP Router 2
$4" 2 Implementando JMltiplas Sa=das
para Clientes de Hr>nsito
VAB 2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

297

Con&igurando iBGP entre R" e R):

Con&igurando iBGP entre R" e R$:


AS-X-R1#conf t
AS-X-R1(config)#router bgp X
AS-X-R1(config-router)#bgp router-id X.0.0.1
AS-X-R1(config-router)#neighbor X.0.0.4 remote-as X
AS-X-R1(config-router)#neighbor X.0.0.4 description iBGP Router 4
AS-X-R1#conf t
AS-X-R1(config)#router bgp X
AS-X-R1(config-router)#neighbor X.0.0.5 remote-as X
AS-X-R1(config-router)#neighbor X.0.0.5 description iBGP Router 5
$4" 2 Implementando JMltiplas Sa=das
para Clientes de Hr>nsito
VAB 2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

298

Con&igurando iBGP entre R$ e R":

Con&igurando iBGP entre R$ e R:


AS-X-R5#conf t
AS-X-R5(config)#router bgp X
AS-X-R5(config-router)#neighbor X.0.0.1 remote-as X
AS-X-R5(config-router)#neighbor X.0.0.1 description iBGP Router 1
AS-X-R5#conf t
AS-X-R5(config)#router bgp X
AS-X-R5(config-router)#neighbor X.0.0.2 remote-as X
AS-X-R5(config-router)#neighbor X.0.0.2 description iBGP Router 2
$4" 2 Implementando JMltiplas Sa=das
para Clientes de Hr>nsito
VAB 2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

299

Con&igurando iBGP entre R e R):

Con&igurando iBGP entre R e R$


AS-X-R2#conf t
AS-X-R2(config)#router bgp X
AS-X-R2(config-router)#bgp router-id X.0.0.2
AS-X-R2(config-router)#neighbor X.0.0.4 remote-as X
AS-X-R2(config-router)#neighbor X.0.0.4 description iBGP Router 4
AS-X-R2#conf t
AS-X-R2(config)#router bgp X
AS-X-R2(config-router)#neighbor X.0.0.5 remote-as X
AS-X-R2(config-router)#neighbor X.0.0.5 description iBGP Router 5
$4" 2 Implementando JMltiplas Sa=das
para Clientes de Hr>nsito
VAB 2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

300

As sessEes iBGP su3iramU

Provavelmente n1oW

Por 6ue raz1oU


$4" 2 Implementando JMltiplas Sa=das
para Clientes de Hr>nsito

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

30
P%RGGOHASU
P%RGGOHASU
-.1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

302
Gpdate2Source
-.(

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

303

Como decidimos esta3elecer as sessEes utilizando os IPs de


loopbac" dos routers internos* nos deparamos com um
pro3lema de cone/1o HCP4
$4 2 Gpdate2source

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

304

A menos 6ue especi&i6uemos o contrrio* o IP de origem de


todo pacote o IP da inter&ace 6ue saiu4

%m outras palavras* se a mel8or rota para alcan-ar R)


pela serial (/(* o IP de origem ser o IP dessa inter&ace4
$4 2 Gpdate2source

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

305

Ve;amos:

Oesse caso* 6uando o pacote AsTnA c8egar ao router R" :X4.4.4"<


para solicitar o in=cio da sess1o BGP* o seu IP de origem desse
pacote ser X4X4)4* e ; 6ue R" &oi con&igurado para
esta3elecer BGP com X4.4.4) :R)< ele naturalmente re;eita essa
cone/1o4
#S-X-R$%sh ip route X&'&'&(
Routing entry for X.0.0.1/32
Known via "ospf 1", distance 110, metric 129, type intra area
Last update from X.X.4.1 on Serial1/0, 07:43:20 ago
Routing Descriptor Blocks:
* X.X.4.1, from X.0.0.1, 07:43:20 ago, via Serial1/0
Route metric is 129, traffic share count is 1
$4 2 Gpdate2source

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

306

Analisando o BGP de3ug:


07:42:42: BGP: X.0.0.1 open active, delay 7672ms
07:42:50: BGP: X.0.0.1 open active, .o#a. address X.X.7.%
07:42:50: BGP: X.0.0.1 open failed: Conne#tion refused by remote host
$4 2 Gpdate2source

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

307

Para resolver esse pro3lema precisamos dizer ao meu router R)


6ue utilize o IP X4.4.4) para esta3elecer a cone/1o HCP2",I
com R":
AS-X-R4(config)#router bgp X
AS-X-R4(config-router)#neighbor X.0.0.1 update-source loopback 0
AS-X-R4(config-router)#neighbor X.0.0.2 update-source loopback 0
!--- loopback 0 a interface que possui o IP X.0.0.4 no R4
!--- mas tambm podemos declarar um IP ao invs de uma interface
$4 2 Gpdate2source
VAB 2"2

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

308

Analisando novamente o de3ug ap(s a mudan-a no updade


source:
07:48:50: BGP: X.0.0.1 open active, local address X.0.0.4
07:48:50: BGP: X.0.0.1 went from Active to OpenSent
07:48:50: BGP: X.0.0.1 sending OPEN, version 4, my as: X
07:48:50: BGP: X.0.0.1 rcv message type 1, length (excl. header) 26
07:48:50: BGP: X.0.0.1 rcv OPEN, version 4
07:48:50: BGP: X.0.0.1 rcv OPEN w/ OPTION parameter len: 16
07:48:50: BGP: X.0.0.1 rcvd OPEN w/ optional parameter type 2 (Capability) len 6
07:48:50: BGP: X.0.0.1 OPEN has CAPABILITY code: 1, length 4
07:48:50: BGP: X.0.0.1 OPEN has MP_EXT CAP for afi/safi: 1/1
07:48:50: BGP: X.0.0.1 rcvd OPEN w/ optional parameter type 2 (Capability) len 2
07:48:50: BGP: X.0.0.1 OPEN has CAPABILITY code: 128, length 0
07:48:50: BGP: X.0.0.1 OPEN has ROUTE-REFRESH capability(old) for all address-families
07:48:50: BGP: X.0.0.1 rcvd OPEN w/ optional parameter type 2 (Capability) len 2
07:48:50: BGP: X.0.0.1 OPEN has CAPABILITY code: 2, length 0
07:48:50: BGP: X.0.0.1 OPEN has ROUTE-REFRESH capability(new) for all address-families
07:48:50: BGP: X.0.0.1 went from OpenSent to OpenConfirm
07:48:50: BGP: X.0.0.1 went from OpenConfirm to Established
07:48:50: %BGP-5-ADJCHANGE: neighbor X.0.0.1 Up
$4 2 Gpdate2source
VAB 2"2

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

309

\ &azer a mesma mudan-a em R$:


AS-X-R5(config)#router bgp X
AS-X-R5(config-router)#neighbor X.0.0.1 update-source loopback 0
AS-X-R5(config-router)#neighbor X.0.0.2 update-source loopback 0
!--- loopback 0 a interface que possui o IP X.0.0.5 no R5
07:48:50: %BGP-5-ADJCHANGE: neighbor X.0.0.1 Up
$4 2 Gpdate2source
VAB 2"2

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

30

Por 6ue n1o &oi necessrio realizar a mesma con&igura-1o em R"U

Bor /ue o C( responde 8com a mensagem t,pe (9


utili6ando o 4B destino /ue CD inseriu no pacote de
EFBG=E 8X.'.'.(9.

Oa prtica preciso 6ue apenas um dos dois routers altere o


Aupdate-sourceA* porm recomendvel alterar nos dois* pois
isso pode &azer com 6ue a sess1o esta3ele-a alguns segundos
mais rpido numa eventual 6ueda4
$4 2 Gpdate2source

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

3

Ajustando o update-source nas sesses R1<->R4 e R1<->R5

Ajustando o update-source nas sesses R2<->R4 e R2->R5


AS-X-R1#conf t
AS-X-R1(config)#router bgp X
AS-X-R1(config-router)#neighbor X.0.0.4 update-source loopback 0
AS-X-R1(config-router)#neighbor X.0.0.5 update-source loopback 0
AS-X-R2#conf t
AS-X-R2(config)#router bgp X
AS-X-R2(config-router)#neighbor X.0.0.4 update-source loopback 0
AS-X-R2(config-router)#neighbor X.0.0.5 update-source loopback 0
$4 2 Gpdate2source
VAB 2"2

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

32

%sta3elecidas as sessEes iBGP e eBGP* vamos aos AnovosA


pro3lemas:

Ootem 6ue n1o estamos anunciando as redes rece3idas


pelos meus D?ROSHR%AJS* mas apenas o classe A do AS
local4

Por 6ueU
AS!X!R0s" i( 1g( neig"1ors 22.X.. ad3ertised!routes
...
Network Next Hop Metric LocPrf Weight Path
*> X.0.0.0 0.0.0.0 0 32768 i
AS!X!R%0s" i( 1g( neig"1ors %22.X.%. ad3ertised!routes
...
Network Next Hop Metric LocPrf Weight Path
*> X.0.0.0 0.0.0.0 0 32768 i
$4# K Oe/t28op2sel&
VAB 2"2#

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

33

? primeiro critrio para o protocolo BGP anunciar algum pre&i/o


6ue esse pre&i/o este;a vlido na 'IB4

? pre&i/o A/4.4.4.A est com o caractere AiA* o 6ue demonstra


6ue esse pre&i/o est de &ato na 'IB :3est<4

Porm n1o o 6ue acontece com os pre&i/os rece3idos dos


D?ROSHR%AJS4

?s pre&i/os ")/4.4.4. e "$/4.4.4. est1o na RIB* mas n1o na 'IB4

Por 6ue esses pre&i/os n1o est1o na 'IBU


AS!X!R0s" i( 1g(
...
Network Next Hop Metric LocPrf Weight Path
*> X.0.0.0 0.0.0.0 0 32768 i
* i14X.0.0.0 X.11X.4.2 0 100 0 14X i
* i15X.0.0.0 X.12X.5.2 0 100 0 15X i
...
$4# K Oe/t28op2sel&
VAB 2"2#

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

34

Vamos veri&icar detal8adamente o status de um desses pre&i/os


em R"444

Gm pro3lema percept=vel sem muito tra3al8o:


"X.14X.4.2 (inaccessible)"

Para 6ue esse pre&i/o se;a vlido na 'IB necessrio 6ue o


Ane/t28opA correspondente tam3m se;a vlido* o 6ue n1o
ocorre4

Jas esse apenas um dos pro3lemas percept=veis na sa=da do


Mltimo comando4
AS!X!R0s" i( 1g( 7X.2.2.2
BGP routing table entry for 14X.0.0.0/8, version 0
Paths: (1 available, no 1est (at")
Not advertised to any peer
14X
X.14X.4.2 (ina##essi1.e) from X.0.0.4 (X.0.0.4)
Origin GP, metric 0, localpref 100, valid, internal, not s)n#"roniOed
$4# K Oe/t28op2sel&
VAB 2"2#

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

35

Resolvendo o primeiro problema:

No recomendvel que as interfaces externas do AS participem do GP


(OSPF), portanto vamos para outra soluo.

Vamos ento utilizar o comando BGP "next-hop-self" que altera o next-hop


para o P de neighbor.
AS-X-R1#conf t
AS-X-R1(config)#router bgp X
AS-X-R1(config-router)#neighbor X.0.0.4 next-hop-self
AS-X-R1(config-router)#neighbor X.0.0.5 next-hop-self
AS-X-R2#conf t
AS-X-R2(config)#router bgp X
AS-X-R2(config-router)#neighbor X.0.0.4 next-hop-self
AS-X-R2(config-router)#neighbor X.0.0.5 next-hop-self
$4# K Oe/t28op2sel&
VAB 2"2

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

36

Continuando em R) e R$444

Vamos agora veri&icar as mudan-as444


AS-X-R4#conf t
AS-X-R4(config)#router bgp X
AS-X-R4(config-router)#neighbor X.0.0.1 next-hop-self
AS-X-R4(config-router)#neighbor X.0.0.2 next-hop-self
AS-X-R5#conf t
AS-X-R5(config)#router bgp X
AS-X-R5(config-router)#neighbor X.0.0.1 next-hop-self
AS-X-R5(config-router)#neighbor X.0.0.2 next-hop-self
$4# K Oe/t28op2sel&
VAB 2"2#

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

37

Vamos detal8ar novamente um dos pre&i/os em R":

Ootem 6ue o ne.t-hop n1o se encontra mais inacess=vel* porm a


rota mostra uma outra mensagem: A$O0 ?J$8RO$I[6OA4

Isso acontece com rotas aprendidas por iBGP* uma vez 6ue por
padr1o o protocolo e/ige a sincroniza-1o da rota antes de
anunci2la aos AS[s e/ternos4

Oas versEes e cai/as mais novas o DsTncronizeD vem desa3ilitado4


AS!X!R0s" i( 1g( 7X.2.2.2
BGP routing table entry for 14X.0.0.0/8, version 0
Paths: (1 available, no best path)
Not advertised to any peer
14X
X.0.0.5 (metric 129) from X.0.0.5 (X.0.0.5)
Origin GP, metric 0, localpref 100, valid, internal, not s)n#"roniOed
$4) 2 BGP STnc8ronization
VAB 2"2)

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

38

Resolvendo o pro3lema de maneira AduvidosaA em R" e


R444
AS-X-R1#conf t
AS-X-R1(config)#router bgp X
AS-X-R1(config-router)#no synchronization
AS-X-R1(config-router)#end
AS-X-R1#clear ip bgp *
AS-X-R2#conf t
AS-X-R2(config)#router bgp X
AS-X-R2(config-router)#no synchronization
AS-X-R2(config-router)#end
AS-X-R2#clear ip bgp *
$4) 2 BGP STnc8ronization
VAB 2"2)

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

39

Continuando em R) e R$444
AS-X-R4#conf t
AS-X-R4(config)#router bgp X
AS-X-R4(config-router)#no synchronization
AS-X-R4(config-router)#end
AS-X-R4#clear ip bgp *
AS-X-R5#conf t
AS-X-R5(config)#router bgp X
AS-X-R5(config-router)#no synchronization
AS-X-R1(config-router)#end
AS-X-R5#clear ip bgp *
$4) 2 BGP STnc8ronization
VAB 2"2)

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

320

Con&erindo as mudan-as em R" e demais:

Veri&icando o caractere AiA podemos ter certeza dessa vez


as rotas &oram para 'IB4
AS!X!R0s" i( 1g(
...
Network Next Hop Metric LocPrf Weight Path
*> X.0.0.0 0.0.0.0 0 32768 i
*> 100.0.0.0 100.X.1.1 0 0 100 i
*>i14X.0.0.0 X.0.0.4 0 100 0 146 i
*>i15X.0.0.0 X.0.0.5 0 100 0 156 i
$4) 2 BGP STnc8ronization
VAB 2"2)

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

32

Vamos agora ter certeza 6ue os pre&i/os do meus


D?ROSHR%AJS est1o sendo anunciados aos GPSHR%AJS:

BingoWW %stamos anunciando os pre&i/os de D?ROSHR%AJS para


o AS "..4

? mesmo vale para R* R) e R$* s( con&erir4


AS!X!R0s" i( 1g( 7X.2.2.2
BGP routing table entry for 14X.0.0.0/8, version 16
Paths: (1 available, best #1, table Default-P-Routing-Table)
Advertised to non peer-group peers:
100.X.1.1
11X
X.0.0.4 (metric 129) from X.0.0.4 (X.0.0.4)
Origin GP, metric 0, localpref 100, valid, internal, best
$4) 2 BGP STnc8ronization
VAB 2"2)

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

322

Agora entrem no BooCin) G"ass 4nesse VAB o IP mudou para


KK.KK.KK.1< e testem a conectividade IP para os AS[s clientes
")/ e ")/*

8O$8B#?\6?; Se o AsTncronizationA e/iste* precisamos


compreender sua &un-1o antes de desa3ilit2lo4
telnet 99.99.99.1...
!--executem traceroute para os IPs dos seus respectivos downstreams
AS-99-R1>traceroute 14X.1.0.1
Type escape sequence to abort.
Tracing the route to 14X.1.0.1
1 99.100.1.2 12 msec 16 msec 4 msec
2 100.X.1.2 [AS 100] 60 msec 28 msec 36 msec
3 * * *
4 * * *
5 * * *
$4) 2 BGP STnc8ronization
VAB 2"2)

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

323

%ntendendo o AsTncronizationA444

Gma prote-1o natural 6ue o BGP implementa e/igir a


sincroniza-1o de uma rota aprendida por iBGP antes de
inseri2la na 'IB4

9uando um router rece3e um pre&i/o de origem AinternalA


atravs de iBGP esse n1o tem como sa3er se os routers
intermedirios tam3m con8ecem rota para esse pre&i/o4

Vamos entender mel8or444


$4) 2 BGP STnc8ronization

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

324

%ntendendo o DsTncronizationD444

R) esta3elece um iBGP diretamente com R" e anuncia os


pre&i/os rece3idos do AS ")/4 ? pro3lema 6ue AS2/2R"
n1o tem como sa3er se R# con8ece rota para os pre&i/os
do AS ")/4

? s,ncroni6ation um mecanismo de prote-1o 6ue evita


loops de roteamento* vamos entender mel8or o 6ue
aconteceu no VAB4
$4) 2 BGP STnc8ronization

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

325

AS ")/ anuncia seus pre&i/os para R)444


$4) 2 BGP STnc8ronization

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

326

AS R) anuncia para R"444


$4) 2 BGP STnc8ronization

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

327

AS R" anuncia para o GPSHR%AJ AS "..444


$4) 2 BGP STnc8ronization

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

328

AS ".. anuncia para o AS II444


$4) 2 BGP STnc8ronization

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

329

Camin8o dos pacotes: %ntram no AS "..444


$4) 2 BGP STnc8ronization

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

330

Camin8o dos pacotes: em seguida no AS por R"444


$4) 2 BGP STnc8ronization

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

33

Camin8o dos pacotes: agora complica um pouco* R"


con8ece rota para ""/4.4.4.P! atravs do ne/t28op
/4.4.4) :R)<* e esse ne.t-hop alcan-vel via R#
:/4/4"4<4
$4) 2 BGP STnc8ronization

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

332

Camin8o dos pacotes: DOingum avisou para R#D 6ual6uer


coisa so3re um tal AS ""/* o 6ue ele &az com um pacote
cu;o destino n1o con8eceU :rota padr1o< ? pacote
devolvido para R"4
$4) 2 BGP STnc8ronization

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

333

Camin8o dos pacotes: Jas R" consulta novamente sua 'IB*


e Dtem certezaD 6ue o pacote deve mesmo ser entregue
para R#444
$4) 2 BGP STnc8ronization

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

334

Camin8o dos pacotes: % o loop se repete at o &im do HHV do


pacote444
$4) 2 BGP STnc8ronization

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

335

Por isso precisamos ter certeza antes de Adesa3ilitarA o


s,ncroni6ation.

Veremos # maneiras de resolver esse pro3lema* a primeira


delas com o s,ncroni6ation QABIVIHAD? e redistri3uindo
rotas BGP atravs do IGP :?SP' nesse caso<L

A segunda maneira desa3ilitando o s,ncroni6ation e


esta3elecendo 'GVV2J%SQ entre todos os routers do ASL

A terceira :e mel8or< utilizando JPVS :sem BGP< nos


routers do 3acN3one :nesse VAB apenas R#< e 6ue
encamin8am rotas aprendidas via BGP atravs de Va3els4
Veremos essa no cap=tulo !4" :BGP atravs da nuvem
JPVS<L

Vamos X primeiraW
$4) 2 BGP STnc8ronization

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

336

Distri3uindo as rotas BGP atravs do meu IGP:


!--- primeiro vamos habilitar novamente o syncronization
AS-X-R1#conf t
AS-X-R1(config)#router bgp X
AS-X-R1(config-router)#synchronization
AS-X-R1(config-router)#exit
!--- agora entrar na configurao do OSPF
AS-X-R1(config)#router ospf 1
AS-X-R1(config-router)#redistribute bgp X
!--- habilita a distribuio por OSPF de rotas aprendias por BGP
% Only classful networks will be redistributed
AS-X-R1(config-router)#end
AS-X-R1#clear ip ospf process
!--- reinicia o processo OSPF
Reset ALL OSPF processes? [no]: yes
AS-X-R1#
!--- vamos repetir o mesmo processo para R2, R4 e R5
$4) 2 BGP STnc8ronization
VAB 2"2$

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

337

Distri3uindo as rotas BGP atravs do meu IGP:


!--- primeiro vamos habilitar novamente o syncronization
AS-X-R2#conf t
AS-X-R2(config)#router bgp X
AS-X-R2(config-router)#synchronization
AS-X-R2(config-router)#exit
!--- agora entrar na configurao do OSPF
AS-X-R2(config)#router ospf 1
AS-X-R2(config-router)#redistribute bgp X
!--- habilita a distribuio por OSPF de rotas aprendias por BGP
% Only classful networks will be redistributed
AS-X-R2(config-router)#end
AS-X-R2#clear ip ospf process
!--- reinicia o processo OSPF
Reset ALL OSPF processes? [no]: yes
AS-X-R2#
$4) 2 BGP STnc8ronization
VAB 2"2$

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

338

Distri3uindo as rotas BGP atravs do meu IGP:


!--- primeiro vamos habilitar novamente o syncronization
AS-X-R4#conf t
AS-X-R4(config)#router bgp X
AS-X-R4(config-router)#synchronization
AS-X-R4(config-router)#exit
!--- agora entrar na configurao do OSPF
AS-X-R4(config)#router ospf 1
AS-X-R4(config-router)#redistribute bgp X
!--- habilita a distribuio por OSPF de rotas aprendias por BGP
% Only classful networks will be redistributed
AS-X-R4(config-router)#end
AS-X-R4#clear ip ospf process
!--- reinicia o processo OSPF
Reset ALL OSPF processes? [no]: yes
AS-X-R4#
$4) 2 BGP STnc8ronization
VAB 2"2$

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

339

Distri3uindo as rotas BGP atravs do meu IGP:


!--- primeiro vamos habilitar novamente o syncronization
AS-X-R5#conf t
AS-X-R5(config)#router bgp X
AS-X-R5(config-router)#synchronization
AS-X-R5(config-router)#exit
!--- agora entrar na configurao do OSPF
AS-X-R5(config)#router ospf 1
AS-X-R5(config-router)#redistribute bgp X
!--- habilita a distribuio por OSPF de rotas aprendias por BGP
% Only classful networks will be redistributed
AS-X-R5(config-router)#end
AS-X-R5#clear ip ospf process
!--- reinicia o processo OSPF
Reset ALL OSPF processes? [no]: yes
AS-X-R5#
$4) 2 BGP STnc8ronization
VAB 2"2$

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

340

Agora vamos veri&icar em R" as rotas rece3idas do AS2")/


via R):

Agora podemos ver pelo AiA 6ue a rota para ")/4.4.4. est
na 'IB4

?utro detal8e o AiA X es6uerda identi&ica a rota como


AinternalA4
AS!X!R0s" i( 1g(
Network Next Hop Metric LocPrf Weight Path
.
*> 99.0.0.0 100.X.1.1 0 100 99 i
*> 100.0.0.0 100.X.1.1 0 0 100 i
*r>i14X.0.0.0 X.0.0.4 0 100 0 14X i
*r>i15X.0.0.0 X.0.0.5 0 100 0 15X i
*> 200.0.0.0 100.X.1.1 0 100 99 200 i
...
$4) 2 BGP STnc8ronization
VAB 2"2$

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

34

Detal8ando os pre&i/os do meu D?ROSHR%AJ:

Hemos agora uma rota ?I$8RO$I[O* 1]BIO* e


$#$8IO para "..4/4"4" :AS "..<4
AS!X!R0s" i( 1g( 7X.2.2.2
BGP routing table entry for 14X.0.0.0/8, version 5
Paths: (1 available, best #1, table Default-P-Routing-Table)
Advertised to non peer-group peers:
100.X.1.1
11X
X.0.0.4 (metric 129) from X.0.0.4 (X.0.0.4)
Origin GP, metric 0, localpref 100, valid, internal, s)n#"roniOed@ 1est
$4) 2 BGP STnc8ronization
VAB 2"2$

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

342

Segunda maneira desa3ilitando o s,ncroni6ation* porm


alterando os @HB peers.

Vamos re&azer as con&igura-Ees BGP esta3elecendo


R)m2iR# e R#m2iR"4

Dessa &orma R# vai con8ecer a rota para os D?RSHR%AJS e


GPSHR%AJS4
$4) 2 BGP STnc8ronization

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

343

Jas antes vamos descon&igurar a redistri3ui-1o de pre&i/os


via ?SP' em R"* R* R) e R$444
AS-X-R1#conf t
AS-X-R1(config)#router ospf 1
AS-X-R1(config-router)#no redistribute bgp X
AS-X-R1(config-router)#end
AS-X-R1#clear ip ospf process
!--- reinicia o processo OSPF
Reset ALL OSPF processes? [no]: yes
AS-X-R1#
!--- vamos repetir o mesmo processo para R2, R4 e R5
$4) 2 BGP STnc8ronization
VAB 2"2+

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

344

R
AS-X-R2#conf t
AS-X-R2(config)#router ospf 1
AS-X-R2(config-router)#no redistribute bgp X
AS-X-R2(config-router)#end
AS-X-R2#clear ip ospf process
!--- reinicia o processo OSPF
Reset ALL OSPF processes? [no]: yes
AS-X-R2#
$4) 2 BGP STnc8ronization
VAB 2"2+

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

345

R)
AS-X-R4#conf t
AS-X-R4(config)#router ospf 1
AS-X-R4(config-router)#no redistribute bgp X
AS-X-R4(config-router)#end
AS-X-R4#clear ip ospf process
!--- reinicia o processo OSPF
Reset ALL OSPF processes? [no]: yes
AS-X-R4#
$4) 2 BGP STnc8ronization
VAB 2"2+

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

346

R$
AS-X-R5#conf t
AS-X-R5(config)#router ospf 1
AS-X-R5(config-router)#no redistribute bgp X
AS-X-R5(config-router)#end
AS-X-R5#clear ip ospf process
!--- reinicia o processo OSPF
Reset ALL OSPF processes? [no]: yes
AS-X-R5#
$4) 2 BGP STnc8ronization
VAB 2"2+

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

347

Vamos alterar o es6uema das sessEes removendo todas as


sessEes iBGP444
AS-X-R1(config)#router bgp X
AS-X!R1(config-router)#no syncronization
AS-X-R1(config-router)#no neighbor X.0.0.4
AS-X-R1(config-router)#no neighbor X.0.0.5
!--- R1
AS-X-R2(config)#router bgp X
AS-X-R2(config-router)#no syncronization
AS-X-R2(config-router)#no neighbor X.0.0.4
AS-X-R2(config-router)#no neighbor X.0.0.5
!--- R2
AS-X-R4(config)#router bgp X
AS-X!R4(config-router)#no syncronization
AS-X-R4(config-router)#no neighbor X.0.0.1
AS-X-R4(config-router)#no neighbor X.0.0.2
!--- R4
AS-X-R5(config)#router bgp X
AS-X!R5(config-router)#no syncronization
AS-X-R5(config-router)#no neighbor X.0.0.1
AS-X-R5(config-router)#no neighbor X.0.0.2
$4) 2 BGP STnc8ronization
VAB 2"2+

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

348

Resta3elecendo as sessEes BGP em R"

%m seguida iBGP entre R" e R#:


AS-X-R1#conf t
AS-X-R1(config)#router bgp X
AS-X-R1(config-router)#neighbor X.0.0.3 remote-as X
AS-X-R1(config-router)#neighbor X.0.0.3 description iBGP R3
AS-X-R1(config-router)#neighbor X.0.0.3 next-hop-self
AS-X-R1(config-router)#neighbor X.0.0.3 update-source loopback 0
AS-X-R1(config-router)#neighbor X.0.0.3 soft-reconfiguration inbound
AS-X-R1(config-router)#exit
!--- no vamos utilizar nenhum filtro de in-out para a sesso com R3
$4) 2 BGP STnc8ronization
VAB 2"2+

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

349

Reesta3elecendo as sessEes BGP em R"

%m seguida iBGP entre R e R#:


AS-X-R2#conf t
AS-X-R2(config)#router bgp X
AS-X-R2(config-router)#neighbor X.0.0.3 remote-as X
AS-X-R2(config-router)#neighbor X.0.0.3 description iBGP R3
AS-X-R2(config-router)#neighbor X.0.0.3 next-hop-self
AS-X-R2(config-router)#neighbor X.0.0.3 update-source loopback 0
AS-X-R2(config-router)#neighbor X.0.0.3 soft-reconfiguration inbound
AS-X-R2(config-router)#exit
!--- no vamos utilizar nenhum filtro de in-out
$4) 2 BGP STnc8ronization
VAB 2"2+

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

350

Con&igurando iBGP com R#


AS-X-R4#conf t
AS-X-R4(config)#router bgp X
AS-X-R4(config-router)#neighbor X.0.0.3 remote-as X
AS-X-R4(config-router)#neighbor X.0.0.3 description iBGP R3
AS-X-R4(config-router)#neighbor X.0.0.3 next-hop-self
AS-X-R4(config-router)#neighbor X.0.0.3 update-source loopback 0
AS-X-R4(config-router)#neighbor X.0.0.3 soft-reconfiguration inbound
AS-X-R4(config-router)#exit
$4) 2 BGP STnc8ronization
VAB 2"2+

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

35

Con&igurando iBGP com R#


AS-X-R5#conf t
AS-X-R5(config)#router bgp X
AS-X-R5(config-router)#neighbor X.0.0.3 remote-as X
AS-X-R5(config-router)#neighbor X.0.0.3 description iBGP R3
AS-X-R5(config-router)#neighbor X.0.0.3 next-hop-self
AS-X-R5(config-router)#neighbor X.0.0.3 update-source loopback 0
AS-X-R5(config-router)#neighbor X.0.0.3 soft-reconfiguration inbound
AS-X-R5(config-router)#exit
$4) 2 BGP STnc8ronization
VAB 2"2+

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

352

Resta3elecendo as sessEes iBGP em R#:


AS-X-R3(config)#router bgp X
AS-X-R3(config-router)#no synchronization
AS-X-R3(config-router)#network X.0.0.0
AS-X-R3(config-router)#bgp router-id X.0.0.3
AS-X-R3(config-router)#auto-summary
!--- iBGP com R1
AS-X-R3(config-router)#neighbor X.0.0.1 remote-as X
AS-X-R3(config-router)#neighbor X.0.0.1 description iBGP R1
AS-X-R3(config-router)#neighbor X.0.0.1 update-source loopback 0
AS-X-R3(config-router)#neighbor X.0.0.1 soft-reconfiguration inbound
!--- iBGP com R2
AS-X-R3(config-router)#neighbor X.0.0.2 remote-as X
AS-X-R3(config-router)#neighbor X.0.0.2 description iBGP R2
AS-X-R3(config-router)#neighbor X.0.0.2 update-source loopback 0
AS-X-R3(config-router)#neighbor X.0.0.2 soft-reconfiguration inbound
!--- iBGP com R4
AS-X-R3(config-router)#neighbor X.0.0.4 remote-as X
AS-X-R3(config-router)#neighbor X.0.0.4 description iBGP R4
AS-X-R3(config-router)#neighbor X.0.0.4 update-source loopback 0
AS-X-R3(config-router)#neighbor X.0.0.4 soft-reconfiguration inbound
!--- iBGP com R5
AS-X-R3(config-router)#neighbor X.0.0.5 remote-as X
AS-X-R3(config-router)#neighbor X.0.0.5 description iBGP R5
AS-X-R3(config-router)#neighbor X.0.0.5 update-source loopback 0
AS-X-R3(config-router)#neighbor X.0.0.5 soft-reconfiguration inbound
$4) 2 BGP STnc8ronization
VAB 2"2+

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

353

Veri&icando as mudan-as come-ando por R"

Ainda n1o temos a rota anunciada pelo D?ROSHRASJ AS


")/ na 'IB de R"* isso por6ue R# n1o est anunciandoW

Por 6ue isso aconteceU


AS!X!R0s" i( 1g(
BGP table version is 2, local router D is X.0.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - GP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*>iX.0.0.0 X.0.0.3 0 100 0 i
*> 100.0.0.0 100.X.1.1 0 0 100 i
*> 99.0.0.0 100.X.1.1 0 0 100 99 i
...
$4) 2 BGP STnc8ronization
VAB 2"2+

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

354

BGP e o SPVIH Q?RIn?O

Desde o tempo do RIP* os protocolos do tipo vetor de


dist>ncia sa3em 6ue n1o 8 sentido em propagar uma
rota para a mesma inter&ace de onde aprendeu* e com o
BGP parecido4

Oo iBGP indispensvelF 6ue 8a;a ullmesh de sessEes BGP


:todos esta3elecendo com todos< e sendo assim* um
router n1o anuncia por iBGP uma rota 6ue &oi aprendida
tam3m por iBGP* pois entende 6ue a6uele router 6ue me
enviou a rota ; est enviando diretamente para todos os
routers do iBGP4
*h um mecanismo que dispensa essa necessidade
$4) 2 BGP STnc8ronization

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

355

%m resumo* um router n1o anuncia para outro router do


mesmo AS 6ual6uer coisa 6ue ten8a aprendido tam3m
via iBGP4

?u se;a* R# n1o vai anunciar para R" as rotas aprendidas de


R).
$4) 2 BGP STnc8ronization

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

356
Route2Re&lector
-.-

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

357
$4$ 2 Route2Re&lector

%m tese* de acordo com as regras do split hori6on dever=amos


esta3elecer as seguintes sessEes BGP :&ull mes8<:
R1<->R2, R1<->R3, R1<->R4, R1<->R5
R2<->R3, R2<->R4, R1<->R5
R3<->R4, R3<->R5
R4<->R5
Total=10

? route-relector 3asicamente dispensa a necessidade de i@HB


ull-mesh* pois remove a restri-1o no repasse de rotas iBGP
para outro neighbor i@HB.

B altamente recomendado 6uando o nMmero de routers maior


6ue $:
Fevita um nMmero muito grande de sessEes iBGP

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

358

Oessa topologia de rede em particular* podemos optar por #


modelos:
12 R" como Coute-Celector esta3elecendo com R* R#* R) e
R$ :) sessEes<4

Pontos cr=ticos de &al8a: &al8a em R# ePou R" ePou linN


R#m2iR" h #.
$4$ 2 Route2Re&lector

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

359
$4$ 2 Route2Re&lector
(2 R como Coute-Celector esta3elecendo com R"* R#* R) e
R$ :) sessEes<4

Pontos cr=ticos de &al8a: &al8a em R# ePou R ePou linN


R#m2iR h #4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

360
+2 R# como Coute-Celector esta3elecendo com R"* R* R) e
R$ :) sessEes<4

Pontos cr=ticos de &al8a: &al8a em R#h "4


$4$ 2 Route2Re&lector

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

36

?3viamente ; optamos pela op-1o nMmero #

Vamos acrescentar apenas a op-1o RR:


AS-X-R3#conf t
AS-X-R3(config)#router bgp X
AS-X-R3(config-router)#neighbor X.0.0.1 route-reflector-client
!--- iBGP com R1
AS-X-R3(config-router)#neighbor X.0.0.2 route-reflector-client
!--- iBGP com R2
AS-X-R3(config-router)#neighbor X.0.0.4 route-reflector-client
!--- iBGP com R4
AS-X-R3(config-router)#neighbor X.0.0.5 route-reflector-client
!--- iBGP com R5
$4$ 2 Route2Re&lector
VAB 2"2,

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

362

B importante dei/ar claro 6ue di&erentemente do 6ue o


nome possa sugerir* ARoute2re&lectorA n1o signi&ica
Are&letir a rotaA e preservar o ne.t-hop original* isso uma
caracter=stica do pr(prio i@HB. Coute-Celector signi&ica
anunciar via iBGP rotas aprendidas tam3m por iBGP4
$4$ 2 Route2Re&lector

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

363
-..
Peer Groups

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

364
$4+ 2 Peer Groups

%m nossa topologia* &icamos diante de uma situa-1o:

R# possui vrios neighbors com con&igura-Ees semel8antes*


e/igindo con&igura-Ees repetitivas e su;eitas X erros4

? recurso Apeer2groupA me permite realizar um padr1o para


os neighbors semel8antes diminuindo drasticamente a
6uantidade de lin8as de con&igura-1o e As8oS runA4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

365

Vamos praticar reconfigurando R3 com peer-groups:


!--- Primeiro vamos resetar as config de BGP
AS-X-R3#conf t
AS-X-R3(config)#no router bgp X
!--- depois as configuraes bsicas
AS-X-R3(config)#router bgp X
AS-X-R3(config-router)#no synchronization
AS-X-R3(config-router)#auto-summary
AS-X-R3(config-router)#bgp router-id X.0.0.3
AS-X-R3(config-router)#network X.0.0.0
!--- Vamos declarar um peer-group chamado IBGP
AS-X-R3(config-router)#neighbor IB/P peer-group
AS-X-R3(config-router)#neighbor IB/P remote-as X
AS-X-R3(config-router)#neighbor IB/P update-source loopback 0
AS-X-R3(config-router)#neighbor IB/P soft-reconfiguration inbound
AS-X-R3(config-router)#neighbor IB/P route-reflector-client
!--- Vamos adicionar os neighbors que fazem parte desse grupo
AS-X-R3(config-router)#neighbor X.0.0.1 peer-group IB/P
AS-X-R3(config-router)#neighbor X.0.0.2 peer-group IB/P
AS-X-R3(config-router)#neighbor X.0.0.4 peer-group IB/P
AS-X-R3(config-router)#neighbor X.0.0.5 peer-group IB/P
$4+ 2 Peer Groups
VAB 2"2!

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

366

Com peer-group fica muito mais simples adicionar remover


configuraes de neighbors para todo o grupo em apenas um
comando, por exemplo:

Todas as sesses BGP dentro do peer-group passariam pelos


mesmos filtros de entrada e de sada
!--- apenas exemplo, no efetue essa configurao
router(config-router)#neighbor BGP prefix-list FLTRO-GERAL-DE-ENTRADA in
router(config-router)#neighbor BGP prefix-list FLTRO-GERAL-DE-SADA out
!--- apenas exemplo, no efetue essa configurao
!--- A mesma simplicidade acontece na hora de um "clear" (route refresh)
AS-X-R3#clear ip bgp peer-group BGP soft
!--- mas vale lembrar que nada impede que seja efetuado um clear individual
AS-X-R3#clear ip bgp X.0.0.1 out
$4+ 2 Peer Groups

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

367

Finalizando o LAB:

Acessar o Looking Glass e verificar se esse alcana o AS do grupo


e todos os seus respectivos DOWNSTREAMS

telnet 99.99.99.1 ...
$4+ 2 Peer Groups
VAB 2"2!

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

368
Vocal Pre&erence / Reig8t no
iBGP
-.H

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

369
$4, 2 Vocal Pre&erence / Reig8t no iBGP

Caractersticas:
[eig"t*

Proprietrio Cisco (embora implementado por Mikrotik, Quagga, OpenBGPD)

Primeiro critrio na escolha de rotas (maior weight)

No considerado um atributo e seu valor pode ser de 0 a 65535

Os valores de weight no so transitivos (mesmo dentro do AS)


?o#a. Preferen#e*

Conhecido em todas as implementaes de BGP

Segundo critrio depois do weight (maior local pref)

Seu valor padro 100 e pode variar de 0 a 4294967295

Os valores alterados so propagados por todo o iBGP



v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

370

Como vimos nos labs anteriores, posso atribuir um valor de weight 10 no comando "neighbor
x.x.x.x weight 10" para todas as rotas recebidas, ou manualmente apenas para
determinados prefixos utilizando o route-map. Vamos alterar o weight apenas de um
determinado prefixo (99.0.0.0/8) e todos os seus sub-prefixos
AS-X-R1#conf t
AS-X-R1(config)#ip prefix-list BLOCOS-AS-99 permit 99.0.0.0/8 le 24
!--- adiciona o classe A e sub-redes 99.0.0.0 na prefix-list BLOCOS-AS-99
AS-X-R1(config)#router bgp X
AS-X-R1(config-router)#neighbor 100.X.1.1 route-map AS-100-N in
!--- declara o route-map AS-100-IN para filtrar anuncios de input do AS 100
AS-X-R1(config-router)#exit
AS-X-R1(config)#route-map AS-100-N permit 10
AS-X-R1(config-route-map)#match ip address prefix-list BLOCOS-AS-99
AS-X-R1(config-route-map)#set weight 10
!--- estabelece os prefixos da lista BLOCOS-AS-99 como condio para receber a ao permir
!--- e a modificao opcional que atribui um valor 10 de weight
AS-X-R1(config-route-map)#exit
AS-X-R1(config)#route-map AS-100-N permit 999
!--- no podemos esquecer de adicionar um route-map "vazio" no final (numero alto), caso contrrio
!--- os prefixos do AS 99 reeceberiam a ao desejada, porm nenhum outro prefixo seria aceito
AS-X-R1(config-route-map)#end
AS-X-R1#clear ip bgp 100.X.1.1 soft
$4, 2 Vocal Pre&erence / Reig8t no iBGP
VAB 2"2I

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

37
AS!X!R0s" i( 1g(
...
Network Next Hop Metric LocPrf [eig"t Path
*> 99.0.0.0 100.X.1.1 0 2 100 99 i
*> 100.0.0.0 100.X.1.1 0 0 100 i
*> 200.0.0.0 100.X.1.1 0 0 100 99 200 i
...

Conferindo a modificao:

Apenas o prefixo 99.0.0.0 recebeu weight 10

Verifiquem a mesma rota em R2, R3,R4 ou R5 o valor de weight ser 0,


j que esse no propagado atravs do iBGP
$4, 2 Vocal Pre&erence / Reig8t no iBGP
VAB 2"2I

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

372

J com o local preference diferente, o valor que configurarmos em


R1 permanecer o mesmo em todos os routers do AS que
receberem esse prefixo atravs de iBGP

OBS* Caso algum router aplique route-map que altere o local


preference do prefixo 99.0.0.0 ou de todos os prefixos recebidos,
esse valor substitudo pelo atual
$4, 2 Vocal Pre&erence / Reig8t no iBGP

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

373

A maneira mais indicada de priorizar rotas dentro do iBGP


utilizando o local preference

O weight deve ser usado apenas em casos muito especficos onde


no haja a inteno de que os outros routers do AS escolham
essa mesma rota
$4, 2 Vocal Pre&erence / Reig8t no iBGP

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

374

VAB:

utilizando os recursos vistos no curso vamos con&igurar os


routers do AS de maneira 6ue atenda todos os seguintes
re6uisitos:

Todo o trfego outbound (upload) deve utilizar o link do AS 100, exceto com destino ao AS 200
(%22.2.2.2+8) e seus DOWNSTREAMS

Simulando que o link do AS 22 est sobrecarregado, o trfego inbound (download) do


DOWNSTREAM AS 15X (apenas) deve chegar pelo AS 200 quando a origem for o AS 99
(internet)

Apenas R2 deve alcanar o AS 99 (FF.2.2.2+8) atravs do link com o AS 200


5 $4! %ngen8aria de Hr&ego II
VAB 2"2I

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

375

Solu-1o em R"
router 3gp /
no sTnc8ronization
3gp log2neig83or2c8anges
netSorN /4.4.4.
neig83or /4.4.4# remote2as )
neig83or /4.4.4# update2source Voop3acN.
neig83or /4.4.4# ne/t28op2sel&
neig83or /4.4.4# so&t2recon&iguration in3ound
neig83or "..4/4"4" remote2as "..
neig83or "..4/4"4" so&t2recon&iguration in3ound
neig83or "..4/4"4" route2map AS2"..2IO in
neig83or "..4/4"4" route2map AOGOCIAR2AS2".. out
auto2summarT
W
ip pre&i/2list BV?C?S2AS2")/ se6 $ permit ")/4.4.4.P!
W
pre&i/2list BV?C?S2AS2"$/ se6 $ permit "$/4.4.4.P!
W
pre&i/2list BV?C?S2AS2II se6 $ permit II4.4.4.P! le #
W
ip pre&i/2list J%GS2BV?C?S se6 $ permit /4.4.4.P!
W
route2map AS2"..2IO permit ".
matc8 ip address pre&i/2list BV?C?S2AS2II
set local2pre&erence "".
set Seig8t ".
W
route2map AS2"..2IO permit I99
set local2pre&erence "".
W
route2map AOGOCIAR2AS2".. permit ".
matc8 ip address pre&i/2list J%GS2BV?C?S
W
route2map AOGOCIAR2AS2".. permit .
matc8 ip address pre&i/2list BV?C?S2AS2")/
W
route2map AOGOCIAR2AS2".. permit #.
matc8 ip address pre&i/2list BV?C?S2AS2"$/
set as2pat8 prepend )
W
5 $4! CCQ%AHSD

Solu-1o em R
router 3gp /
no sTnc8ronization
3gp log2neig83or2c8anges
netSorN /4.4.4.
neig83or /4.4.4# remote2as /
neig83or /4.4.4# update2source Voop3acN.
neig83or /4.4.4# ne/t28op2sel&
neig83or /4.4.4# so&t2recon&iguration in3ound
neig83or ..4/44" remote2as ..
neig83or ..4/44" so&t2recon&iguration in3ound
neig83or ..4/44" Seig8t ".
neig83or ..4/44" route2map AS2..2IO in
auto2summarT
W
ip pre&i/2list BV?C?S2AS2.. se6 $ permit ..4.4.4.P!
le #
W
route2map AS2..2IO permit ".
matc8 ip address pre&i/2list BV?C?S2AS2..
set local2pre&erence ".
W
route2map AS2..2IO permit III
set local2pre&erence "..
W
VAB 2"2I

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

376
P%RGGOHASU
P%RGGOHASU
-.=

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

377
BGP Communities
..0
? tra3al8o Curso de BGP Design com Roteadores Cisco de Rinaldo Vaz &oi licenciado com
uma Vicen-a Creative Commons 2 Atri3ui-1o #4. O1o Adaptada4
Podem estar dispon=veis autoriza-Ees adicionais ao >m3ito desta licen-a em
rinaldopvazdgmail4com4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

378
BGP Communities
..0
+4 BGP Communities
5 +4" Communities Padr1o
5 +4 Communities Oumricas
5 +4# Identi&icando e tratando rotas de peers espec=&icos
5 +4) Janipulando tr>sito :nacionalPinternacional< com communities
5 +4$ %ngen8aria de Hr&ego III

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

379
..1
Communities Padr1o

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

380
+4" K Communities Padr1o

Communities s1o atri3utos 6ue s1o preservados em


anMncios entre AS[s e/ternos e internos4

S1o um tipo de carim3o inserido nos updates em &orma de


string.

Gma communit, um atri3uto opcional* e sendo assim nada


o3riga 6ue os &a3ricantes implementem no BGP de suas
cai/as* ou mesmo 6ue um AS repli6ue para seus peers o
mesmo valor de communit, rece3ido por um de seus
clientes4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

38

?s modelos mais novos suportam o Anovo &ormatoA


usualmente utilizado como ASO:comunitT* por e/emplo:
!"#$:"".4

Porm 8 algumas communities padronizadas pela R'C


"II, e s1o padr1o nos routers Cisco:

NTERNET

NO-EXPORT

NO-ADVERTSE

LOCAL-AS

NO-ADVERTSE-SUBCONFED
+4" K Communities Padr1o

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

382

$O'6/POR0 por padr1o &az o router receptor e/portar o


pre&i/o para neighbors i@HB* mas n1o para eBGP4 B Mtil
6uando &a-o anMncios mais espec=&icos para a operadora
A e menos espec=&icos para operadora B4 Oormalmente* a
operadora B precisaria passar pela operadora A para
c8egar ao pre&i/o Aespec=&icoA mesmo esta3elecendo BGP
diretamente com meu AS4
%nviando o mesmo 3loco espec=&ico* com a communit,
O?2%YP?RH X operadora A* essa passaria a me alcan-ar
diretamente* ao mesmo tempo 6ue n1o e/portaria esses
pre&i/os4
+4" K Communities Padr1o

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

383

NO!A<6ER9ISE por padr1o &az o router receptor n1o


e/portar esse pre&i/o para nen8um neighbor* se;a ele
eBGP ou iBGP4
+4" K Communities Padr1o

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

384

NO!A<6ER9ISE!S;BCONFE< usada para evitar 6ue o pre&i/o


se;a e/portado para AS[s con&ederados4
+4" K Communities Padr1o

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

385

?OCA?!AS usada para evitar 6ue os pre&i/os marcados


se;am e/portados para &ora do AS ou con&edera-1o*
geralmente usado em &iltros de entrada4
+4" K Communities Padr1o

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

386

IN9ERNE9 na prtica a communit, padr1o para anMncios


e/ternos* o mesmo 6ue n1o 8aver nen8uma4
+4" K Communities Padr1o

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

387

VAB ": Antes de come-ar remover todas as con&igura-Ees do


la3orat(rio anterior
+4" K Communities Padr1o
R1
conf t
!
no route-map AS-100-N permit 10

!
route-map AS-100-N permit 999
no set local-preference 110
!
!
route-map ANUNCAR-AS-100 permit 30
no set as-path prepend 4
!
R2
conf t
!
no route-map AS-200-N permit 10
!
route-map AS-200-N permit 999
set local-preference 100
!

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

388

Antes de iniciar os VABs desse cap=tulo o*ri)at>rio


2a*i"itar suporte ao en!io de commuinities em
H?D?S os neighbors.

%m seguida 8a3ilitar o &ormato novo &ormato ///:TTT para o


tratamento de communities:
router(config)#router bgp X
router(config-router)#neighbor A.B.C.< send-community both
router(config-router)#exit
+4" K Communities Padr1o
VAB2"2".

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

389

VAB ": Anunciar os pre&i/os de um dos AS[s clientes com a


communit, O?2%YP?RH para dentro do AS do grupo:

Veri&i6uem nos routers R" e R se os pre&i/os marcados


como AO?2%YP?RHA est1o sendo anunciados para os AS[s
".. e ..4
AS-14X-R1#conf t
AS-14X-R1(config)#router bgp 14X
AS-14X-R1(config-router)#neighbor X.14X.4.1 send-community both
AS-14X-R1(config-router)#neighbor X.14X.4.1 route-map AS-X-OUT out
AS-14X-R1(config-router)#exit
As-14X-R1(config)#ip bgp-community new-format
AS-14X-R1(config)#route-map AS-X-OUT permit 10
AS-14X-R1(config-route-map)#set community no-export
+4" K Communities Padr1o
VAB2"2".

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

390

VAB opcional: veri&icar a di&eren-a enviando a communit,


O?2ADV%RHIS%4
+4" K Communities Padr1o
VAB2"2""

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

39

VAB # :

Gtilizar communities PADRo? e &azer com 6ue o


OOY$BOO dos AS[s ")/ e "$/ c8eguem pelo linN do
AS .. 6uando a origem &or o AS II :internet<4

?s routers do AS ".. dever1o alcan-ar os


D?ROSHR%AJS do grupo pelo linN direto sem ter 6ue
Ddar a voltaD pelo AS II4
+4" K Communities Padr1o
VAB2"2""

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

392
Communities Oumricas
..(

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

393
+4 2 Communities Oumricas

B muito pe6uena a 6uantidade de communities padr1o*


podemos &azer pou6u=ssimas coisas com elas4

Porm 8 uma grande 6uantidade communities numricas


6ue podem ser utilizadas4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

394
+4 2 Communities Oumricas

B importante sa3er 6ue essas communities numricas por


padr1o n1o in&luenciam em nada no tratamento das rotas4

B preciso uma con&igura-1o prvia a-1o para cada


communit,.

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

395

Ham3m n1o 8 nen8um padr1o para essas a-Ees :pelo


menos nen8um padr1o R'C<4

%ntretanto muitos AS[s implementaram padrEes


e/tremamente criativos e &uncionais4
+4 2 Communities Oumricas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

396

? con8ecimento desses padrEes uma &erramenta c8ave


para resolver rapidamente incidentes do dia a dia4

Vamos ver nos pr(/imos slides uma srie de communities


numricas adotadas por algumas operadoras4

Jas antes vamos 8a3ilitar o suporte ao novo &ormato444


+4 2 Communities Oumricas
router#conf t
router(config)#ip bgp-community new-format

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

397
Identi&icando e Hratando
Rotas de Peers %spec=&icos
..+

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

398
+4# 2 Identi&icando e Hratando Rotas de
Peers %spec=&icos

9uando utilizamos o comando:

%stamos su3stituindo todas as communities 6ue 8aviam nesse


pre&i/o4

Juitas vezes* interessante adicionar mais de uma communit,


em Apontos di&erentesA4
%/: Rece3o pre&i/os dos meus downstreams e 6uero inserir uma
communit, "#:"# para controle interno* utilizando o meio
convencional* eu aca3aria su3stituindo uma eventual
communit, 6ue meu cliente utilizou para interagir com um
outro AS e/terno4

? 6ue &azerU
Router(config-route-map)#set community xxx:xxx

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

399

Com o comando AadditiveA 6ual6uer communitT e/istente


preservada:

OBS: Digitar o comando "set community" tem efeito "cumulativo"


exemplo: se digitarmos a seguinte sequncia de comandos:
AS-X-R4(config-route-map)#set community 123:123 additive
router#conf t
router(config)#route-map teste permit 2
router(config-route-map)#set community 123:123
router(config-route-map)#exit
router(config)#route-map teste permit 2
router(config-route-map)#set community 111:222
router(config-route-map)#set community 333:214
router(config-route-map)#end
router#
router#conf t
router(config)#route-map teste permit 2
router(config-route-map)#set community 555:82
+4# 2 Identi&icando e Hratando Rotas de
Peers %spec=&icos

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

400

Hodas as communities digitadas ser1o 8#M#BO?:

Vem3rem 6ue o AadditiveA n1o tem a ver com esse &ato* mas
sim com &azer com 6ue as communities inseridas com
AadditiveA se;am AsomadasA Xs communities 6ue ;
estavam taggeadas no:s< pre&i/o:s<4
router0s" running!#onfig U 1egin route!ma( teste
route-map teste permit 10
set community 111:222 123:123 333:214 555:82
!
...
+4# 2 Identi&icando e Hratando Rotas de
Peers %spec=&icos

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

40

Sem o comando AadditiveA* 6ual6uer communit, e/istente


su3stitu=da4

Sempre utilizem DadditiveD na 8ora de colocar communities


em rotas rece3idas de D?ROSHR%AJS4
+4# 2 Identi&icando e Hratando Rotas de
Peers %spec=&icos

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

402

VAB K Implementando pol=ticas anMncio 3aseadas em


CommunitT2list

Estabelecer uma community (X:20) numrica para identificar que o prefixo foi
recebido de um cliente de trnsito:

Aplicar um "set community X:20 nos filtros de entrada de todos os clientes

Mudar os filtros da saida de UPSTREAMS para filtros baseados apenas em


community
+4# 2 Identi&icando e Hratando Rotas de
Peers %spec=&icos

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

403

Inserindo a communitT /:. para todas


as rotas rece3idas do cliente " em R)
AS-X-R4#conf t
AS-X-R4(config)#router bgp X
AS-X-R4(config-router)#no neighbor X.14X.4.2 prefix-list BLOCOS-AS-14X in
!--- Desconfigura o filtro de entrada baseado em prefix-list
AS-X-R4(config-router)#neighbor X.14X.4.2 route-map AS-14X-N in
!--- Configura um filtro de entrada baseado em route-map
AS-X-R4(config-router)#exit
AS-X-R4(config)#route-map AS-14X-N
AS-X-R4(config-route-map)#match ip address prefix-list BLOCOS-AS-14X
AS-X-R4(config-route-map)#set community X:20
AS-X-R4(config-route-map)#end
AS-X-R4#clear ip bgp *
+4# 2 Identi&icando e Hratando Rotas de
Peers %spec=&icos
VAB2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

404

Inserindo a communitT /:. para todas


as rotas rece3idas do cliente em R$
AS-X-R5#conf t
AS-X-R5(config)#router bgp X
AS-X-R5(config-router)#no neighbor X.15X.5.2 prefix-list BLOCOS-AS-15X in
!--- Desconfigura o filtro de entrada baseado em prefix-list
AS-X-R5(config-router)#neighbor X.15X.5.2 route-map AS-15X-N in
!--- Configura um filtro de entrada baseado em route-map
AS-X-R5(config-router)#exit
AS-X-R5(config)#route-map AS-15X-N
AS-X-R5(config-route-map)#match ip address prefix-list BLOCOS-AS-15X
AS-X-R5(config-route-map)#set community X:20
AS-X-R5(config-route-map)#end
AS-X-R5#clear ip bgp *
+4# 2 Identi&icando e Hratando Rotas de
Peers %spec=&icos
VAB2"2"

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

405

Agora o3servem a con&igura-1o atual dos &iltros de sa=da de R"


AS-X-R5#conf t
AS-X-R5(config)#ip community-list standard CLENTES permit X:20
!--- Cria uma community-list e adiciona a community X:20 nessa lista
AS-X-R5(config)#route-map ANUNCAR-AS-100 permit 15
AS-X-R5(config-route-map)#match community CLENTES
AS-X-R5(config-route-map)#exit
AS-X-R5(config)#no route-map ANUNCAR-AS-100 permit 20
AS-X-R5(config)#no route-map ANUNCAR-AS-100 permit 30
!-- apaga os route-maps antigos que faziam match em prefix-list
AS-X-R5#clear ip bgp *
+4# 2 Identi&icando e Hratando Rotas de
Peers %spec=&icos
VAB2"2"
AS-X-R1#sh running-config | begin ANUNCIAR-AS-100
route-map ANUNCIAR-AS-100 permit 10
match ip address prefix-list MEUS-BLOCOS
!
route-map ANUNCIAR-AS-100 permit 20
match ip address prefix-list BLOCOS-AS-14X
!
route-map ANUNCIAR-AS-100 permit 30
match ip address prefix-list BLOCOS-AS-15X
!

Temos alm do route-map "permit 10 (que


permite anncio dos prefixos "locais) mais dois,
que permitem o anncio de cada um dos
clientes.

Aps a marcao da community em R4 e R5,


possvel fazer um route-map para anunciar
todos os prefixos de clientes de transito que
foram anteriormente marcados com X:20
*Com apenas 2 route-maps anunciarmos todos os clientes, mesmo que fossem dezenas

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

406
Janipulando Hr>nsito
:OacionalPInternacional< com
Communities
..,

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

407

Brasil Helecom
8167:90 Set Local Preference 90
8167:100 Set Local Preference 100
8167:110 Set Local Preference 110
* (default Local Preference 200)
8167:3xy controle de anncios
x: ao { 0 = no anuncia, 1,2,3 = insere x prepends)
y: peerings { 0=demais peerings, 1=internacionais, 2=Embratel,
3=ntelig, 4=Telemar, 5=Telefnica }
(exemplo: 312 = muda para 1 prepend o anncio para a Embratel)
* (default anunciar sem prepends para todos os peerings)
8167:555 => no exporta fora da Brasil Telecom.
8167:557 => no anuncia para sites internacionais.
8167:666 => sero injetados no BlackHole da Brasil Telecom.
8167:777 => somente anuncia para clientes da Brasil Telecom.
+4) K Janipulando Hr>nsito
:OacionalPInternacional< com Communities

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

408

Embratel
4230:120 - Local Preference - marcar a rota como localpreference 120
4230:10000 - Blackhole - bloqueia todo o trfego para a rede/endereco
4230:10002 - Blackhole - filtra o trfego internacional nos provedores
que proveem alguma especie de blackhole.
4230:10004 - Blackhole - filtra nos roteadores da Embratel nos EUA o
trafego destinado a rede/endereco anunciado
+4) K Janipulando Hr>nsito
:OacionalPInternacional< com Communities

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

409

GVT
Aonde, AS, deve ser o seu AS, exemplo: 1234:1
OBS: Quem tem AS de 32 bits no precisa se preocupar. Segundo a
GVT o nmero da esquerda pode ser qualquer coisa, o que importa
o que vem na direita.
+4) K Janipulando Hr>nsito
:OacionalPInternacional< com Communities
Bloqueia anuncio nternacional AS:1
Bloqueia anuncio Nacional AS:2
Bloqueia anuncio Clientes GVT AS:3
Bloqueia anuncio Peering AS:4
Bloqueia anuncio PTT AS:6

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

40

Global Crossing
3549:100 - set local preference 100
3549:200 - set local preference 200
3549:275 - set local preference 275
3549:300 - set local preference 300
3549:350 - set local preference 350
3549:600 - Deny inter-continental export of tagged prefix [iBGP].
3549:666 - Deny inter-as export of tagged prefix (carry on AS 3549 only) [eBGP]
+4) K Janipulando Hr>nsito
:OacionalPInternacional< com Communities

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

4

Gma srie de communities comple/as possi3ilitam o


tratamento do prepend para cada um dos peers da GVBY
#$)I:!444
ASN Peer No Export Prepend+1 Prepend+2 Prepend+3
209 Qwest 8010 8011 8012 8013
701 MC 8030 8031 8032 8033
1239 Sprint 8060 8061 8062 8063
1299 TeliaSonera 8250 8251 8252 8253
1668 AOL 8070 8071 8072 8073
2497 JPNC 8080 8081 8082 8083
2516 KDD 8100 8101 8102 8103
2914 NTT Verio 8120 8121 8122 8123
3257 Tiscali 8240 8241 8242 8243
3300 nfoNet Europe 8130 8131 8132 8133
3303 Swisscom 8140 8141 8142 8143
3320 T-Systems/DTAG 8150 8151 8152 8153
3356 Level 3 8160 8161 8162 8163
3561 Savvis 8170 8171 8172 8173
4134 ChinaNet 8230 8231 8232 8233
5511 OpenTransit 8190 8191 8192 8193
6461 AboveNet 8200 8201 8202 8203
6453 Teleglobe 8210 8211 8212 8213
7018 AT&T (US) 8220 8221 8222 8223
7738 Telemar 8290 8291 8292 8293
+4) K Janipulando Hr>nsito
:OacionalPInternacional< com Communities

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

42

Gm cliente com o AS )""" envia um pre&i/o com a


communit, A#$)I:!."" #$)I:!.## #$)I:!"I.A4

? pre&i/o com essa marca ser anunciado da seguinte &orma


para os peers GVBY:

Qwest (AS 209) receber o prefixo com o AS PATH: "3549 3549 4111"

MC (AS 701) receber o prefixo com o AS PATH: "3549 3549 3549 3549 4111"

OpenTransit (AS 5511) no receber o prefixo

todos os outros recebero o prefixo normalmente: "3549 4111"


+4) K Janipulando Hr>nsito
:OacionalPInternacional< com Communities

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

43

ntelig
17379:23004 - Community NO-EXPORT-NTERNACONAL - No anuncia para peers
nternacionais.
17379:23005 - Community NO-EXPORT-NACONAL - No anuncia para peers
Nacionais.
No-export ? A rota no ser anunciada para nenhum peer eBGP da ntelig.
17379:60 = set local-preference 60
17379:70 = set local-preference 70
17379:80 = set local-preference 80
17379:90 = set local-preference 90
Todo anuncio feito, sem a aplicao de communities tem por default o
valor 100 de local Preference.
+4) K Janipulando Hr>nsito
:OacionalPInternacional< com Communities

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

44
%ngen8aria de Hr&ego III
..-

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

45

VAB 2"2"#: Considerando as pol=ticas de communit, para o


AS ..:
200:70 = set local-preference 70
200:80 = set local-preference 80
200:90 = set local-preference 90
200:110 = set local-preference 110

A partir dos AS[s clientes* utilizar as communities ..:///


para alterar o local preerence dentro do AS ..* em
seguida o3servar 6ue 6uando o mesmo &or-ado a mudar
o local preerence para menos de "..* automaticamente
come-a a Ddar a voltaD pelo AS II* pois aca3a escol8endo
rotas do AS II :local preerence ".. padr1o<4
+4$ 2 %ngen8aria de Hr&ego III
VAB2"2"#

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

46

Solu-1o:
AS-14X-R1#conf t
AS-14X-R1(config)#route-map AS-X-OUT permit 10
AS-14X-R1(config-route-map)#set community none
!--- remove o "set community" do lab anterior
AS-14X-R1(config-route-map)#set community 200:90
AS-14X-R1(config-route-map)#end
AS-14X-R1#clear ip bgp * soft
AS-15X-R1#conf t
AS-15X-R1(config)#route-map AS-X-OUT permit 10
AS-15X-R1(config-route-map)#set community none
AS-15X-R1(config-route-map)#set community 200:70
!--- remove o "set community" do lab anterior
AS-15X-R1(config-route-map)#end
AS-15X-R1#clear ip bgp * soft
+4$ 2 %ngen8aria de Hr&ego III
VAB2"2"#

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

47

VAB 2"2"): De acordo com as pol=ticas do AS ".. a3ai/o*


utilize as communities apropriadas :"..:////< para &azer
todas as a-Ees:

'azer com 6ue o grupo I alcance o AS ")/ pelo AS ..L

'azer com 6ue o grupo " alcance o AS "$/ pelo AS ..L

'azer com 6ue o AS II alcance os dois :")/ e "$/< pelo AS


..L
ASN Peer Nao Anuncia Prepend +1 Prepend +2 Prepend +3
1 Grupo1 1010 1011 1012 1013
2 Grupo2 1020 1021 1022 1023
3 Grupo3 1030 1031 1032 1033
4 Grupo4 1040 1041 1042 1043
5 Grupo5 1050 1051 1052 1053
6 Grupo6 1060 1061 1062 1063
7 Grupo7 1070 1071 1072 1073
8 Grupo8 1080 1081 1082 1083
9 Grupo9 1090 1091 1092 1093
99 nternacional 9910 9911 9912 9913
+4$ 2 %ngen8aria de Hr&ego III
VAB2"2")

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

48

Solu-1o Va3 :
!--- apagando o route map do lab anterior
AS-14X-R1(config)#no route-map AS-X-OUT
AS-14X-R1#conf t
AS-14X-R1(config)#route-map AS-X-OUT permit 10
AS-14X-R1(config-route-map)#set community 100:1090 100:9912
AS-14X-R1(config-route-map)#end
AS-14X-R1#clear ip bgp * soft
!--- apagando o RM do lab anterior
AS-15X-R1(config)#no route-map AS-X-OUT
AS-15X-R1#conf t
AS-15X-R1(config)#route-map AS-X-OUT permit 10
AS-15X-R1(config-route-map)#set community 100:1010 100:9912
AS-15X-R1(config-route-map)#end
AS-15X-R1#clear ip bgp * soft
+4$ 2 %ngen8aria de Hr&ego III
VAB2"2"#

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

49

?AB %!!E*
Grupos de ?$ par;
Gtilizar as communities da ta3ela para &azer o AS ".. anunciar
os pre&i/os dos dois clientes com prepend # para os ASO[s
=mpares e prepend para o AS II e anunciar normalmente
para todo o resto4
Grupos de ?$ Ampar;
Gtilizar as communities da ta3ela para &azer o AS ".. anunciar
os pre&i/os dos dois clientes com prepend # para os ASO[s
pares e prepend para o AS II e anunciar normalmente
para todo o resto4
+4$ 2 %ngen8aria de Hr&ego III
VAB2"2"$

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

420

Solu-1o Va3 2"2"$: :AS ]mpar<


!--- apagando o RM do lab anterior
AS-14X-R1(config)#no route-map AS-X-OUT
AS-14X-R1#conf t
AS-14X-R1(config)#route-map AS-X-OUT permit 10
AS-14X-R1(config-route-map)#set community 100:9912 100:1023 100:1043 100:1063
100:1083
AS-14X-R1(config-route-map)#end
AS-14X-R1#clear ip bgp * soft
!--- apagando o RM do lab anterior
AS-15X-R1(config)#no route-map AS-X-OUT
AS-15X-R1#conf t
AS-15X-R1(config)#route-map AS-X-OUT permit 10
AS-15X-R1(config-route-map)#set community 100:9912 100:1023 100:1043 100:1063
100:1083
AS-15X-R1(config-route-map)#end
AS-15X-R1#clear ip bgp * soft
+4$ 2 %ngen8aria de Hr&ego III
VAB2"2"$

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

42

Solu-1o Va3 2"2"$: :AS Par<


!--- apagando o RM do lab anterior
AS-14X-R1(config)#no route-map AS-X-OUT
AS-14X-R1#conf t
AS-14X-R1(config)#route-map AS-X-OUT permit 10
AS-14X-R1(config-route-map)#set community 100:9912 100:1013 100:1033 100:1053
100:1073 100:1093
AS-14X-R1(config-route-map)#end
AS-14X-R1#clear ip bgp * soft
!--- apagando o RM do lab anterior
AS-15X-R1(config)#no route-map AS-X-OUT
AS-15X-R1#conf t
AS-15X-R1(config)#route-map AS-X-OUT permit 10
AS-15X-R1(config-route-map)#set community 100:9912 100:1013 100:1033 100:1053
100:1073 100:1093
AS-15X-R1(config-route-map)#end
AS-15X-R1#clear ip bgp * soft
+4$ 2 %ngen8aria de Hr&ego III
VAB2"2"$

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

422
P%RGGOHASU
P%RGGOHASU
..-

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

423
H.0
'iltros Avan-ados
para Gm AS de Hr>nsito
? tra3al8o Curso de BGP Design com Roteadores Cisco de Rinaldo Vaz &oi licenciado com
uma Vicen-a Creative Commons 2 Atri3ui-1o #4. O1o Adaptada4
Podem estar dispon=veis autoriza-Ees adicionais ao >m3ito desta licen-a em
rinaldopvazdgmail4com4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

424
H.0
'iltros Avan-ados
para Gm AS de
Hr>nsito
,4 'iltros avan-ados para um AS de tr>nsito
5 ,4" Janipulando rotas de mMltiplos PHHs
5 ,4 D?ROSHR%AJS com multi8oming
5 ,4# AS de tr>nsito no PHH K parte I
5 ,4) Con&igurando um trasporte Vanlan com /connectPVHP
5 ,4$ AS de tr>nsito no PHH K parte II

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

425
H.1
Janipulando Rotas com
JMltiplos PHHs

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

426
,4" K Janipulando Rotas com JMltiplos Ptts

%m alguns casos clientes de tr>nsito solicitam o rece3imento


apenas de rotas do PHH2SP* por e/emplo4

Como &iltrar e enviar um anMncio assimU



v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

427
,4" K Janipulando Rotas com JMltiplos Ptts

Gma maneira simples marcar uma communit, espec=&ica para


rotas rece3idas:

%sse comando adiciona a communit, (=1+-;1111 e preserva


todas 6ue e/istirem4
router-SP#conf t
router-SP(config)#route-map PTT-SAOPAULO-N permit 1
router-SP(config-route-map)#set community %8&E* additi3e
...

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

428

Se meu AS participa de mais de um PHH posso &iltrar rotas


de am3os e e/portar para o meu cliente:

Dado o cenrio* vamos ver 6uais seriam os &iltros 6ue


enviariam para o cliente apenas rotas rece3idas do
PHH2Campina Grande e PHH2S1o Paulo:
router-CampinaGrande#conf t
router-CampinaGrande(config)#route-map PTT-CAMPNAGRANDE-N permit 1
router-CampinaGrande(config-route-map)#set community %8&E*%%%% additive
Router(config)#ip community-list D2 permit %8&E*
Router(config)#ip community-list D2 permit %8&E*%%%%
!
router(config)#route-map CLENTE-OUT permit 10
router(config-route-map)#match community D2
,4" K Janipulando Rotas com JMltiplos Ptts

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

429
DoSnstreams com
DoSnstreams com
Julti8oming
Julti8oming
H.(

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

430
,4 K DoSntreams com Julti8oming

?s &iltros 3aseados apenas em pre&i/os nos trazem um


pro3lema:

Como AS de tr>nsito* geralmente temos vrios peers* e caso


um dos nossos clientes tam3m ten8a outros peers* um
&iltro 3aseado unicamente em pre&i/os pode aca3ar
&azendo o meu AS e/portar pre&i/os errados4

Por e/emplo* sou o AS "..* meu cliente o AS .* 6ue por


sua vez compra tr>nsito com o AS ..4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

43

Caso o AS . anunciasse um 3loco espec=&ico para cada AS


:".. e ..<* essa seria min8a 'IB:

Perce3am 6ue por ser vlido na 'IB* o pre&i/o .4.4!4.P"


seria e/portado para todos os peers e/ternos :menos
para o AS .. de onde AaprendemosA< come-ando pelo
AS "..4
router# sh ip bgp 20.0.0.0/20 longer-prefixes
...
Network Next Hop Metric LocPrf Weight Path
*>i20.0.8.0/21 200.100.1.1 0 200 20 i
*>i20.0.0.0/21 100.20.1.2 300 10 20 i
*>i20.0.0.0/20 100.20.1.2 300 10 20 i
* 200.100.1.1 0 200 20 i
...
,4 K DoSntreams com Julti8oming

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

432

Precisamos adicionar mais uma condi-1o de match alm do


prei. list com e/pressEes regulares4

%sse o route-map padr1o 6ue ; con8ecemos:


router(config)#ip prefix-list B?OCOS!AS!%2!AC?&& permit 20.0.0.0/8 le 24
router(config)#route-map AN;NCIAR!AS!XXX permit 2
router(config-route-map)#match ip address prefix-list B?OCOS!AS!%2!AC?&&
!--- Adicionamos a seguinte acl:
router(config)#ip as-path access-list && permit ^20(_20)*$
!--- apenas se a rota tiver sido ORIGINADA pelo AS 20
!--- voltamos no mesmo route-map
router(config)#route-map AN;NCIAR!AS!XXX permit 2
!--- e adicionamos a condio
router(config-route-map)#match as-path &&
,4 K DoSntreams com Julti8oming

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

433

A nomenclatura da prei.-list com &inal :ACV2##< para &acilitar*


pois
indica o nMmero da ACV de as-path correspondente ao cliente4

Oos routers Cisco n1o 8 possi3ilidade de nomear uma ACV de


as-path* podemos apenas utilizar apenas um nMmero4

Para 6uem usa ^ua))a poss=vel atri3uir um nome para a ACV


de as-path e communit, lists o 6ue dei/a tudo ainda mais &cil:
router-quagga(config)#ip prefix-list B?OCOS!AS!%2 permit 20.0.0.0/8 le 24
router-quagga(config)#ip as-path access-list PA9A!AS!%2 permit ^(20|(20_{0,1}){1,8})$
!--- Essa expresso limita em no mximo 8 ocorrncias
...OU...
router-quagga(config)#ip as-path access-list PA9A!AS!%2 permit ^20(_20)*$
!--- Essa expresso no limita a quantidade de prepends
router-quagga(config)#route-map AN;NCIAR!AS!XXX permit 2
router-quagga(config-route-map)#match ip address prefix-list B?OCOS!AS!%2
router-quagga(config-route-map)#match as-path PA9A!AS!%2
,4 K DoSntreams com Julti8oming

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

434
H.+
AS de Hr>nsito no PHH
parte I

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

435
,4# 2 AS de Hr>nsito no PHH K parte I

Vamos iniciar esta3elecendo as sessEes BGP de R" com o


PHH2RS" e PHH2VG* em seguida repetir o processo nos
D?ROSHR%AJS AS2")/2R" e AS2"$/2R"4

AS-X-R1
AS-X-R1#conf t
AS-X-R1(config)#router bgp X
!--- como os 2 neighbors tero as mesmas configuraes, criaremos um peer-group
AS-X-R1(config-router)#no bgp enforce-first-as
AS-X-R1(config-router)#neighbor PTT peer-group
AS-X-R1(config-router)#neighbor PTT remote-as 555
AS-X-R1(config-router)#neighbor PTT soft-reconfiguration inbound
AS-X-R1(config-router)#neighbor PTT route-map PTT-N in
AS-X-R1(config-router)#neighbor PTT route-map PTT-OUT out
AS-X-R1(config-router)#neighbor PTT send-community both
!--- no precisamos repetir as configuraes e apena declarar o peer-group para os dois neighbors
AS-X-R1(config-router)#neighbor 187.16.216.253 peer-group PTT
AS-X-R1(config-router)#neighbor 187.16.216.253 description PTT RS 1
!--- ptt-rs1
AS-X-R1(config-router)#neighbor 187.16.216.254 peer-group PTT
AS-X-R1(config-router)#neighbor 187.16.216.254 description PTT RS 2
!--- ptt-rs2
AS-X-R1(config-router)#neighbor 187.16.216.252 remote-as 555
AS-X-R1(config-router)#neighbor 187.16.216.252 description LG do PTT
!--- o Looking Glass do PTT no far parte do peer-group pois no defver receber nenhum filtro in-out
!--- continua no prximo slide...
BB ('+'1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

436

444BGP com PHH444

AS-X-R1
!--- continuando...
!--- vamos declarar em networks os prefixos mais especficos
AS-X-R1(config-router)#network X.0.0.0 mask 255.128.0.0
AS-X-R1(config-router)#network X.128.0.0 mask 255.128.0.0
AS-X-R1(config-router)#exit
AS-X-R1(config)#ip route X.0.0.0 255.128.0.0 null 0
AS-X-R1(config)#ip route X.128.0.0 255.128.0.0 null 0
!--- depois garantimos os dois blocos especficos (/9) na FIB
AS-X-R1(config)#end
AS-X-R1#clear ip bgp peer-group PTT out
!--- OBS: h um pequeno BUG no laboratrio, onde o IP do PTT
!---j est levantado na interface errada f')(, para isso entre na interface e
remova o IP
AS-X-R1(config)#interface fastEt"ernet 2+
AS-X-R1(config-if)#no ip address
AS-X-R1(config-if)#exit
!--- Em seguida levante o IP de participante na interface correta
AS-X-R1(config)#interface fastEt"ernet 2+2
AS-X-R1(config-if)#ip address 187.16.216.X 255.255.255.0
AS-X-R1(config-if)#no shutdown
,4# 2 AS de Hr>nsito no PHH K parte I
BB ('+'1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

437

Con&igurando as pol=ticas de route-map

AS-X-R1
!--- ATENO TODAS AS PREFIX-LIST ABAIXO J FORAM CRIADAS NOS LABS ANTERIORES
!--- ESTO AQUI APENAS PARA LEMBRAR O SEU CONTEDO
!--- AS-X-R1(config)#ip prefix-list MEUS-BLOCOS permit X.0.0.0/8
!--- AS-X-R1(config)#ip prefix-list BLOCOS-AS-14X permit 14X.0.0.0/8
!--- AS-X-R1(config)#ip prefix-list BLOCOS-AS-15X permit 15X.0.0.0/8
!--- CASO ESTAS NO ESTEJAM PRESENTES CONFIGUREM NOVAMENTE
!--- apenas os filtros baseados em ASPATH ainda no foram criados
AS-X-R1(config)#ip as-path access-list (' permit ^$
AS-X-R1(config)#ip as-path access-list 2' permit ^14X(_14X)*$
AS-X-R1(config)#ip as-path access-list *' permit ^15X(_15X)*$
!--- em seguida o primeiro o route-map que trata os filtros de input para redes recebidas do PTT
AS-X-R1(config)#route-map PTT-N permit 10
AS-X-R1(config-route-map)#set local-preference 110
!--- o local preference 110 far com que todas os routers do AS prefiram as rotas recebidas pelo PTT
!--- em seguida vamos aos route-maps responsveis pelo output (anncios) para o PTT
(continua...)
,4# 2 AS de Hr>nsito no PHH K parte I
BB ('+'1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

438

Con&igurando as pol=ticas de route-map para o PHH

AS-X-R1
(...continuao)
AS-X-R1(config)#route-map PTT-OUT permit 10
AS-X-R1(config-route-map)#match ip address prefix-list MEUS-BLOCOS
AS-X-R1(config-route-map)#match as-path ('
!--- libera os blocos do AS local X
AS-X-R1(config-route-map)#exit
AS-X-R1(config)#route-map PTT-OUT permit 20
AS-X-R1(config-route-map)#match ip address prefix-list BLOCOS-AS-14X
AS-X-R1(config-route-map)#match as-path 2'
!--- libera os blocos do DOWNSTREAM 1
AS-X-R1(config-route-map)#exit
AS-X-R1(config)#route-map PTT-OUT permit 30
AS-X-R1(config-route-map)#match ip address prefix-list BLOCOS-AS-15X
AS-X-R1(config-route-map)#match as-path *'
!--- libera os blocos do DOWNSTREAM 2
(continua...)
,4# 2 AS de Hr>nsito no PHH K parte I
BB ('+'1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

439

Con&igurando as pol=ticas de route-map para o AS "..

AS-X-R1
(...continuao)
AS-X-R1(config)#route-map ANUNCAR-AS-100 permit 10
AS-X-R1(config-route-map)#match ip address prefix-list MEUS-BLOCOS
AS!X!R(#onfig!route!ma()0mat#" as!(at" 2
!--- libera os blocos do AS local X
AS-X-R1(config-route-map)#exit
AS-X-R1(config)#route-map ANUNCAR-AS-100 permit 20
AS-X-R1(config-route-map)#match ip address prefix-list BLOCOS-AS-14X
AS!X!R(#onfig!route!ma()0mat#" as!(at" %2
!--- libera os blocos do DOWNSTREAM 1
AS-X-R1(config-route-map)#exit
AS-X-R1(config)#route-map ANUNCAR-AS-100 permit 30
AS-X-R1(config-route-map)#match ip address prefix-list BLOCOS-AS-15X
#S-X-R((config-route-map)%match as-path *'
!--- libera os blocos do DOWNSTREAM 2
AS-X-R1(config-route-map)#end
AS-X-R1#clear ip bgp * soft
,4# 2 AS de Hr>nsito no PHH K parte I
BB ('+'1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

440

Con&igurando as pol=ticas de route-map para o AS ..


:n1o es6uecer 6ue agora vamos para R<

AS-X-R2
!--- apenas os filtros baseados em ASPATH ainda no foram criados
AS-X-R2(config)#ip as-path access-list 2 permit ^$
AS-X-R2(config)#ip as-path access-list %2 permit ^14X(_14X)*$
AS-X-R2(config)#ip as-path access-list &2 permit ^15X(_15X)*$
AS-X-R2(config)#route-map ANUNCAR-AS-200 permit 10
AS-X-R2(config-route-map)#match ip address prefix-list MEUS-BLOCOS
AS-X-R2(config-route-map)#match as-path 2
!--- libera os blocos do AS local X
AS-X-R2(config-route-map)#exit
AS-X-R2(config)#route-map ANUNCAR-AS-200 permit 20
AS-X-R2(config-route-map)#match ip address prefix-list BLOCOS-AS-14X
AS-X-R2(config-route-map)#match as-path %2
!--- libera os blocos do DOWNSTREAM 1
AS-X-R2(config-route-map)#exit
AS-X-R2(config)#route-map ANUNCAR-AS-200 permit 30
AS-X-R2(config-route-map)#match ip address prefix-list BLOCOS-AS-15X
AS-X-R2(config-route-map)#match as-path &2
!--- libera os blocos do DOWNSTREAM 2
AS-X-R2(config-route-map)#end
AS-X-R2#clear ip bgp * soft
,4# 2 AS de Hr>nsito no PHH K parte I
BB ('+'1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

44

Hodos esses route-maps podem dei/ar a con&igura-1o um


pouco maior* porm vai permitir 6ue os Ddonos dos AS[sD
se;am &acilmente identi&icados no Ds8oS runD alm de
tornar muito &cil de escalar4

Imagine um dos clientes de tr>nsito AS ")/ passar a prover


tr>nsito IP para outro AS:
ASN 88 CI<R 88.2.2.2+8

Com apenas comandos o AS !! est li3erado nos &iltros de


Sa=da:
AS-X-R1(config)#ip prefix-list BLOCOS-AS-14X permit 88.0.0.0/8
AS-X-R1(config)#ip as-path access-list 20 permit ^(14X ?)+( 88)+$
AS-X-R10s"ow running!#onfig U 1egin B?OCOS!AS!7X
ip prefix-list BLOCOS-AS-11x seq 5 permit 14X.0.0.0/8
ip prefix-list BLOCOS-AS-11x seq 10 permit 88.0.0.0/8
!
,4# 2 AS de Hr>nsito no PHH K parte I

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

442

PS: nos VABs anteriores ; con&iguramos as mesmas


pol=ticas para o output do AS "..* vamos apenas con&erir:

Como podemos ver na saida do comando* as pol=ticas de


output com o AS ".. ; est1o con&iguradas4

? mesmo resultado deve aparecer em R


AS-X-R1#s"ow running!#onfig U 1egin AN;NCIAR!AS!22
route-map ANUNCIAR-AS-100 permit 10
match ip address prefix-list MEUS-BLOCOS
match as-path 10
!
route-map ANUNCIAR-AS-100 permit 20
match ip address prefix-list BLOCOS-AS-14X
match as-path 20
!
route-map ANUNCIAR-AS-100 permit 30
match ip address prefix-list BLOCOS-AS-15X
match as-path 30
!
,4# 2 AS de Hr>nsito no PHH K parte I
BB ('+'1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

443

A con&igura-1o nos D?ROSHR%AJS muito mais simples:

AS-14X-R1
AS-14X-R1#conf t
AS-14X-R1(config)#ip as-path access-list 1 permit ^$
AS-14X-R1(config)#ip route 14X.128.0.0 255.128.0.0 null 0
AS-14X-R1(config)#ip route 14X.0.0.0 255.128.0.0 null 0
AS-14X-R1(config)#router bgp 14X
AS-14X-R1(config-router)#no bgp enforce-first-as
AS-14X-R1(config-router)#network 14X.0.0.0 mask 255.128.0.0
AS-14X-R1(config-router)#network 14X.128.0.0 mask 255.128.0.0
AS-14X-R1(config-router)#neighbor P99 peer-group
AS-14X-R1(config-router)#neighbor P99 remote-as 555
AS-14X-R1(config-router)#neighbor P99 soft-reconfiguration inbound
AS-14X-R1(config-router)#neighbor P99 filter-list 1 out
AS-14X-R1(config-router)#neighbor P99 weight 50
AS-14X-R1(config-router)#neighbor P99 send-community both
AS-14X-R1(config-router)#neighbor 187.16.216.253 peer-group P99
AS-14X-R1(config-router)#neighbor 187.16.216.253 description PTT RS 1
AS-14X-R1(config-router)#neighbor 187.16.216.254 peer-group P99
AS-14X-R1(config-router)#neighbor 187.16.216.254 description PTT RS 2
AS-14X-R1(config-router)#neighbor 187.16.216.252 remote-as 555
AS-14X-R1(config-router)#neighbor 187.16.216.252 description LG do PTT
AS-14X-R1(config-router)#end
!--- NOTA preciso levantar o IP de participante na interface
!--- conectada ao PTT, que nesse caso a f0/0 que esta conectada
!--- na porta LAN2LAN de AS-1-R4
AS-14X-R1(config)#interface fastEthernet 0/0
AS-14X-R1(config-if)#ip address 187.16.216.14X 255.255.255.0
AS-14X-R1(config-if)#no shutdown
,4# 2 AS de Hr>nsito no PHH K parte I
BB ('+'1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

444

Seguimos a mesma l(gica para o segundo D?ROSHR%AJ

AS-15X-R1
AS-15X-R1#conf t
AS-15X-R1(config)#ip as-path access-list 1 permit ^$
AS-15X-R1(config)#ip route 15X.128.0.0 255.128.0.0 null 0
AS-15X-R1(config)#ip route 15X.0.0.0 255.128.0.0 null 0
AS-15X-R1(config)#router bgp 15X
AS-15X-R1(config-router)#no bgp enforce-first-as
AS-15X-R1(config-router)#network 15X.0.0.0 mask 255.128.0.0
AS-15X-R1(config-router)#network 15X.128.0.0 mask 255.128.0.0
AS-15X-R1(config-router)#neighbor P99 peer-group
AS-15X-R1(config-router)#neighbor P99 remote-as 555
AS-15X-R1(config-router)#neighbor P99 soft-reconfiguration inbound
AS-15X-R1(config-router)#neighbor P99 filter-list 1 out
AS-15X-R1(config-router)#neighbor P99 weight 50
AS-15X-R1(config-router)#neighbor P99 send-community both
AS-15X-R1(config-router)#neighbor 187.16.216.253 peer-group P99
AS-15X-R1(config-router)#neighbor 187.16.216.253 description PTT RS 1
AS-15X-R1(config-router)#neighbor 187.16.216.254 peer-group P99
AS-15X-R1(config-router)#neighbor 187.16.216.254 description PTT RS 2
AS-15X-R1(config-router)#neighbor 187.16.216.252 remote-as 555
AS-15X-R1(config-router)#neighbor 187.16.216.252 description LG do PTT
AS-15X-R1(config-router)#end
!--- NOTA preciso levantar o IP de participante na interface
!--- conectada ao PTT, que nesse caso a f0/0 que esta conectada
!--- diretamente ao PTT
AS-15X-R1(config)#interface fastEthernet 0/0
AS-15X-R1(config-if)#ip address 187.16.216.15X 255.255.255.0
AS-15X-R1(config-if)#no shutdown
,4# 2 AS de Hr>nsito no PHH K parte I
BB ('+'1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

445

As sessEes BGP do D?ROSHR%JS ")Y com o PHH n1o


esta3eleceuW

? 6ue &altouU

?s testes de ping com o Route2Server tem respostaU


,4# 2 AS de Hr>nsito no PHH K parte I

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

446
Con&igurando um Hransporte
VanVan com /connectPVHP
H.,

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

447
,4) K Con&igurando um Hransporte
VanVan com /connectPVHP
AS-X-R4(config)#l2tp-class trans(orte!.%
AS-X-R4(config-l2tp-class)#cookie size 4
AS-X-R4(config-l2tp-class)#exit
!--- Declaramos uma class e demos o nome de "transporte-l2"
AS-X-R4(config)#pseudowire-class trans(orte!.%
AS-X-R4(config-pw-class)#encapsulation l2tpv3
AS-X-R4 (config-pw-class)#protocol none
AS-X-R4 (config-pw-class)#ip local interface Loopback0
!--- Na configurao da class escolhemos o tipo de tunelamento que em nosso caso ser l2tp verso 3.
AS-X-R4 (config-pw-class)#exit
AS-X-R4(config)#interface f0/0
AS-X-R4(config)#no shut
AS-X-R4(config-if)#xconnect X.0.0.1 14X encapsulation l2tpv3 manual pw-class trans(orte!.%
AS-X-R4(config-if-xconn)#l2tp id 1 1
AS-X-R4(config-if-xconn)#l2tp cookie local 4 1
AS-X-R4(config-if-xconn)# l2tp cookie remote 4 1
BB (','1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

448
,4) K Con&igurando um Hransporte
VanVan com /connectPVHP
AS-X-R1(config)#l2tp-class trans(orte!.%
AS-X-R1(config-l2tp-class)#cookie size 4
AS-X-R1(config-l2tp-class)#exit
!--- Declaramos uma class e demos o nome de "transporte-l2"
AS-X-R1(config)#pseudowire-class trans(orte!.%
AS-X-R1(config-pw-class)#encapsulation l2tpv3
AS-X-R1 (config-pw-class)#protocol none
AS-X-R1 (config-pw-class)#ip local interface Loopback0
!--- Na configurao da class escolhemos o tipo de tunelamento que em nosso caso ser l2tp verso 3.
AS-X-R1 (config-pw-class)#exit
AS-X-R1(config)#interface f2/0
AS-X-R1(config)#no shut
AS-X-R1(config-if)#xconnect X.0.0.4 14X encapsulation l2tpv3 manual pw-class trans(orte!.%
AS-X-R1(config-if-xconn)#l2tp id 1 1
AS-X-R1(config-if-xconn)#l2tp cookie local 4 1
AS-X-R1(config-if-xconn)# l2tp cookie remote 4 1
BB (','1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

449
,4) K Con&igurando um Hransporte
VanVan com /connectPVHP
AS-X-R1#sh l2tun
%No active L2F tunnels
L2TP Tunnel and Session nformation Total tunnels 0 sessions 1
LocD RemD TunD Username, ntf/ State Last Chg Uniq D
Vcid, Circuit
1 1 0 14X, Fa2/0 est 00:00:24 1
AS-X-R4#sh l2tun
%No active L2F tunnels
L2TP Tunnel and Session nformation Total tunnels 0 sessions 1
LocD RemD TunD Username, ntf/ State Last Chg Uniq D
Vcid, Circuit
1 1 0 14X, Fa0/0 est 00:00:43 1
BB (','1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

450

Vamos entrar no AS2"..2R" :"..4"..4"..4"< e &azer um


traceroute para os D?ROSHR%AJS do grupo4

Ootem 6ue ao entrar no AS do GRGP?* os pacotes s1o


encamin8ados para o PHH* e n1o c8egam ao
D?ROSHR%AJ pelo linN de tr>nsito4

Jesmo com um local preerence maior* os pre&i/os 6ue os


AS[s ")/ e AS "$/ anunciam para PHH s1o mais
espec=&icos do 6ue os 6ue anunciam para o tr>nsito* isso
o3riga o router R" a mandar os pacotes pelo PHH
:doSnload dos D?ROSHR%AJS<4
,4$ 2 AS de Hr>nsito no PHH K parte II

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

45

Isso um pro3lema srioW

? cliente pode tirar proveito disso e causar pre;u=zos


DdesviandoD tr>nsito IP* o3rigando AS local a DtrocarD o
tr>nsito IP por DnadaD4

Gma troca de tr&ego onde apenas um tem vantagem444


,4$ 2 AS de Hr>nsito no PHH K parte II

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

452

Inserimos o AS de cada cliente de tr>nsito nessa lista4

Vale lem3rar 6ue em certos casos* os &iltros precisariam ser


mais espec=&icos* &azendo um route2map de denT para
cada cliente* com3inando uma pre&i/2list a as2pat8
access2list
AS-X-R1#conf t
AS-X-R1(config)#ip as-path access-list 55 permit _14X_
AS-X-R1(config)#ip as-path access-list 55 permit _15X_
AS-X-R1(config)#route-map PTT-N deny 5
AS-X-R1(config-route-map)#match as-path EE

Para resolver isso* precisamos utilizar uma e/press1o


regular proi3indo R" de rece3er 6ual6uer anMncio de
participantes 6ue tam3m se;am clientes de tr>nsito do
AS:
,4$ 2 AS de Hr>nsito no PHH K parte II
BB (','(

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

453

Vamos e&etuar novamente o traceroute partindo de


AS2"".2R"444
,4$ 2 AS de Hr>nsito no PHH K parte II

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

454
P%RGGOHASU
P%RGGOHASU
H.-

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

455
=.0
Jultiprotocol Va3el SSitc8ing
:JPVS<
? tra3al8o Curso de BGP Design com Roteadores Cisco de Rinaldo Vaz &oi licenciado com
uma Vicen-a Creative Commons 2 Atri3ui-1o #4. O1o Adaptada4
Podem estar dispon=veis autoriza-Ees adicionais ao >m3ito desta licen-a em
rinaldopvazdgmail4com4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

456
=.0
Jultiprotocol Va3el
SSitc8ing :JPVS<
!4 Jultiprotocol Va3el SSitc8ing
5 !4" BGP atravs da nuvem JPVS
5 !4 AtoJ 2 AnT Hransport ?ver JPVS
5 !4# Implementando servi-o VPO2V# :VPO2Jultiponto<

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

457
BGP Atravs da Ouvem JPVS
BGP Atravs da Ouvem JPVS
:BGP Jultiprotocol<
:BGP Jultiprotocol<
=.1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

458
!4" K BGP atravs da nuvem JPVS
AS-X-R3(config)#no router bgp X
AS-X-R3(config)#interface serial 1/0
AS-X-R3(config-if)#mpls label protocol both
AS-X-R3(config-if)#mpls ip
AS-X-R3(config-if)#mpls mtu 1508
AS-X-R3(config-if)#
*Mar 1 00:13:29.699: %TFB-3-MPLS_MTU_SET: Setting mpls mtu to 1508 on
Serial1/0 which is higher than the interface mtu 1500 . This could lead to packet
forwarding problems including packet drops.exit
AS-X-R3(config-if)#exit
!--- Configurando LDP com R1
AS-X-R3(config)#interface serial 1/1
AS-X-R3(config-if)#mpls label protocol both
AS-X-R3(config-if)#mpls ip
AS-X-R3(config-if)#mpls mtu 1508
AS-X-R3(config-if)#
*Mar 1 00:15:09.647: %TFB-3-MPLS_MTU_SET: Setting mpls mtu to 1508 on
Serial1/1 which is higher than the interface mtu 1500 . This could lead to packet
forwarding problems including packet drops.
AS-X-R3(config-if)#exit
!--- Configurando LDP com R2
(...)
BB ('-'1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

459
!4" K BGP atravs da nuvem JPVS
(...)
AS-X-R3(config)#interface serial 1/2
AS-X-R3(config-if)#mpls label protocol both
AS-X-R3(config-if)#mpls ip
AS-X-R3(config-if)#mpls mtu 1508
AS-X-R3(config-if)#
*Mar 1 00:16:28.235: %TFB-3-MPLS_MTU_SET: Setting mpls mtu to 1508 on
Serial1/2 which is higher than the interface mtu 1500 . This could lead to packet
forwarding problems including packet drops.
AS-X-R3(config-if)#exit
!--- Configurando LDP com R3
AS-X-R3(config)#interface serial 1/3
AS-X-R3(config-if)#mpls label protocol both
AS-X-R3(config-if)#mpls ip
AS-X-R3(config-if)#mpls mtu 1508
AS-X-R3(config-if)#
*Mar 1 00:17:09.295: %TFB-3-MPLS_MTU_SET: Setting mpls mtu to 1508 on
Serial1/3 which is higher than the interface mtu 1500 . This could lead to packet
forwarding problems including packet drops.
AS-X-R3(config-if)#exit
!--- Configurando LDP com R4
BB ('-'1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

460
!4" K BGP atravs da nuvem JPVS
AS-X-R1(config)#interface serial 1/1
AS-X-R1(config-if)#mpls ip
AS-X-R1(config-if)#
*Mar 1 00:18:23.703: %LDP-5-NBRCHG: LDP Neighbor X.0.0.3:0 (1) is UP
AS-X-R1(config-if)#mpls mtu 1508
AS-X-R1(config-if)#
*Mar 1 00:18:29.391: %TFB-3-MPLS_MTU_SET: Setting mpls mtu to 1508 on
Serial1/1 which is higher than the interface mtu 1500 . This could lead to packet
forwarding problems including packet drops.
AS-X-R1(config-if)#exit
!--- Configurando LDP com R3
BB ('-'1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

46
!4" K BGP atravs da nuvem JPVS
AS-X-R2(config)#interface serial 1/1
AS-X-R2(config-if)#mpls ip
AS-X-R2(config-if)#
*Mar 1 00:21:55.943: %LDP-5-NBRCHG: LDP Neighbor X.0.0.3:0 (1) is UP
AS-X-R2(config-if)#mpls mtu 1508
AS-X-R2(config-if)#
*Mar 1 00:22:08.259: %TFB-3-MPLS_MTU_SET: Setting mpls mtu to 1508 on
Serial1/1 which is higher than the interface mtu 1500 . This could lead to packet
forwarding problems including packet drops.
AS-X-R2(config-if)#exit
!--- Configurando LDP com R3
BB ('-'1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

462
!4" K BGP atravs da nuvem JPVS
AS-X-R4(config)#interface serial 1/0
AS-X-R4(config-if)#mpls ip
*Mar 1 00:25:20.579: %LDP-5-NBRCHG: LDP Neighbor X.0.0.3:0 (1) is UP
AS-X-R4(config-if)#
AS-X-R4(config-if)#mpls mtu 1508
AS-X-R4(config-if)#
*Mar 1 00:25:44.683: %TFB-3-MPLS_MTU_SET: Setting mpls mtu to 1508 on
Serial1/0 which is higher than the interface mtu 1500 . This could lead to packet
forwarding problems including packet drops.
AS-X-R4(config-if)#exit
!--- Configurando LDP com R3
AS-X-R4(config)#interface serial 1/2
AS-X-R4(config-if)#mpls ip
AS-X-R4(config-if)#exit
!--- Configurando LDP com R5
BB ('-'1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

463
!4" K BGP atravs da nuvem JPVS
AS-X-R5(config)#interface serial 1/0
AS-X-R5(config-if)#mpls ip
AS-X-R5(config-if)#
*Mar 1 00:29:54.579: %LDP-5-NBRCHG: LDP Neighbor X.0.0.3:0 (1) is UP
AS-X-R5(config-if)#mpls mtu 1508
AS-X-R5(config-if)#
*Mar 1 00:30:20.999: %TFB-3-MPLS_MTU_SET: Setting mpls mtu to 1508 on
Serial1/0 which is higher than the interface mtu 1500 . This could lead to packet
forwarding problems including packet drops.
AS-X-R5(config-if)#exit
!--- Configurando LDP com R3
AS-X-R5(config)#interface serial 1/2
AS-X-R5(config-if)#mpls ip
AS-X-R5(config-if)#
*Mar 1 00:30:59.891: %LDP-5-NBRCHG: LDP Neighbor X.0.0.4:0 (2) is UP
AS-X-R5(config-if)#exit
!--- Configurando LDP com R4
BB ('-'1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

464

Con&igurando iBGP entre R"2R* R"2R) e R"2R$:


AS-X-R1#conf t
AS-X-R1(config)#router bgp X
AS-X-R1(config-router)#neighbor X.0.0.2 remote-as X
AS-X-R1(config-router)#neighbor X.0.0.2 update-source loopback 0
AS-X-R1(config-router)#neighbor X.0.0.2 next-hop-self
AS-X-R1(config-router)#neighbor X.0.0.2 route-reflector-client
!--- Configurando iBGP padro com R2
AS-X-R1(config-router)#neighbor X.0.0.4 remote-as X
AS-X-R1(config-router)#neighbor X.0.0.4 update-source loopback 0
AS-X-R1(config-router)#neighbor X.0.0.4 next-hop-self
AS-X-R1(config-router)#neighbor X.0.0.4 route-reflector-client
!--- Configurando iBGP padro com R4
AS-X-R1(config-router)#neighbor X.0.0.5 remote-as X
AS-X-R1(config-router)#neighbor X.0.0.5 update-source loopback 0
AS-X-R1(config-router)#neighbor X.0.0.5 next-hop-self
AS-X-R1(config-router)#neighbor X.0.0.5 route-reflector-client
!--- Configurando iBGP padro com R5
(...)
!4" K BGP atravs da nuvem JPVS
BB ('1'1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

465

Con&igurando Jultiprotocol BGP entre R"2R* R"2R) e R"2R$:


(...)
AS-X-R1(config-router)#address-family vpnv4
!--- Entra no address family VPNv4
AS-X-R1(config-router-af)#neighbor X.0.0.2 activate
!--- Adiciona esse neighbor ao modo VPNv4
AS-X-R1(config-router-af)#neighbor X.0.0.2 send-community both
!--- Habilida o envio de communities padro e tambm do tipo estendida
AS-X-R1(config-router-af)#neighbor X.0.0.4 activate
!--- Adiciona esse neighbor ao modo VPNv4
AS-X-R1(config-router-af)#neighbor X.0.0.4 send-community both
!--- Habilida o envio de communities padro e tambm do tipo estendida
AS-X-R1(config-router-af)#neighbor X.0.0.5 activate
!--- Adiciona esse neighbor ao modo VPNv4
AS-X-R1(config-router-af)#neighbor X.0.0.5 send-community both
!--- Habilida o envio de communities padro e tambm do tipo estendida
!4" K BGP atravs da nuvem JPVS
BB ('1'1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

466

Con&igurando iBGP entre R2R"* R2R) e R2R$:


AS-X-R2#conf t
AS-X-R2(config)#router bgp X
AS-X-R2(config-router)#neighbor X.0.0.1 remote-as X
AS-X-R2(config-router)#neighbor X.0.0.1 update-source loopback 0
AS-X-R2(config-router)#neighbor X.0.0.1 next-hop-self
AS-X-R2(config-router)#neighbor X.0.0.1 route-reflector-client
!--- Configurando iBGP padro com R2
AS-X-R2(config-router)#neighbor X.0.0.4 remote-as X
AS-X-R2(config-router)#neighbor X.0.0.4 update-source loopback 0
AS-X-R2(config-router)#neighbor X.0.0.4 next-hop-self
AS-X-R2(config-router)#neighbor X.0.0.4 route-reflector-client
!--- Configurando iBGP padro com R4
AS-X-R2(config-router)#neighbor X.0.0.5 remote-as X
AS-X-R2(config-router)#neighbor X.0.0.5 update-source loopback 0
AS-X-R2(config-router)#neighbor X.0.0.5 next-hop-self
AS-X-R2(config-router)#neighbor X.0.0.5 route-reflector-client
!--- Configurando iBGP padro com R5
(...)
!4" K BGP atravs da nuvem JPVS
BB ('1'1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

467

Con&igurando Jultiprotocol BGP entre R2R"* R2R) e R2R$:


(...)
AS-X-R2(config-router)#address-family vpnv4
!--- Entra no address family VPNv4
AS-X-R2(config-router-af)#neighbor X.0.0.1 activate
!--- Adiciona esse neighbor ao modo VPNv4
AS-X-R2(config-router-af)#neighbor X.0.0.1 send-community both
!--- Habilida o envio de communities padro e tambm do tipo estendida
AS-X-R2(config-router-af)#neighbor X.0.0.4 activate
!--- Adiciona esse neighbor ao modo VPNv4
AS-X-R2(config-router-af)#neighbor X.0.0.4 send-community both
!--- Habilida o envio de communities padro e tambm do tipo estendida
AS-X-R2(config-router-af)#neighbor X.0.0.5 activate
!--- Adiciona esse neighbor ao modo VPNv4
AS-X-R2(config-router-af)#neighbor X.0.0.5 send-community both
!--- Habilida o envio de communities padro e tambm do tipo estendida
!4" K BGP atravs da nuvem JPVS
BB
('-'10

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

468

Con&igurando iBGP entre R)2R" e R)2R


AS-X-R4#conf t
AS-X-R4(config)#router bgp X
AS-X-R4(config-router)#neighbor X.0.0.1 remote-as X
AS-X-R4(config-router)#neighbor X.0.0.1 update-source loopback 0
AS-X-R4(config-router)#neighbor X.0.0.1 next-hop-self
!--- Configurando iBGP padro com R1
AS-X-R4(config-router)#neighbor X.0.0.2 remote-as X
AS-X-R4(config-router)#neighbor X.0.0.2 update-source loopback 0
AS-X-R4(config-router)#neighbor X.0.0.2 next-hop-self
!--- Configurando iBGP padro com R2
(...)
!4" K BGP atravs da nuvem JPVS
BB ('1'1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

469

Con&igurando Jultiprotocol BGP entre R)2R" R)2R:


(...)
AS-X-R4(config-router)#address-family vpnv4
!--- Entra no address family VPNv4
AS-X-R4(config-router-af)#neighbor X.0.0.1 activate
!--- Adiciona esse neighbor ao modo VPNv4
AS-X-R4(config-router-af)#neighbor X.0.0.1 send-community both
!--- Habilida o envio de communities padro e tambm do tipo estendida
AS-X-R4(config-router-af)#neighbor X.0.0.2 activate
!--- Adiciona esse neighbor ao modo VPNv4
AS-X-R4(config-router-af)#neighbor X.0.0.2 send-community both
!--- Habilida o envio de communities padro e tambm do tipo estendida
!4" K BGP atravs da nuvem JPVS
BB
('-'10

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

470

Con&igurando iBGP entre R$2R" e R$2R


AS-X-R5#conf t
AS-X-R5(config)#router bgp X
AS-X-R5(config-router)#neighbor X.0.0.1 remote-as X
AS-X-R5(config-router)#neighbor X.0.0.1 update-source loopback 0
AS-X-R5(config-router)#neighbor X.0.0.1 next-hop-self
!--- Configurando iBGP padro com R1
AS-X-R5(config-router)#neighbor X.0.0.2 remote-as X
AS-X-R5(config-router)#neighbor X.0.0.2 update-source loopback 0
AS-X-R5(config-router)#neighbor X.0.0.2 next-hop-self
!--- Configurando iBGP padro com R2
(...)
!4" K BGP atravs da nuvem JPVS
BB ('1'1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

47

Con&igurando Jultiprotocol BGP entre R$2R" R$2R:


(...)
AS-X-R5(config-router)#address-family vpnv4
!--- Entra no address family VPNv4
AS-X-R5(config-router-af)#neighbor X.0.0.1 activate
!--- Adiciona esse neighbor ao modo VPNv4
AS-X-R5(config-router-af)#neighbor X.0.0.1 send-community both
!--- Habilida o envio de communities padro e tambm do tipo estendida
AS-X-R5(config-router-af)#neighbor X.0.0.2 activate
!--- Adiciona esse neighbor ao modo VPNv4
AS-X-R5(config-router-af)#neighbor X.0.0.2 send-community both
!--- Habilida o envio de communities padro e tambm do tipo estendida
!4" K BGP atravs da nuvem JPVS
BB
('-'10

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

472

Hestando444
AS-14X-R1#traceroute 99.99.99.1 source 14X.1.0.1
Type escape sequence to abort.
Tracing the route to 99.99.99.1
1 X.14X.4.1 [AS 1] 4 msec 4 msec 4 msec
2 X.X.4.1 [AS 1] +,P-S" -abel (. E/p '0 12 msec 8 msec 8 msec
3 X.X.1.1 [AS 1] 8 msec 8 msec 8 msec
4 100.X.1.1 [AS 100] 8 msec 20 msec 12 msec
5 99.100.1.1 [AS 99] 8 msec * 24 msec
AS-14X-R1#
!4" K BGP atravs da nuvem JPVS
BB
('-'10
AS-X-R3#sh ip bgp
% BGP not active

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

473
P%RGGOHASU
P%RGGOHASU
=.1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

474
!4 AtoJ 2 AnT Hransport ?ver JPVS
BB
('-'10
Cenrio:

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

475
AHoJ
AHoJ
AnT Hrasnport ?ver JPVS
AnT Hrasnport ?ver JPVS
=.(

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

476
!4 AtoJ 2 AnT Hransport ?ver JPVS
BB
('-'10
AS-X-R1(config)#pseudowire-class 6PN!AS7R%!9O!ASER%
AS-X-R1(config-pw-class)#encapsulation mpls
AS-X-R1(config-pw-class)#exit
AS-X-R1(config)#interface fastEthernet 0/1
AS-X-R1(config-if)#no shutdown
AS-X-R1(config-if)#no ip address
AS-X-R1(config-if)#xconnect X.0.0.2 999 pw-class 6PN!AS7R%!9O!ASER%
AS-X-R1(config-if-xconn)#end

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

477
!4 AtoJ 2 AnT Hransport ?ver JPVS
BB
('-'10
AS-X-R2(config)#pseudowire-class 6PN!AS7R%!9O!ASER%
AS-X-R2(config-pw-class)#encapsulation mpls
AS-X-R2(config-pw-class)#exit
AS-X-R2(config)#interface fastEthernet 0/1
AS-X-R2(config-if)#no shutdown
AS-X-R2(config-if)#no ip address
AS-X-R2(config-if)#xconnect X.0.0.1 999 pw-class 6PN!AS7R%!9O!ASER%
AS-X-R2(config-if-xconn)#end
AS-X-R2#show xconnect all
Legend: XC ST=Xconnect State, S1=Segment1 State, S2=Segment2 State
UP=Up, DN=Down, AD=Admin Down, A=nactive, NH=No Hardware
XC ST Segment 1 S1 Segment 2 S2
------+---------------------------------+--+---------------------------------+--
UP ac Fa0/1(Ethernet) UP mpls X.0.0.1:999 UP
AS-X-R2#

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

478
!4 AtoJ 2 AnT Hransport ?ver JPVS
BB
('-'10
AS-14X-R2#conf t
AS-14X-R2(config)#interface fastEthernet 0/0
AS-14X-R2(config-if)#no shut
AS-14X-R2(config-if)#ip address 172.16.0.1 255.255.255.0
AS-14X-R2(config-if)#exit
AS-14X-R2(config)#

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

479
!4 AtoJ 2 AnT Hransport ?ver JPVS
BB
('-'10
AS-15X-R2#conf t
AS-15X-R2(config)#interface fastEthernet 0/0
AS-15X-R2(config-if)#no shut
AS-15X-R2(config-if)#ip address 172.16.0.2 255.255.255.0
AS-15X-R2(config-if)#end
AS-15X-R2#ping
AS-15X-R2#ping 172.16.0.1
Type escape sequence to abort.
Sending 5, 100-byte CMP Echos to 172.16.0.1, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 4/15/24 ms
AS-15X-R2#

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

480
!4 AtoJ 2 AnT Hransport ?ver JPVS
BB
('-'10
AS-14X-R2>show interfaces fastEthernet 0/0 | include address is
Hardware is Gt96k FE, address is #%2#.2#28.2222 (bia c20c.0c08.0000)
nternet address is D%.=.2.+%7
AS-14X-R2>show ip arp
Protocol Address Age (min) Hardware Addr Type nterface
nternet 172.16.0.1 - c20c.0c08.0000 ARPA FastEthernet0/0
nternet D%.=.2.% 2 #%2e.2#28.2222 ARPA FastEthernet0/0
______________________________________________________________
AS-15X-R2#show interfaces fastEthernet 0/0 | include address is
Hardware is Gt96k FE, address is #%2e.2#28.2222 (bia c20e.0c08.0000)
nternet address is D%.=.2.%+%7
AS-15X-R2#show ip arp
Protocol Address Age (min) Hardware Addr Type nterface
nternet D%.=.2. 3 #%2#.2#28.2222 ARPA FastEthernet0/0
nternet 172.16.0.2 - c20e.0c08.0000 ARPA FastEthernet0/0

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

48
P%RGGOHASU
P%RGGOHASU
=.(

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

482
Implementando servi-o
Implementando servi-o
VPO2VaTer #
VPO2VaTer #
:JPVS2VPO<
:JPVS2VPO<
=.+

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

483
!4# Implementando servi-o VPO2V#
BB
('-'10
Novamente o mesmo cenrio

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

484
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-X-R1#conf t
AS-X-R1(config)#ip vrf vpn-as14X
AS-X-R1(config-vrf)#rd X:14X
AS-X-R1(config-vrf)#route-target export X:14X
AS-X-R1(config-vrf)#route-target import X:14X
AS-X-R1(config-vrf)#exit
AS-X-R1(config)#interface serial 1/2
AS-X-R1(config-if)#no shutdown
AS-X-R1(config-if)#ip vrf forwarding vpn-as14X
AS-X-R1(config-if)#ip address X.14X.2.1 255.255.255.252
AS-X-R1(config-if)#end
AS-X-R1#ping vrf vpn-as14X X.14X.2.2
Type escape sequence to abort.
Sending 5, 100-byte CMP Echos to X.14X.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/8 ms
AS-X-R1#

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

485
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-X-R1#conf t
AS-X-R1(config)#router bgp X
AS-X-R1(config-router)#address-family ipv4 vrf vpn-as14X
AS-X-R1(config-router-af)#redistribute connected
AS-X-R1(config-router-af)#neighbor X.14X.2.2 remote-as 6514X
AS-X-R1(config-router-af)#neighbor X.14X.2.2 activate
AS-X-R1(config-router-af)#no synchronization
AS-X-R1(config-router-af)#end

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

486
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-X-R2#conf t
AS-X-R2(config)#ip vrf vpn-as15X
AS-X-R2(config-vrf)#rd X:15X
AS-X-R2(config-vrf)#route-target export X:15X
AS-X-R2(config-vrf)#route-target import X:15X
AS-X-R2(config-vrf)#exit
AS-X-R2(config)#interface serial 1/2
AS-X-R2(config-if)#no shut
AS-X-R2(config-if)#ip vrf forwarding vpn-as15X
AS-X-R2(config-if)#ip address X.15X.2.1 255.255.255.252
AS-X-R2(config-if)#end
AS-X-R2#ping vrf vpn-as15X X.15X.2.2
Type escape sequence to abort.
Sending 5, 100-byte CMP Echos to X.15X.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/8 ms
AS-X-R2#

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

487
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-X-R2#conf t
AS-X-R2(config)#router bgp X
AS-X-R2(config-router)#address-family ipv4 vrf vpn-as15X
AS-X-R2(config-router-af)#redistribute connected
AS-X-R2(config-router-af)#neighbor X.15X.2.2 remote-as 6515X
AS-X-R2(config-router-af)#neighbor X.15X.2.2 activate
AS-X-R2(config-router-af)#no synchronization
AS-X-R2(config-router-af)#end

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

488
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-14X-R2#conf t
AS-14X-R2(config)#router bgp 6514X
AS-14X-R2(config-router)#network 192.168.0.0 mask 255.255.255.0
AS-14X-R2(config-router)#neighbor X.14X.2.1 remote-as X
AS-14X-R2(config-router)#exit
AS-14X-R2(config)#interface loopback 1
AS-14X-R2(config-if)#ip address 192.168.0.1 255.255.255.0
AS-14X-R2(config-if)#end
AS-14X-R2#

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

489
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-15X-R2#conf t
AS-15X-R2(config)#router bgp 6515X
AS-15X-R2(config-router)#network 192.168.0.0 mask 255.255.255.0
AS-15X-R2(config-router)#neighbor X.15X.2.1 remote-as X
AS-15X-R2(config-router)#exit
AS-15X-R2(config)#interface loopback 1
AS-15X-R2(config-if)#ip address 192.168.0.1 255.255.255.0
AS-15X-R2(config-if)#end
AS-15X-R2#

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

490
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-X-R4#conf t
AS-X-R4(config)#ip vrf vpn-as14X
AS-X-R4(config-vrf)#rd X:14X
AS-X-R4(config-vrf)#route-target export X:14X
AS-X-R4(config-vrf)#route-target import X:14X
AS-X-R4(config-vrf)#exit
AS-X-R4(config)#interface serial 1/1
AS-X-R4(config-if)#no shutdown
AS-X-R4(config-if)#ip vrf forwarding vpn-as14X
% nterface Serial1/1 P address X.14X.4.1 removed due to enabling VRF vpn-as14X
AS-X-R4(config-if)#ip address X.14X.4.1 255.255.255.252
AS-X-R4(config-if)#end
AS-X-R4#ping vrf vpn-as14X X.14X.4.2
Type escape sequence to abort.
Sending 5, 100-byte CMP Echos to X.14X.4.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/8/12 ms

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

49
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-X-R4#conf t
AS-X-R4(config)#router bgp X
AS-X-R4(config-router)#address-family ipv4 vrf vpn-as14X
AS-X-R4(config-router-af)#redistribute connected
AS-X-R4(config-router-af)#neighbor X.14X.4.2 remote-as 6414X
AS-X-R4(config-router-af)#neighbor X.14X.4.2 activate
AS-X-R4(config-router-af)#no synchronization
AS-X-R4(config-router-af)#end
AS-X-R4#

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

492
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-14X-R1(config)#no router bgp 14X
AS-14X-R1(config)#router bgp 6414X
AS-14X-R1(config-router)#network 172.16.0.0 mask 255.255.255.0
AS-14X-R1(config-router)#neighbor X.14X.4.1 remote-as X
AS-14X-R1(config-router)#exit
AS-14X-R1(config)#interface loopback 1
AS-14X-R1(config-if)#ip address 172.16.0.1 255.255.255.0
AS-14X-R1(config-if)#end

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

493
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-14X-R1#sh ip bgp
BGP table version is 6, local router D is 14X.1.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RB-failure, S Stale
Origin codes: i - GP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> X.14X.2.0/30 X.14X.4.1 0 X ?
r> X.14X.4.0/30 X.14X.4.1 0 0 X ?
*> 172.16.0.0/24 0.0.0.0 0 32768 i
*> 192.168.0.0 X.14X.4.1 0 X 6514X i

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

494
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-14X-R1#traceroute 192.168.0.1
Type escape sequence to abort.
Tracing the route to 192.168.0.1
1 X.14X.4.1 8 msec 4 msec 4 msec
2 X.X.4.1 [MPLS: Labels 16/28 Exp 0] 16 msec 12 msec 12 msec
3 X.14X.2.1 [AS 1] [MPLS: Label 28 Exp 0] 16 msec 12 msec 12 msec
4 X.14X.2.2 [AS 1] 8 msec * 20 msec

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

495
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-X-R5#conf t
AS-X-R5(config)#ip vrf vpn-as15X
AS-X-R5(config-vrf)#rd X:15X
AS-X-R5(config-vrf)#route-target export X:15X
AS-X-R5(config-vrf)#route-target import X:15X
AS-X-R5(config-vrf)#exit
AS-X-R5(config)#interface serial 1/1
AS-X-R5(config-if)#no shutdown
AS-X-R5(config-if)#ip vrf forwarding vpn-as15X
AS-X-R5(config-if)#ip address X.15X.5.1 255.255.255.252
AS-X-R5(config-if)#end
AS-X-R5#ping vrf vpn-as15X X.15X.5.2
Type escape sequence to abort.
Sending 5, 100-byte CMP Echos to X.15X.5.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/3/4 ms

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

496
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-X-R5#conf t
AS-X-R5(config)#router bgp X
AS-X-R5(config-router)#address-family ipv4 vrf vpn-as15X
AS-X-R5(config-router-af)#redistribute connected
AS-X-R5(config-router-af)#neighbor X.15X.5.2 remote-as 6415X
AS-X-R5(config-router-af)#neighbor X.15X.5.2 activate
AS-X-R5(config-router-af)#no synchronization
AS-X-R5(config-router-af)#end

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

497
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-15X-R1(config)#no router bgp 15X
AS-15X-R1(config)#router bgp 6415X
AS-15X-R1(config-router)#network 172.16.0.0 mask 255.255.255.0
AS-15X-R1(config-router)#neighbor X.15X.5.1 remote-as X
AS-15X-R1(config-router)#exit
AS-15X-R1(config)#interface loopback 1
AS-15X-R1(config-if)#ip address 172.16.0.1 255.255.255.0
AS-15X-R1(config-if)#end
AS-15X-R1#

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

498
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-15X-R1#sh ip bgp
BGP table version is 6, local router D is 15X.1.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RB-failure, S Stale
Origin codes: i - GP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> X.15X.2.0/30 X.15X.5.1 0 X ?
r> X.15X.5.0/30 X.15X.5.1 0 0 X ?
*> 172.16.0.0/24 0.0.0.0 0 32768 i
*> 192.168.0.0 X.15X.5.1 0 X 6515X i

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

499
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-15X-R1#traceroute 192.168.0.1
Type escape sequence to abort.
Tracing the route to 192.168.0.1
1 X.15X.5.1 4 msec 4 msec 4 msec
2 X.X.5.1 [MPLS: Labels 17/27 Exp 0] 8 msec 12 msec 16 msec
3 X.15X.2.1 [AS 1] [MPLS: Label 27 Exp 0] 12 msec 12 msec 8 msec
4 X.15X.2.2 [AS 1] 16 msec * 12 msec
AS-15X-R1#

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

500
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-X-R1#sh ip bgp vpnv4 vrf vpn-as14X
BGP table version is 10, local router D is X.0.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RB-failure, S Stale
Origin codes: i - GP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 1:141 (default for vrf vpn-as141)
*> X.14X.2.0/30 0.0.0.0 0 32768 ?
*>iX.14X.4.0/30 X.0.0.4 0 100 0 ?
*>i172.16.0.0/24 X.0.0.4 0 100 0 6414X i
*> 192.168.0.0 X.14X.2.2 0 0 6514X i

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

50
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-X-R1#sh ip bgp vpnv4 vrf vpn-as14X 172.16.0.0
BGP routing table entry for X:14X:172.16.0.0/24, version 10
Paths: (1 available, best #1, table vpn-as14X)
Advertised to update-groups:
2
6414X
X.0.0.4 (metric 129) from X.0.0.4 (X.0.0.4)
Origin GP, metric 0, localpref 100, valid, internal, best
Extended Community: RT:X:14X
mpls labels in/out nolabel/25
AS-X-R1#

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

502
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-X-R1#show mpls forwarding-table
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel d switched interface
16 Pop tag X.X.2.0/30 0 Se1/1 point2point
17 Pop tag X.0.0.3/32 0 Se1/1 point2point
18 17 X.0.0.2/32 0 Se1/1 point2point
19 Pop tag X.X.4.0/30 0 Se1/1 point2point
20 18 X.0.0.5/32 0 Se1/1 point2point
21 Pop tag X.X.5.0/30 0 Se1/1 point2point
22 19 X.0.0.4/32 0 Se1/1 point2point
23 20 X.X.100.0/30 0 Se1/1 point2point
24 Pop tag X.X.200.0/24 0 Se1/1 point2point
25 l2ckt(999) 104473 none point2point
26 Aggregate X.14X.2.0/30[V] 520
28 Untagged 192.168.0.0/24[V] 1768 Se1/2 point2point
AS-X-R1#

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

503
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-X-R2#sh ip bgp vpnv4 vrf vpn-as15X
BGP table version is 13, local router D is X.0.0.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RB-failure, S Stale
Origin codes: i - GP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: X:15X (default for vrf vpn-as151)
*> X.15X.2.0/30 0.0.0.0 0 32768 ?
*>iX.15X.5.0/30 X.0.0.5 0 100 0 ?
*>i172.16.0.0/24 X.0.0.5 0 100 0 6415X i
*> 192.168.0.0 X.15X.2.2 0 0 6515X i

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

504
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-X-R2#sh ip bgp vpnv4 vrf vpn-as15X 172.16.0.0
BGP routing table entry for X:15X:172.16.0.0/24, version 9
Paths: (1 available, best #1, table vpn-as15X)
Advertised to update-groups:
1
6415X
X.0.0.5 (metric 129) from X.0.0.5 (X.0.0.5)
Origin GP, metric 0, localpref 100, valid, internal, best
Extended Community: RT:X:15X
mpls labels in/out nolabel/24
AS-X-R2#

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

505
!4# Implementando servi-o VPO2V#
BB
('-'10
AS-X-R2#show mpls forwarding-table
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel d switched interface
16 16 X.0.0.1/32 0 Se1/1 point2point
17 Pop tag X.X.1.0/30 0 Se1/1 point2point
18 Pop tag X.0.0.3/32 0 Se1/1 point2point
19 Pop tag X.X.4.0/30 0 Se1/1 point2point
20 18 X.0.0.5/32 0 Se1/1 point2point
21 Pop tag X.X.5.0/30 0 Se1/1 point2point
22 19 X.0.0.4/32 0 Se1/1 point2point
23 20 X.X.100.0/30 0 Se1/1 point2point
24 Pop tag X.X.200.0/24 0 Se1/1 point2point
25 l2ckt(999) 107714 none point2point
26 Aggregate X.15X.2.0/30[V] 0
28 Untagged 192.168.0.0/24[V] 0 Se1/2 point2point
AS-X-R2#

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

506
P%RGGOHASU
P%RGGOHASU
=.+

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

507
M06RIB
6/0R
? tra3al8o Curso de BGP Design com Roteadores Cisco de Rinaldo Vaz &oi licenciado com
uma Vicen-a Creative Commons 2 Atri3ui-1o #4. O1o Adaptada4
Podem estar dispon=veis autoriza-Ees adicionais ao >m3ito desta licen-a em
rinaldopvazdgmail4com4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

508
K.
0
Jecanismos de Pat8 Control
? tra3al8o Curso de BGP Design com Roteadores Cisco de Rinaldo Vaz &oi licenciado com
uma Vicen-a Creative Commons 2 Atri3ui-1o #4. O1o Adaptada4
Podem estar dispon=veis autoriza-Ees adicionais ao >m3ito desta licen-a em
rinaldopvazdgmail4com4

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

509
K.
0
Jecanismos de Pat8
Control
!4 Jecanismos de Pat8 Control
5 !4" PBR K PolicT Based Routing
5 !4 IP SVA Hool

Agradecimentos especiais para Ro3erto Jendon-a* autor dos


dois pr(/imos su32cap=tulos

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

50

Mecanismos de Pat2 8ontro"

Pat8 Control s1o mecanismos 6ue mudam o


encamin8amento
padr1o de um pacote atravs de uma rede4

O1o se trata de 9oS ou %ngen8aria de Hr&ego4

Hrata2se de uma cole-1o de &erramentas ou con;unto de


comandos 6ue s1o ativados para manipular a ta3ela de
encamin8amento de um protocolo de roteamento ou
3Tpass o
encamin8amento padr1o de um pacote4

%sta manipula-1o de in&orma-Ees de roteamento pode ser


re6uerida para o3ter mel8or desempen8o4
I4" PBR K PolicT Based Routing

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

5

Alguns H(picos para Implementar Pat8 Control

PBR K PolicT2Based RoutingL

IP SVA Hool :Service Vevel Agreements<


I4" PBR K PolicT Based Routing

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

52

Para entender PBR5 primeiro precisamos


re!isitar o conceito de roteamento padro;

"49uando um pacote c8ega X uma inter&ace de um router*


este e/amina o endere-o de destino do pacote contra a
sua ta3ela de roteamento4

4 Se a rede destino &or con8ecida pelo router :ou se;a*


constar na ta3ela<* o pacote encamin8ado para a
inter&ace de sa=da indicada4

#4 Se a rede destino n1o &or con8ecida e e/istir uma rota


de&ault* o pacote encamin8ado para a inter&ace de sa=da
apontada por ela4

)4 Se nen8um dos dois casos acima ocorrer* o router


descarta o pacote4
I4" PBR K PolicT Based Routing

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

53

PolicT23ased routing 6ue3ra o processo de&ault de


roteamento* permitindo 6ue pacotes se;am roteados
3aseados em pol=ticas pr2de&inidas e n1o apenas no
endere-o de destino4

Para isso* R?GH%2JAPs s1o usados* especi&icando condi-Ees


6ue devem ser e/aminadas e para onde os pacotes
devem ser encamin8ados caso estas condi-Ees se;am
veri&icadas4
I4" PBR K PolicT Based Routing

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

54

Gm e/emplo genrico de aplica-1o de PBRs pode ser visto


na &igura a3ai/o:
I4" PBR K PolicT Based Routing

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

55

Para implementar o cenrio ilustrado anteriormente* apenas


tr@s passos s1o necessrios:

"4 De&ina um route2map e a pol=tica 6ue identi&icar o


pacote :JAHCQ<L

4 De&ina para onde o pacote deve ir* caso um JAHCQ


ocorra :S%H<L

#4 Apli6ue o route2map na inter&ace para anlise dos


pacotes X medida 6ue entram :IO<4
I4" PBR K PolicT Based Routing

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

56

Ao criar um route2map para ser usado com PBR* e/istem


algumas op-Ees de JAHCQ X escol8er* por e/emplo:

Matc2 ip address :utiliza listas de acesso para


c8ecagem<

Matc2 "en)2t :utiliza um intervalo m=nimo e m/imo do


taman8o do pacote* em 3Ttes<
I4" PBR K PolicT Based Routing

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

57

% temos algumas op-Ees de S%H X escol8er:

Set ip ne/t28op :especi&ica o IP de ne/t28op para o pacote


K deve ser uma su3rede diretamente conectada<L

Set ip de&ault ne/t28op :o mesmo acima* porm* o


roteador tentar antes o roteamento convencional* mas
n1o usa rota de&ault<L

Set inter&ace :especi&ica a inter&ace de sa=da do pacote<L

Set de&ault inter&ace :mesmo acima* porm* o roteador


tentar antes o roteamento convencional* mas n1o usa
rota de&ault<4
I4" PBR K PolicT Based Routing

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

58

%/emplo padr1o:
I4" PBR K PolicT Based Routing

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

59

PBR para 6ue pacotes originados pelo PC sigam


via R#:
I4" PBR K PolicT Based Routing
PBR A(.i#ada (ara origem
2...%

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

520

Con&igura-Ees:
I4" PBR K PolicT Based Routing
R(#onfig)0interface F0/0
R(#onfig!if)0ip policy route-map PC%!3ia!R&
R(#onfig!if)0exit
R(#onfig)0route-map PC%!3ia!R& permit 10
R(#onfig!route!ma()0match ip address 101
R(#onfig!route!ma()0set ip next-hop 10.1.14.4
R(#onfig!route!ma()0exit
R(#onfig!if)0access-list 101 permit ip host 10.1.1.2 10.1.3.0 0.0.0.255

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

52
P%RGGOHASU
P%RGGOHASU
K.
1

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

522

IP SVA Hool

? o&erecimento de servi-os gerenciados v@m se


consolidando como uma tend@ncia ; 8 algum
tempo* e alguns &a3ricantes disponi3ilizam algumas
&erramentas 6ue podem nos a;udar a mel8orar uma
rede e nos alertar de eventuais pro3lemas* assim
6ue estes aparecerem4

%m um mundo em 6ue solu-Ees de IP Helep8onT e


v=deocon&er@ncia IP v@m se tornando parte do
dia2a2dia das empresas* a &erramenta I?S IP SVA
pode ser uma poderosa aliada4
I4 IP SVA Hool

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

523

? IP SVA um recurso presente em algumas versEes


do I?S da Cisco* 6ue permite o gerenciamento
proativo das condi-Ees da rede monitorada4

Basicamente* gera2se um tr&ego espec=&ico de um


dispositivo :transmitter< com destino a outro
:responder<* 6ue responde a este tr&ego e medi-Ees
s1o realizadas no decorrer do processo4

%sta &erramenta torna muito mais simples tare&as


como veri&ica-1o do correto &uncionamento das
pol=ticas de 9oS* e tam3m permite
certi&icarmos2nos 6ue estamos cumprindo os acordos
de CuptimeD assinados com o cliente* por e/emplo4
I4 IP SVA Hool

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

524

Para 8a3ilitar o IP SVA* necessrio con&igurar ao


menos elementos: ? CtransmitterD e o
CresponderD4

A con&igura-1o do responder 3astante simples :uma


lin8a de comando* apenas<4 Ao iniciar a opera-1o* o
transmitter envia mensagens de controle ao
responder4

%stas mensagens de controle in&ormam ao responder


6ual porta l(gica :HCP ou GDP< deve ser usada para
as re6uisi-Ees do transmitter4 A ativa-1o do servi-o
CresponderD pode nem ser necessria* se o elemento
6ue ir responder Xs solicita-Ees do transmitter ;
estiver aguardando dados nas portas a serem
testadas :e/4 o servi-o QHHP ; est ativado no
router 6ue agir como responder* e este o servi-o
6ue 6ueremos CmedirD<4
I4 IP SVA Hool

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

525

%ste recurso &unciona muito 3em em diversas


topologias* incluindo topologias C8u3 p spoNeD
:estrela<4 Oeste caso* normalmente* voc@ teria o QGB
como responder* e os spoNes como transmitters4

Gma vez 6ue o servi-o SVA este;a devidamente


con&igurado no transmissor* sua opera-1o precisa
ser agendada4

As estat=sticas apenas ser1o coletadas 6uando a


con&igura-1o estiver operacional4 As atividades de
gera-1o de tr&ego e coleta podem ser agendadas
para iniciar de imediato* ou em uma data P 8ora
pr2determinadas4 Podem ainda ser iniciadas so3
certas condi-Ees espec=&icas4
I4 IP SVA Hool

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

526

%/emplo:

A6ui temos ?SP' single2area ativado nesta rede* para


garantir conectividade &im2a2&im4 Vamos ativar o IP
SVA neste cenrio para monitorar um determinado
servi-o 6ue roda na porta GDP "#)* de R" para a
inter&ace Voop3acN. de R#4 Vamos come-ar ativando
o IP SVA no responder :R#< :
I4 IP SVA Hool
R3#conf t
R3(config)#ip sla {monitor} responder

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

527

Veri&icando:
I4 IP SVA Hool
R&0s"ow i( s.a res(onder
P SLAs Responder is: Enabled
Number of Control Message received: 0 Number os errors:0
Recent Sources:
Recent error sources:

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

528

Con&igurando R" como CtransmiterD:

Vamos agora con&igurar o R" como transmitter*


gerando o tr&ego 6ue determinamos para a
loop3acN de R# :responder< :

A6ui* criamos uma opera-1o com o ID " 6ue gerar um


pacote com destino X porta GDP "#) ao IP
"$.4"4#4# :V. do responder<* X cada #. segundos4
I4 IP SVA Hool
R(#onfig)0i( s.a KmonitorL
R(#onfig!i(!s.a)0Kt)(eL ud(!e#"o E2..&.& %&7
R(#onfig!i(!s.a!ud()0fre'uen#) &2

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

529

Con&igurando R" como CtransmiterD:

Vamos iniciar a opera-1o de imediato:


I4 IP SVA Hool
R(#onfig)0i( s.a KmonitorL s#"edu.e .ife fore3er start!time now

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

530

Vamos o3servar como est1o as coisas em R"* nosso


transmitter:
I4 IP SVA Hool
R0s"ow i( s.a KmonitorL #onfiguration
P SLAs, nfrastructure Engine-.
Entry number: 1
Owner:
Tag:
Type of operation to perform: udp-echo
Target address/Source address: 150.1.3.3/0.0.0.0
Target port/Source port: 1234/0
Request size (ARR data portion): 16
Operation timeout (milliseconds): 5000
Operation frequency (seconds): 30 (not considered if randomly scheduled)
Next Scheduled Start Time: Start Time already passed
Threshold (milliseconds): 5000
Distribution Statistics:
[...]

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

53

Vamos o3servar como est do lado do responder :R#<:


I4 IP SVA Hool
R&0s"ow i( s.a res(onder
P SLAs Responder is: Enabled
Number of control message received: 9 Number of errors: 0
Recent sources:
192.168.12.1 [13:36:17.971 UTC Mon Jun 26 2011]
192.168.12.1 [13:35:47.971 UTC Mon Jun 26 2011]
192.168.12.1 [13:35:17.959 UTC Mon Jun 26 2011]
192.168.12.1 [13:34:47.951 UTC Mon Jun 26 2011]
192.168.12.1 [13:34:17.999 UTC Mon Jun 26 2011]
Recent error sources:

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

532

Agora* vamos associar uma a-1o ao resultado do IP


SVA444 Por e/emplo* uma rota esttica 6ue apenas
e/iste se as condi-Ees do IP SVA &orem atendidas444WW
I4 IP SVA Hool
R0#onf t
R(#onfig)0tra#, rtr state
R(#onfig!tra#,)0e>it
R(#onfig)0i( route %&.%&.%&.2 %EE.%EE.%EE.2 F%.=8.%.% tra#,
R0s" i( route stati#
%&.2.2.2+%7 is su1netted@ su1nets
S %&.%&.%&.2 S+2T 3ia F%.=8.%.%
R(#onfig)0i( s.a KmonitorL
R(#onfig!i(!s.a)0Kt)(eL ud(!e#"o %&.%&.%&.& %&7
R(#onfig!i(!s.a!ud()0fre'uen#) &2

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

533

Como nosso SVA &al8ou* a rota recm2criada deve sumir


da ta3ela* ; 6ue estava associada X condi-1o do nosso
SVA :tracN " rtr "<:
I4 IP SVA Hool
R&(#onfig)0int .2
R&(#onfig!if)0s"utdown
R&(#onfig!if)0
*Jul 28 00:14:11.219: %LNK-5-CHANGED: nterface Loopback0,changed state to administratively down
*Jul 28 00:14:12.219: %LNEPROTO-5-UPDOWN: Line protocol on nterface Loopback0, changed state to down
R0
*Jul 28 00:15:41.671: %TRACKNG-5-STATE: 1 rtr 1 state Up->Down
R0s" i( s.a statisti#s
Round Trip Time (RTT) for ndex 1
Latest RTT: NoConnection/Busy/Timeout
Latest operation start time: *00:15:23.031 UTC Mon Jul 28 2008
Latest operation return code: No connection
Number of successes: 9
Number of failures: 1
Operation time to live: Forever
R0s" i( route %&.%&.%&.2
\ Networ, not in ta1.e

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

534

B poss=vel associar um PBR a uma condi-1o testada pelo


IP SVA Hool* tam3m4

%is um e/emplo:

%n6uanto o estado do o3;eto estiver GP* o PBR &uncionar


con&orme con&igurado4 Se o o3;eto em teste mudar de
estado :doSn<* a clusula CS%HD n1o ser e/ecutada4
I4 IP SVA Hool
set i( ne>t!"o( 2..7.7
!--- PBR normal, como vimos anteriormente.
set i( ne>t!"o( 3erif)!a3ai.a1i.it) 2..7.7 tra#,
!--- Aqui, usamos o parmetro "verify availability" e associamos o teste para o objeto "1".

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

535
P%RGGOHASU
P%RGGOHASU
K.
(

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

536
JGIH? ?BRIGAD?WW
JGIH? ?BRIGAD?WW

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

537

"..^ desse material &oi ela3orado utilizando so&tSare livre* e


livre para ser copiado e distri3u=do desde 6ue gratuitamente4

%st a vers1o (.( _*eta+

Para reportar erros ou solicitar a vers1o mais recente entre em


contado por email: rina"dop!aF`)mai".com

Autor: Rinaldo Vaz


Pos&cio

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

538

CHANGELOG verso 2.2 *beta3 3.0:


26/03/2013

CorrePZes

Cap 1

1.1 Initroduo:

Inseridas informaes sobre o MRAI

mais informaes e figuras sobre os tipos de mensagem BGP

1.1 - Inseridas distncias administrativas padro Juniper

Cap 5

Corrigidos alguns sub-ttulos fora de ordem


%rrata
(...)

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

539

CHANGELOG verso 2.2 *beta3 3.0:


26/03/2013

CorrePZes
(...)

Pequenas correes enviadas pelo Leonardo Fell

Slide 17: palavra "implementatos" ("..implementatos por todos os


fabricantes, e quando sim, podem ser..")

Slide 27: palavra "endendido" no segundo tpico ("O "X" deve ser
endendido como o AS do aluno..")

Slide 32: plural "os anncio" na primeira frase

Slide 36: palavra "provilegiado" e "seso" no final do slide

Slide 94 : palavra "analizar" na ltima frase ("Vamos analizar...")

Slide 102: palavra "Analizando" na primeira frase

Slide 143: Palavra "Endendendo" no tpico 3.6

Slide 168: palavra "trnvito" na ltima frase

Slide 174: palavra "infornaes" na ltima frase ("Dessa maneira, todas


as infornaes...")

Slide 192: palavra "acessvels" na ltima frase

Slide 303: palavra "Analizando" na primeira frase


%rrata

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

540

CHANGELOG verso 2.2 *beta3 3.0:


26/03/2013
(&&&)

Laboratrios:

Cenrio 2

Cap 6.3 - Novo laboratrio adicionado - "Implementando polticas


anncio baseadas em Community-list"

Outras mudanPas

Nmero total de slides aumentou de 539 para 555

Mudana no layout

Mais figuras explicativas


%rrata

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

54

CHANGELOG verso 2.2 *beta2 2.2 *beta3:


20/12/2012

CorrePZes

Cap 7.3

Inserida linha com o comando "no bgp enforce-fist-as" na configurao


do BGP com o PTT em R1, e nos routers dos AS's 14X e 15X

Inserida linha de comando da rota esttica do primeiro /9 apontando para


"Null 0" , o que impossibilitava os routers dos AS's 14X e 15X de
anunciar essa rede para o PTT

Cap 7.5

Corrigida a ao da as-path access-list 55, onde deny era para ser


permit, e permit era para ser deny

Cap 8.1

Corrigida a quinta linha na configurao de R5 onde o IP de neighbor era


X.0.0.2, o correto X.0.0.X

Cap 8.3

Corrigida a dcima linha na configurao de R2, onde o IP a ser


configurado X.15X.2.( e no X.15X.2.2
%rrata

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

542

CHANGELOG verso 2.2 *beta 2.2 *beta2:


14/12/2012

CorrePZes

Laboratrios:

Cenrio 1

Corrigida configurao padro que mantinha a interface f0/0 desativada

Cap 7.0

Mudana no indice. Removido PBR que virou um novo captulo

,ais conte1do

Cap 5.8

Inserido a sesso "cheats" com as respostas do LAB "Desafio"

Inseridos comandos para remover as config do LAB "Desafio"

Nmero total de slides de 539 para 544


%rrata

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

543

CHANGELOG verso 2.1 2.2 *beta:


10/12/2012

CorrePZes

Laboratrios:

Cenrio 1

Corrigida configurao padro que mantinha a interface f0/0 desativada

,ais conte1do

Inserido um novo captulo: Multiprotocol Label Switching (MPLS)

Subcaptulos:

8.1 BGP atravs da nuvem MPLS

8.2 AtoM - Any Transport Over MPLS

8.3 Implementando servio VPN-L3 (VPN-Multiponto)

6.4 Manipulando Trnsito (Nacional/Internacional) com Communities

Inserida a relao das communities da GVT


(&&&)
%rrata

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

544

CHANGELOG verso 2.1 2.2 *beta:


10/12/2012
(&&&)

Laboratrios:

Cenrio 2

Novo modelo de roteadores para todos o cenrio 2 Cisco 3725

2 roteadores a mais para o Lab MPLS VPN-L3, passando de 7 para o


total de 9 roteadoras para cada grupo

Outras mudanPas

Nmero total de slides aumentou de 485 para 539

Pequenas correes nas confguraes

Mais figuras explicativas

Captulo 8 (Mecanismos de Path Control) movido para captulo 9


%rrata

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

545

CHANGELOG verso 2.0 2.1:


05/10/2012

MudanPa no .a)out

Cores, fontes e grficos melhorados

CorrePZes

Captulo 4

4.4 - Expresses regulares

Corrigidas algumas expresses

Contedo ampliado com mais exemplos prtico

,ais conte1do

4.7 - AS-Path Prepend

Adicionados mais slides com figuras e exemplos de configurao de


prepend de sada

Adicionado um novo slide com exemplo de prepend de entrada


(&&&)
%rrata

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

546

CHANGELOG verso 2.0 2.1:


05/10/2012
(&&&)

Inserido um novo captulo: Mecanismos de Path Control

Subcaptulos:

PBR policy Based Routing

IP SLA Tool

Outras mudanPas

Nmero total de slides aumentou de 434 para 485

Pequenas correes nas confguraes

Foram adicinadas mais figuras

Novos slides com configuraes que deveriam ser desfeitas antes de iniciar o
prximo laboratrio
%rrata

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

547

CHANGELOG verso 1.1 2.0:


26/07/2012

MudanPa no .a)out

Cores, fontes e grficos melhorados

No3os su1!#a(]tu.os

Engenharia de trfego, Alta Disponibilidade, Transporte L2, e outros

<i3ersas outras #orrePZes

Explicaes mais claras

Inseridas mais linhas de comentrios explicativos

Melhoradas algumas expresses regulares

Includas figuras dos cenrios

E muitas outras melhorias

Total de slides aumentados de 363 para 434


%rrata

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

548

CHANGELOG verso 1.0 1.1:


23/04/2012

%.= S.ide de a1ertura do su1!#a(]tu.o*

corrigido slide 2.6 trocado pelo 2.7

%.D Corrigido erro de digitaPBo*

erro: "...ltimo /10..."

correo: "... ltimo /9..."

&. sa]da do #omando Ms" i( 1g( neig"1ors ((eering) ad3ertise!routesM*

corrigidos 2 prefixos que apareciam errados como /10,

o correto so 3 prefixos, um /8 e dois /9

&. sa]da do #omando Ms" i( 1g( rege>( H%RM*

corrigidos 2 prefixos que apareciam errados como /10,

o correto so 3 prefixos, um /8 e dois /9


%rrata

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

549

CHANGELOG verso 1.0 1.1:


23/04/2012

%.= S.ide de a1ertura do su1!#a(]tu.o*

corrigido slide 2.6 trocado pelo 2.7

%.D Corrigido erro de digitaPBo*

erro: "...ltimo /10..."

correo: "... ltimo /9..."

&. sa]da do #omando Ms" i( 1g( neig"1ors ((eering) ad3ertise!routesM*

corrigidos 2 prefixos que apareciam errados como /10,

o correto so 3 prefixos, um /8 e dois /9

&. sa]da do #omando Ms" i( 1g( rege>( H%RM*

corrigidos 2 prefixos que apareciam errados como /10,

o correto so 3 prefixos, um /8 e dois /9


%rrata

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

550

CHANGELOG verso 1.0 1.1:


23/04/2012

*&2 3escri4!o de participante remoto no PTT"

a explicao ficou mais clara com relao s consequncias da latncia mais alta

$&2 Precau45es para filtros de 6PSTRE#,S"

Erro: "... Garantir que rotas de 3789STRE#,S no recebam prioridade maior..."

Correo: "...Garantir que rotas de 6PSTRE#,S nao recebam prioridade maior que rotas
DOWNSTREAMS..."

$&2 6tilia4!o do (ge) e (le): corrigido erro de digita4!o"

Erro: "... aceitar qualquer prefixo )22 e descartar..."

Correo: "... aceitar qualquer prefixo )2$ e descartar..."



v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

55

CHANGELOG verso 1.0 1.1:


23/04/2012

$&2 adicionando prefi/os na lista ;9#7-RE<E=ER;: corrigidos ac5es de


permit erradas"

Erro: ...seq 70 permit...

...seq 80 permit...

...seq 90 permit...

Correo: ...seq 70 den>...

...seq 80 den>...

...seq 90 den>...

$&. e/press!o regular de parcial: modificada para apenas uma linha: e


adicionado um terceiro e/emplo para parcial de * #S?s no path"

nova expresso: ^([0-9]+|[0-9]+ [0-9]+)$



v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

552

CHANGELOG verso 1.0 1.1:


23/04/2012

$&@ ,udan4a de tAtulo"

Anterior: Manipulando downstream com route-map e prepend

Atual: Manipulando trnsito dos downstreams com prepend

.&( e .&2 Sub-capAtulo sobre e/press5es regulares"

Movidos de 6.1/6.2 para 4.4/4.5 , 4.4 mudou para 4.6, 4.5 para 4.7, 4.6 para 4.8 e 4.7 para 4.9

2&( 3iagrama do cenBrio 2" <orrigido terceiro octeto da rede dos laptops

Erro: x.x.100.0/24

Correo: x.x.200.0/24

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

553

CHANGELOG verso 1.0 1.1:


23/04/2012

2&( 3iagrama do cenBrio 2"

a partir da verso 1.2 Sero modificados nmero dos AS's clientes de 11x e 12x para 14x e 15x (para o
grupo 7 ocorria um erro ao utilizar o IP 127.0.0.1)

2&( configura45es i=CP: corrigido DP errado na configura4!o de R( com R2

Erro:"...neighbor X.0.0.2 remote-as X"


"...neighbor X.0.0.2 description iBGP Router 2

Correo: "...neighbor X.0.0.5 remote-as X"


"...neighbor X.0.0.5 description iBGP Router 5

v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

554

CHANGELOG verso 1.0 1.1:


23/04/2012

E. #onfiguraPBo eB/P #om AS %22 (segunda rodada)@ #orrigido enderePo


in#orreto de neig"1or*

erro: "...neighbor 200.X.1.1 remote-as 100"


"...neighbor 200.X.1.1 soft-reconfiguration inbound"
"...neighbor 200.X.1.1 route-map ANUNCIAR-AS-200 out"

correo: "...neighbor 200.X.2.1 remote-as 200"


"...neighbor 200.X.2.1 soft-reconfiguration inbound"
"...neighbor 200.X.2.1 route-map ANUNCIAR-AS-200 out"

2&( <onfigura4!o i=CP entre R2 E R*: corrigido n1mero da loopbacF


faltando

erro: "...neighbor X.0.0.3 update-source loopback "

correo: "...neighbor X.0.0.3 update-source loopback 0"



v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com

555

CHANGELOG verso 1.0 1.1:


23/04/2012

2&( <onfigura4!o i=CP entre R*Etodos

erro: alguns IPs errados

correo: corrigidos IPs corretos para R1, R2, R4 e R5

=. ?AB %@ #ommunities (adrBo

Incluida uma explicao mais clara dos objetivos do LAB

D.& Corrigida e>(ressBo regu.ar de (ermitir saida a(enas de (refi>os


originados QdiretamenteQ do downstream*

erro: "_20$"

forma correta: "(20_|20$)"

#dicionadas mais imagens para facilitar a Gisualia4!o das configura45es

Você também pode gostar