Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila-Completa Curso BGP Design V3dot0
Apostila-Completa Curso BGP Design V3dot0
1.0
Viso Geral sobre BGP
1. Viso geral sobre BGP
1.1
1.2
1.3
1.4
1.5
1.6
Introduo
Requisitos para se tornar um sistema autnomo
Preenchendo o formulrio do Registro.br
Quando utilizar IGP e EGP
Atributos BGP
Entendendo o processo de escolha de rotas
1.1 Introduo
1.1 Introduo
Distncias administrativas:
Padro Juniper*
Directly connected network 0
System routes 4
Static and Static LSPs 5
RSVP-signaled LSPs 7
LDP-signaled LSPs 9
OSPF internal route 10
IS-IS Level 1 internal route 15
IS-IS Level 2 internal route 18
Redirects 30
Kernel 40
SNMP 50
Router discovery 55
RIP 100
RIPng 100
PIM 105
DVMRP 110
Aggregate 130
OSPF AS external routes 150
IS-IS Level 1 external route 160
IS-IS Level 2 external route 165
BGP 170
MSDP 175
1.1 Introduo
1.1 Introduo
Algumas Caractersticas:
Fonte:http://www.cisco.com/en/US/docs/ios/iproute_bgp/command/reference/irg_bgp3.html
1.1 Introduo
Mensagens BGP:
*Mensagens de OPEN contm vrias informaes sobre o remetente como verso do BGP configurada, nmero do AS,
routerID, valores de timers configurados entre outros
1.1 Introduo
Mensagens BGP:
1.1 Introduo
Mensagens BGP:
1.1 Introduo
Mensagens BGP:
10
1.2
Requisitos para se tornar
um Sistema Autnomo
11
12
1.3
Preenchendo o Formulrio do
registro.br
13
14
1.4
Quando utilizar
IGP e EGP
15
16
17
1.5
Atributos BGP
18
19
20
21
1.6
Entendendo o Processo de
Escolha de Rotas
22
23
1.
2.
3.
4.
5.
6.
7.
24
25
1.6
PERGUNTAS?
26
2.0
Primeiros Passos
para Aparecer na Internet
2. Primeiros Passos para Aparecer na Internet
2.1-Configurando BGP com apenas um link
2.2-Analisando as rotas recebidas
2.3-Configurando BGP com 2 links
2.4-Utilizando um Looking Glass
2.5-Fail-Over automtico
2.6-Escolhendo o melhor link
2.7-Balanceamento de links
2.8-Implementando alta disponibilidade com VRRP
2.9-BGP Timers
27
2.1
Configurando BGP com
apenas um link
28
CENARIO 1-1
LAB 1-1-1
29
LAB 1-1-1
30
Connected to X.128.0.254.
Escape character is '^]'.
User Access Verification
31
LAB 1-1-1
GX-R1(config)#
v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com
32
LAB 1-1-1
33
LAB 1-1-1
34
LAB 1-1-1
35
Next Hop
100.X.1.1
LAB 1-1-1
36
Agora um Traceroute!
Agora um Traceroute!
LAB 1-1-1
37
LAB 1-1-1
38
LAB 1-1-1
39
LAB 1-1-1
40
Auto-Summary:
LAB 1-1-1
41
Next Hop
0.0.0.0
32768 i
LAB 1-1-1
42
LAB 1-1-1
43
2.1
PERGUNTAS?
44
2.2
Analisando as rotas
recebidas
45
100.X.1.1 4 100
112
83
22
01:06:03
46
100.X.1.1 4 100
112
83
22
01:06:03
Neighbor = 100.X.1.1
47
100.X.1.1 4 100
112
83
22
V=4
01:06:03
48
100.X.1.1 4 100
112
83
22
01:06:03
AS = 100
AS do neighbor remoto (configurado em neighbor 100.X.1.1
remote-as X).
49
100.X.1.1 4 100
MsgRcvd = 112
MsgSent = 83
112
83
22
01:06:03
50
100.X.1.1 4 100
112
83
22
01:06:03
TblVer = 22
Verso atual da tabela de rotas BGP, sempre que uma nova rota
inserida ou removida o TblVer incrementado.
51
100.X.1.1 4 100
112
83
22
InQ = 0
OutQ = 0
01:06:03
52
100.X.1.1 4 100
112
83
22
01:06:03
Up/Down = 01:06:03
Contador das horas minutos e segundos desde de que a sesso
foi estabelecida ou que a sesso ficou down, aps 24 horas o
contador muda para 1d00h00m (dias/horas/minutos) aps
uma semana 01w0d00h (semanas/dias/horas).
53
100.X.1.1 4 100
112
83
22
01:06:03
State/PfxRcd = 3
Esse campo merece uma ateno especial pois ser o mais
frequentemente observado. Indica o estado da conexo BGP.
54
State/PfxRcd
IDLE
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 IP ou ainda que o BGP no foi configurado
corretamente do lado remoto.
55
State/PfxRcd
ACTIVE
ACTIVE: O BGP tenta estabelecer 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
IDLE. Geralmente as transies entre o estado de CONNECT e ACTIVE refletem
problemas no nvel TCP.
56
State/PfxRcd
CONNECT
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 ACTIVE. No caso do tempo de espera ter sido ultrapassado,
o estado volta para CONNECT. Em qualquer outro evento o estado retorna para IDLE.
57
State/PfxRcd
OPEN SENT
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 NOTIFICATION e
volta ao estado de IDLE. Caso no ocorram erros na checagem, inicia-se o envio de
mensagens KEEPALIVE. 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 ACTIVE. Para as demais situaes de erro, como expirao do Hold
Time, envia-se uma mensagem de NOTIFICATION com o cdigo de erro correspondente
e retorna-se ao estado de IDLE. No caso de interveno do administrador ou o prprio
sistema, tambm retorna-se o estado IDLE.
58
State/PfxRcd
OPEN CONFIRM
59
State/PfxRcd
ESTABLISHED
60
State/PfxRcd
3
61
Network
Next Hop
*> 6.0.0.0
100.X.1.1
*> 100.0.0.0
100.X.1.1
0 100 i
*> 123.0.0.0
100.X.1.1
62
63
...
64
65
66
...
67
...
68
...
69
2.2
PERGUNTAS?
70
2.3
Configurando BGP com 2
links
(MULTIHOMING)
71
LAB 1-2-1
72
LAB 1-2-1
73
74
Neighbor
100.1.1.1
4 100
192
170
00:27:48
200.1.1.1
4 200
191
181
00:27:51
LAB 1-2-1
75
Network
*> 1.0.0.0
*> 2.0.0.0
*
*> 55.0.0.0
*
*> 100.0.0.0
*
*> 111.0.0.0
*
* 123.0.0.0
*>
* 200.0.0.0/8
*>
* 222.0.0.0/8
*>
Next Hop
0.0.0.0
100.1.1.1
200.1.1.1
100.1.1.1
200.1.1.1
100.1.1.1
200.1.1.1
100.1.1.1
200.1.1.1
100.1.1.1
200.1.1.1
100.1.1.1
200.1.1.1
100.1.1.1
200.1.1.1
Metric
0
LocPrf
Weight
32768
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Path
i
100 2 i
200 2 i
100 111 55 i
200 222 123 55 i
100 i
200 2 100 i
100 111 i
200 2 100 111 i
100 111 55 123 i
200 222 123 i
100 2 200 i
200 i
100 2 200 222 i
200 222 i
LAB 1-2-1
76
Next Hop
0.0.0.0
100.1.1.1
200.1.1.1
100.1.1.1
200.1.1.1
100.1.1.1
200.1.1.1
100.1.1.1
200.1.1.1
100.1.1.1
200.1.1.1
200.1.1.1
200.1.1.1
Metric
0
LocPrf
Weight
32768
0
0
0
0
0
0
0
0
0
0
0
0
Path
i
100 2 i
200 2 i
100 111 55 i
200 222 123 55 i
100 i
200 2 100 i
100 111 i
200 2 100 111 i
100 111 55 123 i
200 222 123 i
200 i
200 222 i
LAB 1-2-1
77
0
0
0
0
100 2 200 i
200 i
100 2 200 222 i
200 222 i
LAB 1-2-1
78
Network
*> X.0.0.0
Next Hop
0.0.0.0
Metric
0
...
GX-R1>sh ip bgp neighbors 200.X.1.1 advertised-routes
...
Network
*> X.0.0.0
*> 2.0.0.0
*> 55.0.0.0
*> 100.0.0.0
*> 111.0.0.0
...
Next Hop
0.0.0.0
100.1.1.1
100.1.1.1
100.1.1.1
100.1.1.1
LAB 1-2-1
79
LAB 1-2-1
80
Network
*> X.0.0.0
Next Hop
0.0.0.0
Metric
0
Network
*> X.0.0.0
Next Hop
0.0.0.0
Metric
0
LAB 1-2-1
81
2.3
PERGUNTAS?
82
2.4
Utilizando um
Looking Glass
83
84
85
86
87
Vamos entender:
88
89
90
2.4
PERGUNTAS?
91
2.5
Fail-Over
Automtico
92
LAB 1-2-2
93
LAB 1-2-2
94
LAB 1-2-2
95
LAB 1-2-2
96
LAB 1-2-2
97
LAB 1-2-2
98
LAB 1-2-2
99
LAB 1-2-2
100
101
2.5
PERGUNTAS?
102
2.6
Escolhendo o
Melhor Link
103
104
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
LAB 1-3-1
105
LAB 1-3-1
106
Testando...
...
LAB 1-3-1
107
Ping extendido:
GX-R1#ping
Protocol [ip]:
Target IP address: 123.123.123.1
Repeat count [5]: 2
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: X.128.0.254
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]: record
Number of hops [ 9 ]:
Loose, Strict, Record, Timestamp, Verbose[RV]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 2, 100-byte ICMP Echos to 192.168.100.1, timeout is 2 seconds:
Packet sent with a source address of 172.16.32.1
Packet has IP 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)
LAB 1-3-1
(...continua...)
108
Ping extendido:
(...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)
(123.222.1.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#
LAB 1-3-1
109
110
LAB 1-3-1
111
LAB 1-3-1
112
Next Hop
0.0.0.0
LAB 1-3-1
113
LAB 1-3-1
114
LAB 1-3-1
115
Next Hop
0.0.0.0
0.0.0.0
LAB 1-3-1
116
LAB 1-3-1
117
LAB 1-3-1
118
LAB 1-3-1
119
2.6
PERGUNTAS?
120
2.7
Balanceando os
Links
121
2.7-Balanceando os links
122
2.7-Balanceando os links
LAB 1-4-1
123
2.7-Balanceando os links
LAB 1-4-1
124
2.7-Balanceando os links
Caminho 55,111,100
LAB 1-4-1
125
2.7-Balanceando os links
Caminho 222,200
LAB 1-4-1
126
2.7-Balanceando os links
LAB 1-4-2
127
2.7-Balanceando os links
LAB 1-4-2
128
2.8
Implementando
Alta
Disponibilidade
com VRRP
129
LAB 1-5-1
130
LAB 1-5-1
131
LAB 1-5-1
132
LAB 1-5-1
133
134
Criando as prefix-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 *
LAB 1-5-1
135
Neighbor
100.X.2.1
4 100
192
170
00:00:48
200.X.2.1
4 200
191
181
00:00:51
LAB 1-5-1
136
Network
*> X.0.0.0
Next Hop
0.0.0.0
Metric
0
Network
*> X.0.0.0
Next Hop
0.0.0.0
Metric
0
LAB 1-5-1
137
LAB 1-5-1
138
LAB 1-5-2
139
LAB 1-5-2
140
Vamos verificar o
status...
GX-R1#sh vrrp brief
Interface
Grp Pri Time Own Pre State Master addr
Fa0/0
X 2 3992
Y Master
X.128.0.254
GX-R1#
Group addr
X.128.0.252
Group addr
X.128.0.252
LAB 1-5-2
141
X
LAB 1-5-2
142
(por padro)
LAB 1-5-2
143
LAB 1-5-2
144
LAB 1-5-2
145
2.8
PERGUNTAS?
146
3.0
Peering e Troca de
Trfego
147
3.1
Peering x Trnsito
148
149
150
151
IP
AS
IP
1.2.1.1/30
1.2.1.2/30
3.4.1.1/30
3.4.1.2/30
5.6.1.1/30
5.6.1.2/30
7.8.1.1/30
7.8.1.2/30
9.10.1.1/30
10
9.10.1.2/30
11
11.12.1.1/30
12
11.12.1.2/30
13
13.14.1.1/30
14
13.14.1.2/30
15
15.16.1.1/30
16
15.16.1.2/30
17
17.18.1.1/30
18
17.18.1.2/30
19
19.20.1.1/30
20
19.20.1.2/30
21
21.22.1.1/30
22
21.22.1.2/30
23
23.24.1.1/30
24
23.24.1.2/30
LAB 1-6-1
152
Onde:
X= AS local
Y= AS remoto
LAB 1-6-1
153
Onde:
X= AS local
Y= AS remoto
LAB 1-6-1
154
Onde:
X= AS local
Y= AS remoto
GX-R1#conf t
GX-R1(config)#
GX-R1(config)#router bgp X
GX-R1(config-router)#neighbor X.Y.1.2 remote-as Y
GX-R1(config-router)#neighbor X.Y.1.2 weight 20
!--- priorizar todas as rotas recebidas pelo peering com weight 20
GX-R1(config-router)#neighbor X.Y.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 *
LAB 1-6-1
155
Onde:
X= AS local
Y= AS remoto
GX-R1#conf t
GX-R1(config)#
GX-R1(config)#router bgp X
GX-R1(config-router)#neighbor Y.X.1.1 remote-as Y
GX-R1(config-router)#neighbor Y.X.1.1 weight 20
!--- priorizar todas as rotas recebidas pelo peering com weight 20
GX-R1(config-router)#neighbor Y.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 *
LAB 1-6-1
156
LAB 1-6-1
157
Next Hop
X.Y.1.2
Onde:
1= AS local
2= AS remoto
LAB 1-6-1
158
LAB 1-6-1
159
LAB 1-6-1
160
3.2
Entendendo o
Funcionamento
de Um PIX do PTTMetro
161
162
163
164
165
3.3
Formulrios de Adeso
166
167
...
...
Localidade ........:
ASN ...............:
Entidade Nome .....:
URL ...............:
Endereo ..........:
NOC email .........:
INOC-DBA ext ......:
Telefone ..........:
Adm-c nome ........:
email .............:
Telefone ..........:
Peering-c nome ....:
email .............:
Telefone ..........:
Comercial Trnsito :
email .............:
Telefone ..........:
URL Poltica
Peering .......:
BGP Feed para o
Looking-glass ...:
Vende trnsitov4 ..:
Vende trnsitov6 ..:
Conexo
Bandwidth .........:
Media Ethernet ....:
Nao [ ]
No [x]
No [x]
10BaseTX [ ] 100BaseTX [ ]
1 GigE-SX [X] 1 GigE-LX [ ]
PIX ...............: Registro.br
IPv6 ..............: Sim [x]
Nao [ ]
...
10000BaseTX [ ]
10 GigE-SR [ ]
10 GigE-LR [ ]
168
3.4
Diferenas entre Acordo
Bilateral
e Multilateral
169
170
...
Termo de adeso ao Acordo de Troca de Trfego Multilateral (ATM)
Version .........: 2008071000
Este termo de adeso trata das informaes e compromissos da entidade
solicitante para a participao no acordo de troca de trfego
multilateral no PTTMetro.
Localidade ......: sp.ptt.br
ASN .............: 22548
Entidade Nome ...: Registro.br
ATM v4 ..........: Sim [x]
No [ ]
ATM v6 ..........: Sim [x]
No [ ]
...
171
172
3.5
Participantes Locais e
Remotos
173
174
Ou...
2# - Contratando transporte layer2 (lan2lan, clear channel)
de algum participante conectado fisicamente.
175
3.6
Entendendo o Conceito de
Lan2Lan
176
177
178
3.7
ATM-Tratando as Rotas
Recebidas
179
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
LAB 1-7-1
180
TblVer
168
168
168
168
168
InQ
0
0
0
0
0
OutQ
0
0
0
0
0
Up/Down
07:16:05
07:14:37
00:06:02
00:02:34
07:14:26
State/PfxRcd
4
35
0
45
34
Peering
Trnsito AS100
LAB 1-7-1
Trnsito AS200
181
LAB 1-7-1
182
183
3.8
ATM-Anunciando
Corretamente
184
185
186
3.9
O Looking Glass do PTT
Metro
187
188
189
3.10
Aplicaes de Um Acordo
Bilateral
190
191
LAB 1-8-1
192
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 IP de cada lado)
GX-R1(config-subif)#end
GX-R1# ping Z.Z.Z.Z
!--- testem conectividade IP atravs da vlan antes de iniciar as config BGP
LAB 1-8-1
193
OBS: onde houver Y substituiremos pelo AS do CLIENTE, e Z.Z.Z.Z pelo IP que foi combinado
previamente com o cliente e configurado do outro lado da VLAN
GX-R1#conf t
GX-R1(config)#router bgp X
GX-R1(config-router)#neighbor Z.Z.Z.Z remote-as Y
GX-R1(config-router)#neighbor Z.Z.Z.Z description Acordo bilateral - cliente
GX-R1(config-router)#neighbor Z.Z.Z.Z 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 Z.Z.Z.Z prefix-list BLOCOS-CLIENTE-AS-Y 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 *
LAB 1-8-1
194
OBS: onde houver Y substituiremos pelo AS que ser TRNSITO, e Z.Z.Z.Z pelo IP que
est configurado do outro lado
GX-R1#conf t
GX-R1(config)#router bgp X
GX-R1(config-router)#neighbor Z.Z.Z.Z remote-as Y
GX-R1(config-router)#neighbor Z.Z.Z.Z description Acordo bilateral-transito IP
GX-R1(config-router)#neighbor Z.Z.Z.Z 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 *
LAB 1-8-1
195
Testando o LAB:
LAB 1-8-1
196
3.11
PERGUNTAS?
197
4.0
Filtros Bsicos para um AS
de Trnsito
4. Filtros bsicos para um AS de trnsito
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
198
4.1
eBGP com Upstreams e
Downstreams
199
200
IBGP
201
202
203
4.2
Configurando Filtros de
Upstreams
204
No receber BOGONS;
205
206
207
208
O que o seq ?
Ao inserir o comando:
Gx-R1(config)#ip prefix-list MINHA-LISTA permit 122.36.200.0/24
209
O que o seq ?
210
211
212
213
214
LAB 1-9-1
215
LAB 1-9-1
216
LAB 1-9-1
217
218
HARD reset:
SOFT reset:
219
220
LAB 1-9-2
221
LAB 1-9-2
222
Outros BOGONS
223
Nmero de AS;
224
225
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 SAIDA-CYMRU out
GX-R1(config-router)#neighbor x.x.x.x route-map FILTRO-CYMRUBOGONS in
GX-R1(config-router)#neighbor x.x.x.x password <senha cymru>
GX-R1(config-router)#exit
v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com
226
227
4.3
Configurando Filtros de
Downstreams
228
229
LAB
1-10-1
AS: 100X
IP de WAN: X.X.100.2
230
LAB
1-10-1
231
LAB
1-10-1
232
LAB
1-10-1
233
4.4
Entendendo o
BGP REGEXP
234
Por exemplo:
235
236
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.
^444$
^444espao
espao444
{444,
,444,
{444}
,444,
http://tools.lymas.com.br/regexp_br.php
v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com
237
exemplo2: _1 "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 no seja a primeira.
Satisfaz: "891 12333 3445 9999", "555 123 432", "1111 2222 4444".
No satisfaz: "4333 21123", "4661" "21111 912222", etc.
exemplo3: _1_ "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.
Satisfaz: "2333 1 3445 9999", "33 1", "433 4444 1 433", 1
No satisfaz: "333 222 555 12".
v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com
238
Exemplo: 4.5 "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
Satisfaz: "23415", "43425", "435 3333", "445", "45587", "321 44459 345"
No satisfaz: 315, 416, etc
239
$ Satisfaz a condio para o tudo que o que for terminado com o caracter (ou expresso) ao
lado esquerdo de "$"
exemplo1: 12$ "a condio de match qualquer AS PATH em que os dois ltimos dgitos sejam 1 e 2
respectivamente"
Satisfaz: 4912, "65012", "12312", "11112", "9932 9976 64912", "28135 17379 54312" ...
No satisfaz: 13, 22, 129, 55413, 58752
exemplo2: _12$ "a condio de math qualquer AS PATH em que ltimo AS seja 12"
Satisfaz: "12", "2335 12", "312 12", "111 12"
No satisfaz: "444 112", "22", "12 229", "999 12 1111"
exemplo3: 1.2$ "a condio de match qualquer AS PATH em que seus ltimos 3 dgitos do ltimo AS
sejam: 1, qualquer coisa e 2 respectivamente"
Satisfaz: "123 45666 33 112", "444 122", "132", "1111 132", "444 65192", "60192"
No satisfaz: "2333 222", 123, 112 912
240
^ Satisfaz a condio para caracteres que comecem com o caracter (ou exprsso) aps o ^
exemplo1: ^1 "a condio de match qualquer AS PATH que tenha o dgito 1 no incio do primeiro AS do
PATH
satisfaz: "1111 9999 55443", "12345 6776", 12222, 19999
no satisfaz: 21111, 31211, 2, 3, 43111
exemplo2: ^1.4 "a condio de match qualquer AS PATH em que os 3 primeiros dgitos do primeiro as
sejam: 1, qualquer coisa e 4 respectivamente
Satisfaz: "124 4321", "12444", "1449", "19455 12333", "10466 55443 9900"
No satisfaz: 195, 2124, 22444, 9104
exemplo3: ^1..8$ "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
Satisfaz: 1008, 1248, 1118, 1228, 1998, 1888
No satisfaz: 10008, "1008 1008", "14448"
241
* 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" ".*"
exemplo1: 1_* "a condio de match qualquer coisa que contenha o dgito 1 em qualquer
parte do AS"
satisfaz: "43431 9999 777 9999 8888(infinito...), 99 9991 345 666 654 5556...
no satisfaz: 8872, "9987 2332", etc
Exemplo2: .* "a condio de math qualquer AS PATH de qualquer tamanho, com qualquer
combinao"
Satisfaz: TUDO
No satisfaz: NADA
242
243
[ ] 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.
exemplo1: ^9[249]5$ "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
Satisfaz: 925, 945, e 995
No satisfaz: 915, 955, 965, etc
exemplo2: ^9[5-7]5$ "mesma lgica do exemplo 1, porm o dgito do meio pode ser de 5 7"
Satisfaz: 955, 965 e 975
exemplo3: ^9[^28]5$ "a condio de match a mesma lgica dos exemplos 1 e 2 porm o digito do meio
no poder ser 2 ou 8
Satistaz: todas as possibilidades de um 9.5 "menos" 925 e 985.
exemplo4: ^9[^5-8]5$ "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)
Satisfaz: todas as possibilidades "menos" 955, 965, 975 e 985
244
245
+ Satisfaz a condio para uma(pelo menos) ou mais ocorrncias do caracter (ou expresso)
anterior em qualquer parte
exemplo1: ^([^ ]+)$ satisfaz: qualquer ASPATH que contenha apenas 1 AS
Aplicao prtica: Filtrar para meu cliente apenas rotas que tenham um AS no path e nada mais
? Satisfaz a condio para uma ou nenhuma ou uma ocorrencia do caracter (ou expresso) anterior
exemplo1: ^([^ ]+)?$ satisfaz: qualquer rota que tenha no mximo um AS no PATH ou NENHUM
Aplicao prtica: 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)
246
LAB 1-4-2
LAB
1-11-1
247
LAB
1-11-1
248
LAB
1-11-1
249
LAB
1-11-1
250
251
Exemplo 2:
Exemplo 3:
Network
Next Hop
252
Network
...
*> 216.72.166.0
*> 216.239.32.0/19
...
Next Hop
201.20.36.157
201.20.36.158
253
4.
5
Enviando e Recebendo
Partial e Full-Routing
254
LAB
1-12-1
255
LAB
1-12-1
256
LAB
1-12-1
257
Dessa forma consigo ver tudo e ao mesmo tempo criar uma regra que
"vale por 3"
(...continua)
v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com
258
^([0-9]+ [0-9]+)$|^([0-9]+)$|^$
de
^([0-9]+ [0-9]+)$|^([0-9]+)$|^$
259
^([0-9]+ [0-9]+)$|^([0-9]+)$|^$
de
^([0-9]+ [0-9]+)$|^([0-9]+)$|^$
260
para 4 =>
+)|())$
(...continua)
v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com
261
para:
^([^ ]+_{0,1}){0,4}$
262
4.6
Route-Map x Prefix-List
263
264
265
266
267
268
!
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 deny 1
match ip address prefix-list A
!
route-map TESTE permit 2
!
269
4.7
AS-Path Prepend
270
271
Exemplo1:
(Router-E1)
router bgp 65000
no synchronization
bgp log-neighbor-changes
network 10.7.1.0 mask 255.255.255.0
neighbor 10.0.1.2 remote-as 64800
neighbor 10.0.1.6 remote-as 64800
neighbor 10.0.1.6 route-map prepend out
!
route-map prepend permit 10
set as-path prepend 65000 65000 65000
(Router-R2)
R2#show ip bgp
BGP table version is 3, local router ID is 10.2.0.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP,? - incomplete
Network
Next Hop
Metric LocPrf Weight Path
*>i10.7.1.0/24
10.0.1.1
0
100
0 65000 i
*
10.0.1.5
0
0 65000 65000 65000 65000 i
Fonte:http://wiki.nil.com/AS-path_prepending_(technical_details)
v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com
272
Exemplo2:
(Router-R1)
router bgp 64800
no synchronization
bgp log-neighbor-changes
neighbor 10.0.1.1 remote-as 65000
neighbor 10.0.1.1 route-map prependIn in
neighbor 10.2.0.2 remote-as 64800
!
route-map prependIn permit 10
set as-path prepend last-as 2
(Router-R1)
R1#show ip bgp
BGP table version is 2, local router ID is 10.0.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network
*> 10.7.1.0/24
Next Hop
10.0.1.1
Fonte:http://wiki.nil.com/AS-path_prepending_(technical_details)
v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com
273
4.8
Engenharia de Trfego
I
274
Apenas o DOWNLOAD do
CLIENTE (AS100X) dever
chegar pelo AS 100, de forma
que o DOWNLOAD do AS
LOCAL continuar chegando
pelo AS 200.
AS-55
AS-222
AS-111
AS-200
AS-100
AS-X
DOWNLOAD CLIENTE:
DOWNLOAD AS LOCAL:
LAB
1-13-1
AS-100X
275
Configurando:
GX-R1(config-router)#no neighbor 200.X.1.1 prefix-list ANUNCIAR-AS-200 out
!--- desconfigura a prefix list ANUNCIAR-AS-200 do filtro de saida do AS 200
GX-R1(config-router)#exit
GX-R1(config)#route-map AS-200-OUT permit 10
!--- entra no modo de configurao do route-map seq 1
LAB
1-13-1
276
4.8
PERGUNTAS?
277
5.0
Roteamento
dentro do AS (iBGP)
O trabalho Curso de BGP Design com Roteadores Cisco de Rinaldo Vaz foi licenciado com
uma Licena Creative Commons - Atribuio 3.0 No Adaptada.
Podem estar disponveis autorizaes adicionais ao mbito desta licena em
rinaldopvaz@gmail.com.
278
5.0
Roteamento
dentro do AS (iBGP)
5. Roteamento dentro do AS (iBGP)
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
279
5.1
Implementando Mltiplas
Sadas para Clientes de
Trnsito
280
281
282
283
284
LAB 2-1-1
285
LAB 2-1-1
286
287
LADO DA OPERADORA
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
LAB 2-1-1
288
LADO DO CLIENTE
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 *
LAB 2-1-1
289
LADO DA OPERADORA
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
LAB 2-1-1
290
LADO DO CLIENTE
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 *
LAB 2-1-1
291
LAB 2-1-1
292
LAB 2-1-1
293
LAB 2-1-1
294
(...continuao)
AS-X-R2(config)#route-map ANUNCIAR-AS-200 permit 10
!--- cria um route-map de ao permit sequencia 10
AS-X-R2(config-route-map)#match ip address prefix-list MEUS-BLOCOS
!--- 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 ANUNCIAR-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 ANUNCIAR-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
LAB 2-1-1
295
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
LAB 2-1-1
296
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
LAB 2-1-1
297
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
LAB 2-1-1
298
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
LAB 2-1-1
299
Provavelmente no!
300
5.1
PERGUNTAS?
301
5.2
Update-Source
302
5.2 - Update-source
303
5.2 - Update-source
304
5.2 - Update-source
Vejamos:
AS-X-R4#sh ip route X.0.0.1
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
305
5.2 - Update-source
306
5.2 - Update-source
LAB 2-1-2
307
5.2 - Update-source
LAB 2-1-2
308
5.2 - Update-source
LAB 2-1-2
309
5.2 - Update-source
310
5.2 - Update-source
LAB 2-1-2
311
5.3 Next-hop-self
Por que?
LAB 2-1-3
312
5.3 Next-hop-self
LAB 2-1-3
313
5.3 Next-hop-self
LAB 2-1-3
314
5.3 Next-hop-self
LAB 2-1-2
315
5.3 Next-hop-self
Continuando em R4 e R5...
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
LAB 2-1-3
316
LAB 2-1-4
317
LAB 2-1-4
318
Continuando em R4 e R5...
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 *
LAB 2-1-4
319
AS-X-R1#sh ip bgp
...
Network
Next Hop
*> X.0.0.0
0.0.0.0
*> 100.0.0.0
100.X.1.1
*>i14X.0.0.0
X.0.0.4
*>i15X.0.0.0
X.0.0.5
LAB 2-1-4
320
LAB 2-1-4
321
LAB 2-1-4
322
Entendendo o "syncronization"...
Uma proteo natural que o BGP implementa exigir a
sincronizao de uma rota aprendida por iBGP antes de
inseri-la na FIB.
Quando um router recebe um prefixo de origem "internal"
atravs de iBGP esse no tem como saber se os routers
intermedirios tambm conhecem rota para esse prefixo.
Vamos entender melhor...
323
Entendendo o syncronization...
R4 estabelece um iBGP diretamente com R1 e anuncia os
prefixos recebidos do AS 14X. O problema que AS-X-R1
no tem como saber se R3 conhece rota para os prefixos
do AS 14X.
O syncronization um mecanismo de proteo que evita
loops de roteamento, vamos entender melhor o que
aconteceu no LAB.
324
325
326
327
328
329
330
331
332
333
334
335
LAB 2-1-5
336
LAB 2-1-5
337
LAB 2-1-5
338
LAB 2-1-5
339
*> 99.0.0.0
*> 100.0.0.0
*r>i14X.0.0.0
*r>i15X.0.0.0
*> 200.0.0.0
...
Next Hop
100.X.1.1
100.X.1.1
X.0.0.4
X.0.0.5
100.X.1.1
100
100
0 100 99 i
0 100 i
0 14X i
0 15X i
0 100 99 200 i
Agora podemos ver pelo ">" que a rota para 14X.0.0.0 est
na FIB.
Outro detalhe o "i" esquerda identifica a rota como
"internal".
LAB 2-1-5
340
LAB 2-1-5
341
342
LAB 2-1-6
343
R2
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#
LAB 2-1-6
344
R4
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#
LAB 2-1-6
345
R5
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#
LAB 2-1-6
346
LAB 2-1-6
347
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
LAB 2-1-6
348
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
LAB 2-1-6
349
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
LAB 2-1-6
350
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
LAB 2-1-6
351
LAB 2-1-6
352
AS-X-R1#sh ip bgp
BGP table version is 2, local router ID is X.0.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network
*>iX.0.0.0
*> 100.0.0.0
*> 99.0.0.0
...
Next Hop
X.0.0.3
100.X.1.1
100.X.1.1
LAB 2-1-6
353
354
355
5.5
Route-Reflector
356
5.5 - Route-Reflector
357
5.5 - Route-Reflector
358
5.5 - Route-Reflector
359
5.5 - Route-Reflector
360
5.5 - Route-Reflector
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
LAB 2-1-7
361
5.5 - Route-Reflector
362
5.6
Peer Groups
363
364
LAB 2-1-8
365
366
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 ...
LAB 2-1-8
367
5.7
Local Preference x Weight no
iBGP
368
Caractersticas:
Weight:
Local Preference:
369
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-IN 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-IN 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-IN 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
LAB 2-1-9
370
Conferindo a modificao:
AS-X-R1#sh ip bgp
...
Network
Next Hop
*> 99.0.0.0
*> 100.0.0.0
*> 200.0.0.0
...
100.X.1.1
100.X.1.1
100.X.1.1
10 100 99 i
0 100 i
0 100 99 200 i
LAB 2-1-9
371
372
373
LAB:
utilizando os recursos vistos no curso vamos configurar os
routers do AS de maneira que atenda todos os seguintes
requisitos:
Todo o trfego outbound (upload) deve utilizar o link do AS 100, exceto com destino ao AS 200
(200.0.0.0/8) e seus DOWNSTREAMS
Simulando que o link do AS 100 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 (99.0.0.0/8) atravs do link com o AS 200
LAB 2-1-9
374
5.8 CHEATS
Soluo em R1
router bgp X
no synchronization
bgp log-neighbor-changes
network X.0.0.0
neighbor X.0.0.3 remote-as 4
neighbor X.0.0.3 update-source Loopback0
neighbor X.0.0.3 next-hop-self
neighbor X.0.0.3 soft-reconfiguration inbound
neighbor 100.X.1.1 remote-as 100
neighbor 100.X.1.1 soft-reconfiguration inbound
neighbor 100.X.1.1 route-map AS-100-IN in
neighbor 100.X.1.1 route-map ANUNCIAR-AS-100 out
auto-summary
!
ip prefix-list BLOCOS-AS-14X seq 5 permit 14X.0.0.0/8
!
prefix-list BLOCOS-AS-15X seq 5 permit 15X.0.0.0/8
!
prefix-list BLOCOS-AS-99 seq 5 permit 99.0.0.0/8 le 32
!
ip prefix-list MEUS-BLOCOS seq 5 permit X.0.0.0/8
!
route-map AS-100-IN permit 10
match ip address prefix-list BLOCOS-AS-99
set local-preference 110
set weight 10
!
route-map AS-100-IN permit 999
set local-preference 110
!
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
set as-path prepend 4
!
Soluo em R2
router bgp X
no synchronization
bgp log-neighbor-changes
network X.0.0.0
neighbor X.0.0.3 remote-as X
neighbor X.0.0.3 update-source Loopback0
neighbor X.0.0.3 next-hop-self
neighbor X.0.0.3 soft-reconfiguration inbound
neighbor 200.X.2.1 remote-as 200
neighbor 200.X.2.1 soft-reconfiguration inbound
neighbor 200.X.2.1 weight 10
neighbor 200.X.2.1 route-map AS-200-IN in
auto-summary
!
ip prefix-list BLOCOS-AS-200 seq 5 permit 200.0.0.0/8
le 32
!
route-map AS-200-IN permit 10
match ip address prefix-list BLOCOS-AS-200
set local-preference 120
!
route-map AS-200-IN permit 999
set local-preference 100
!
LAB 2-1-9
375
5.8
PERGUNTAS?
376
6.0
BGP Communities
O trabalho Curso de BGP Design com Roteadores Cisco de Rinaldo Vaz foi licenciado com
uma Licena Creative Commons - Atribuio 3.0 No Adaptada.
Podem estar disponveis autorizaes adicionais ao mbito desta licena em
rinaldopvaz@gmail.com.
377
6.0
BGP Communities
6. BGP Communities
6.1
6.2
6.3
6.4
6.5
Communities Padro
Communities Numricas
Identificando e tratando rotas de peers especficos
Manipulando trsito (nacional/internacional) com communities
Engenharia de Trfego III
378
6.1
Communities Padro
379
380
INTERNET
NO-EXPORT
NO-ADVERTISE
LOCAL-AS
NO-ADVERTISE-SUBCONFED
v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com
381
382
383
384
385
386
R1
R2
conf t
!
no route-map AS-100-IN permit 10
conf t
!
no route-map AS-200-IN permit 10
!
route-map AS-200-IN permit 999
set local-preference 100
!
!
route-map AS-100-IN permit 999
no set local-preference 110
!
!
route-map ANUNCIAR-AS-100 permit 30
no set as-path prepend 4
!
387
LAB2-1-10
388
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
LAB2-1-10
389
LAB2-1-11
390
LAB 3 :
LAB2-1-11
391
6.2
Communities Numricas
392
393
394
395
router#conf t
router(config)#ip bgp-community new-format
396
6.3
Identificando e Tratando
Rotas de Peers Especficos
397
O que fazer?
v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com
398
399
400
401
402
LAB2-1-12
403
LAB2-1-12
404
AS-X-R5#conf t
AS-X-R5(config)#ip community-list standard CLIENTES permit X:20
!--- Cria uma community-list e adiciona a community X:20 nessa lista
AS-X-R5(config)#route-map ANUNCIAR-AS-100 permit 15
AS-X-R5(config-route-map)#match community CLIENTES
AS-X-R5(config-route-map)#exit
AS-X-R5(config)#no route-map ANUNCIAR-AS-100 permit 20
AS-X-R5(config)#no route-map ANUNCIAR-AS-100 permit 30
!-- apaga os route-maps antigos que faziam match em prefix-list
AS-X-R5#clear ip bgp *
*Com apenas 2 route-maps anunciarmos todos os clientes, mesmo que fossem dezenas
LAB2-1-12
405
6.4
Manipulando Trnsito
(Nacional/Internacional) com
Communities
406
Brasil Telecom
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=Intelig, 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.
407
Embratel
408
GVT
AS:1
AS:2
AS:3
AS:4
AS:6
409
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]
410
8010
8030
8060
8250
8070
8080
8100
8120
8240
8130
8140
8150
8160
8170
8230
8190
8200
8210
8220
8290
8011
8031
8061
8251
8071
8081
8101
8121
8241
8131
8141
8151
8161
8171
8231
8191
8201
8211
8221
8291
8012
8032
8062
8252
8072
8082
8102
8122
8242
8132
8142
8152
8162
8172
8232
8192
8202
8212
8222
8292
8013
8033
8063
8253
8073
8083
8103
8123
8243
8133
8143
8153
8163
8173
8233
8193
8203
8213
8223
8293
411
Qwest (AS 209) receber o prefixo com o AS PATH: "3549 3549 4111"
MCI (AS 701) receber o prefixo com o AS PATH: "3549 3549 3549 3549 4111"
412
Intelig
17379:23004 - Community NO-EXPORT-INTERNACIONAL - No anuncia para peers
Internacionais.
17379:23005 - Community NO-EXPORT-NACIONAL - No anuncia para peers
Nacionais.
No-export ? A rota no ser anunciada para nenhum peer eBGP da Intelig.
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.
413
6.5
414
Soluo:
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
LAB2-1-13
416
Prepend +1
1011
1021
1031
1041
1051
1061
1071
1081
1091
9911
Prepend +2 Prepend +3
1012
1013
1022
1023
1032
1033
1042
1043
1052
1053
1062
1063
1072
1073
1082
1083
1092
1093
9912
9913
LAB2-1-14
417
Soluo Lab 2:
!--- 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
LAB2-1-13
418
LAB 2-1-15:
419
LAB2-1-15
420
LAB2-1-15
421
6.5
PERGUNTAS?
422
7.0
Filtros Avanados
para Um AS de Trnsito
O trabalho Curso de BGP Design com Roteadores Cisco de Rinaldo Vaz foi licenciado com
uma Licena Creative Commons - Atribuio 3.0 No Adaptada.
Podem estar disponveis autorizaes adicionais ao mbito desta licena em
rinaldopvaz@gmail.com.
423
7.0
Filtros Avanados
para Um AS de
Trnsito
7.1
7.2
7.3
7.4
7.5
424
7.1
425
426
router-SP#conf t
router-SP(config)#route-map PTT-SAOPAULO-IN permit 1
router-SP(config-route-map)#set community 28135:1111 additive
...
427
428
7.2
Downstreams com
Multihoming
429
430
431
432
433
7.3
AS de Trnsito no PTT
parte I
434
LAB 2-3-1
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-IN 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...
435
LAB 2-3-1
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
436
LAB 2-3-1
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 10 permit ^$
AS-X-R1(config)#ip as-path access-list 20 permit ^14X(_14X)*$
AS-X-R1(config)#ip as-path access-list 30 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-IN 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...)
437
LAB 2-3-1
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 10
!--- 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 20
!--- 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 30
!--- libera os blocos do DOWNSTREAM 2
(continua...)
438
LAB 2-3-1
AS-X-R1
(...continuao)
AS-X-R1(config)#route-map ANUNCIAR-AS-100 permit 10
AS-X-R1(config-route-map)#match ip address prefix-list MEUS-BLOCOS
AS-X-R1(config-route-map)#match as-path 10
!--- libera os blocos do AS local X
AS-X-R1(config-route-map)#exit
AS-X-R1(config)#route-map ANUNCIAR-AS-100 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 20
!--- libera os blocos do DOWNSTREAM 1
AS-X-R1(config-route-map)#exit
AS-X-R1(config)#route-map ANUNCIAR-AS-100 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 30
!--- libera os blocos do DOWNSTREAM 2
AS-X-R1(config-route-map)#end
AS-X-R1#clear ip bgp * soft
439
LAB 2-3-1
440
441
LAB 2-3-1
442
LAB 2-3-1
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 PTT peer-group
AS-14X-R1(config-router)#neighbor PTT remote-as 555
AS-14X-R1(config-router)#neighbor PTT soft-reconfiguration inbound
AS-14X-R1(config-router)#neighbor PTT filter-list 1 out
AS-14X-R1(config-router)#neighbor PTT weight 50
AS-14X-R1(config-router)#neighbor PTT send-community both
AS-14X-R1(config-router)#neighbor 187.16.216.253 peer-group PTT
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 PTT
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
443
LAB 2-3-1
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 PTT peer-group
AS-15X-R1(config-router)#neighbor PTT remote-as 555
AS-15X-R1(config-router)#neighbor PTT soft-reconfiguration inbound
AS-15X-R1(config-router)#neighbor PTT filter-list 1 out
AS-15X-R1(config-router)#neighbor PTT weight 50
AS-15X-R1(config-router)#neighbor PTT send-community both
AS-15X-R1(config-router)#neighbor 187.16.216.253 peer-group PTT
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 PTT
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
444
O que faltou?
445
7.4
Configurando um Transporte
Lan2Lan com xconnect/L2TP
446
LAB 2-4-1
AS-X-R4(config)#l2tp-class transporte-l2
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 transporte-l2
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 transporte-l2
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
447
LAB 2-4-1
AS-X-R1(config)#l2tp-class transporte-l2
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 transporte-l2
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 transporte-l2
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
448
LAB 2-4-1
AS-X-R1#sh l2tun
%No active L2F tunnels
L2TP Tunnel and Session Information Total tunnels 0 sessions 1
LocID
RemID
TunID
Username, Intf/
State Last Chg Uniq ID
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 Information Total tunnels 0 sessions 1
LocID
RemID
TunID
Username, Intf/
State Last Chg Uniq ID
Vcid, Circuit
1
1
0
14X, Fa0/0
est 00:00:43 1
449
450
451
LAB 2-4-2
452
453
7.5
PERGUNTAS?
454
8.0
Multiprotocol Label Switching
(MPLS)
O trabalho Curso de BGP Design com Roteadores Cisco de Rinaldo Vaz foi licenciado com
uma Licena Creative Commons - Atribuio 3.0 No Adaptada.
Podem estar disponveis autorizaes adicionais ao mbito desta licena em
rinaldopvaz@gmail.com.
455
8.0
Multiprotocol Label
Switching (MPLS)
8. Multiprotocol Label Switching
8.1 BGP atravs da nuvem MPLS
8.2 AtoM - Any Transport Over MPLS
8.3 Implementando servio VPN-L3 (VPN-Multiponto)
456
8.1
BGP Atravs da Nuvem MPLS
(BGP Multiprotocol)
457
LAB 2-5-1
458
LAB 2-5-1
459
LAB 2-5-1
460
LAB 2-5-1
461
LAB 2-5-1
462
LAB 2-5-1
463
LAB 2-1-1
464
LAB 2-1-1
465
LAB 2-1-1
466
LAB
2-5-10
467
LAB 2-1-1
468
LAB
2-5-10
469
LAB 2-1-1
470
LAB
2-5-10
471
LAB
2-5-10
Testando...
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] [MPLS: Label 16 Exp 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#
AS-X-R3#sh ip bgp
% BGP not active
472
8.1
PERGUNTAS?
473
LAB
2-5-10
Cenrio:
474
8.2
AToM
Any Trasnport Over MPLS
475
LAB
2-5-10
AS-X-R1(config)#pseudowire-class VPN-AS141R2-TO-AS151R2
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 VPN-AS141R2-TO-AS151R2
AS-X-R1(config-if-xconn)#end
476
LAB
2-5-10
AS-X-R2(config)#pseudowire-class VPN-AS141R2-TO-AS151R2
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 VPN-AS141R2-TO-AS151R2
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, IA=Inactive, 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#
477
LAB
2-5-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)#
478
LAB
2-5-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 ICMP 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#
479
LAB
2-5-10
480
8.2
PERGUNTAS?
481
8.3
Implementando servio
VPN-Layer 3
(MPLS-VPN)
482
LAB
2-5-10
483
LAB
2-5-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 ICMP 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
484
LAB
2-5-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
485
LAB
2-5-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 ICMP 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
486
LAB
2-5-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
487
LAB
2-5-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#
488
LAB
2-5-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#
489
LAB
2-5-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
% Interface Serial1/1 IP 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 ICMP 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
490
LAB
2-5-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#
491
LAB
2-5-10
492
LAB
2-5-10
AS-14X-R1#sh ip bgp
BGP table version is 6, local router ID is 14X.1.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network
Next Hop
*> X.14X.2.0/30 X.14X.4.1
r> X.14X.4.0/30 X.14X.4.1
*> 172.16.0.0/24 0.0.0.0
*> 192.168.0.0
X.14X.4.1
493
LAB
2-5-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
494
LAB
2-5-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 ICMP 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
495
LAB
2-5-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
496
LAB
2-5-10
497
LAB
2-5-10
AS-15X-R1#sh ip bgp
BGP table version is 6, local router ID is 15X.1.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network
Next Hop
*> X.15X.2.0/30 X.15X.5.1
r> X.15X.5.0/30 X.15X.5.1
*> 172.16.0.0/24 0.0.0.0
*> 192.168.0.0
X.15X.5.1
498
LAB
2-5-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#
499
LAB
2-5-10
500
LAB
2-5-10
501
LAB
2-5-10
Next Hop
point2point
point2point
point2point
point2point
point2point
point2point
point2point
point2point
point2point
point2point
point2point
502
LAB
2-5-10
503
LAB
2-5-10
504
LAB
2-5-10
Next Hop
point2point
point2point
point2point
point2point
point2point
point2point
point2point
point2point
point2point
point2point
point2point
505
8.3
PERGUNTAS?
506
MATERIAL
EXTRA
O trabalho Curso de BGP Design com Roteadores Cisco de Rinaldo Vaz foi licenciado com
uma Licena Creative Commons - Atribuio 3.0 No Adaptada.
Podem estar disponveis autorizaes adicionais ao mbito desta licena em
rinaldopvaz@gmail.com.
507
9.
0
Mecanismos de Path Control
O trabalho Curso de BGP Design com Roteadores Cisco de Rinaldo Vaz foi licenciado com
uma Licena Creative Commons - Atribuio 3.0 No Adaptada.
Podem estar disponveis autorizaes adicionais ao mbito desta licena em
rinaldopvaz@gmail.com.
508
9.
0 Mecanismos de Path
Control
509
510
511
512
513
514
515
516
517
Exemplo padro:
518
519
Configuraes:
R1(config)#interface F0/0
R1(config-if)#ip policy route-map PC2-via-R3
R1(config-if)#exit
R1(config)#route-map PC2-via-R3 permit 10
R1(config-route-map)#match ip address 101
R1(config-route-map)#set ip next-hop 10.1.14.4
R1(config-route-map)#exit
R1(config-if)#access-list 101 permit ip host 10.1.1.2 10.1.3.0 0.0.0.255
520
9.
1
PERGUNTAS?
521
IP SLA Tool
522
523
o
servio
| autor: Rinaldo Vaz | rinaldopvaz@gmail.com
que queremos medir).
525
Exemplo:
R3#conf t
R3(config)#ip sla {monitor} responder
526
Verificando:
527
528
529
530
531
532
533
534
9.
2
PERGUNTAS?
535
MUITO OBRIGADO!!
536
Posfcio
537
Errata
Correes
Cap 1
1.1 Initroduo:
Cap 5
(...)
538
Errata
Correes
(...)
539
Errata
(...)
Laboratrios:
Cenrio 2
Outras mudanas
Mudana no layout
540
Errata
Correes
Cap 7.3
Cap 8.1
Cap 7.5
Cap 8.3
541
Errata
Correes
Laboratrios:
Cenrio 1
Cap 7.0
Mais contedo
Cap 5.8
542
Errata
Correes
Laboratrios:
Cenrio 1
Mais contedo
Subcaptulos:
(...)
v3.0 | autor: Rinaldo Vaz | rinaldopvaz@gmail.com
543
Errata
(...)
Laboratrios:
Cenrio 2
Outras mudanas
544
Errata
Mudana no layout
Cores, fontes e grficos melhorados
Correes
Captulo 4
Mais contedo
(...)
545
Errata
(...)
IP SLA Tool
Outras mudanas
Novos slides com configuraes que deveriam ser desfeitas antes de iniciar o
prximo laboratrio
546
Errata
Mudana no layout
Cores, fontes e grficos melhorados
Novos sub-captulos
Engenharia de trfego, Alta Disponibilidade, Transporte L2, e outros
547
Errata
548
Errata
549
550
...seq 80 permit...
...seq 90 permit...
...seq 80 deny...
...seq 90 deny...
551
Erro: x.x.100.0/24
Correo: x.x.200.0/24
552
553
554
555