Vous êtes sur la page 1sur 19

NetGUI:

Configuracion de BGP en Quagga


Redes I
Departamento de Sistemas Telematicos y Computacion (GSyC)

Octubre de 2011

GSyC - 2011

NetGUI: Configuraci
on de BGP en Quagga

c
2011
Grupo de Sistemas y Comunicaciones.
Algunos derechos reservados.
Este trabajo se distribuye bajo la licencia
Creative Commons Attribution Share-Alike
disponible en http://creativecommons.org/licenses/by-sa/2.1/es

GSyC - 2011

NetGUI: Configuraci
on de BGP en Quagga

Zebra

Quagga

Zebra (www.zebra.org) es un software que gestiona la tabla de


Quagga (www.quagga.net)
un software que gestiona
la tabla
de
encaminamiento
segn elesfuncionamiento
de varios
protocolos
deencaminamiento
encaminamiento
dem
la
arquitectura
de una
aquina
Linux seg
unTCP/IP.
el funcionamiento de varios
protocolos de encaminamiento de la arquitectura TCP/IP.
!La arquitectura de Zebra est formada por un conjunto de
La arquitectura de Quagga esta formada por un conjunto de procesos:
procesos:
!

Proceso
zebra:actualiza
actualiza lalatabla
encaminamiento
e intercambia
rutas seg
un
Proceso
zebra:
tabladede
encaminamiento
e intercambia
rutas
segnprotocolos
diferentes
de encaminamiento
diferentes
de protocolos
encaminamiento
Proceso
cadaprotocolo
protocolo de
ripd, ripd,
opsfd,opsfd,
bgpd bgpd
Proceso
dedecada
deencaminamiento:
encaminamiento:

Utilizaremos
Quagga
para
probar los
los siguientes
protocolos:
RIPv2,BGP-4,
OSPFv2 y
Utilizaremos
Zebra
para
probar
siguientes
protocolos:
RIPv2,
BGP-4.OSPFv2

Proceso BGP
bgpd

Software
quagga

Proceso RIP
ripd

Proceso OSPF
ospfd

Proceso zebra
zebra

Tabla de encaminamiento del kernel de Linux

GSyC 2009
GSyC - 2011

NetGUI: Configuraci
on de BGP en Quagga

Configuracion y monitorizacion de los procesos de Quagga


Los procesos del software Quagga pueden configurarse de dos
formas:
1
2

A traves de ficheros de configuraci


on
A traves de VTY (Virtual Terminal Interface): conexiones a
traves de telnet con cada uno de los procesos de quagga. VTY
permite, ademas de configurar los protocolos de
encaminamiento, monitorizar su comportamiento.

En las practicas utilizaremos:


Configuraci
on a traves de los ficheros:
daemons (ver p
ag. 7)
bgpd.conf (ver p
ag. 8)

Monitorizaci
on a traves de:
capturas de tr
afico, utilizando tcpdump con la opci
on -s 0
que permite capturar los paquetes completos.
VTY (p
ags. 1012): telnet localhost bgpd

GSyC - 2011

NetGUI: Configuraci
on de BGP en Quagga

Iniciar Quagga

Al iniciar un router en NetGUI normalmente el software de


quagga no estara arrancado. Para arrancarlo:
1
2
3

Se editan los ficheros de configuraci


on (pags 69).
Se arranca quagga (/etc/init.d/quagga start)
Si es necesario modificar la configuraci
on, se interrumpe la
ejecuci
on de quagga (/etc/init.d/quagga stop), se
modifican los ficheros, y se vuelve a arrancar quagga
(/etc/init.d/quagga start)

En algunos escenarios puede que algunos routers esten


preconfigurados para que arranquen con quagga ya lanzado.

GSyC - 2011

NetGUI: Configuraci
on de BGP en Quagga

Ficheros de configuracion
Los ficheros de configuraci
on de quagga se encuentran en el
directorio /etc/quagga:
zebra.conf:
Configuraci
on general del software de quagga.
No lo modificaremos.

daemons:
Procesos de encaminamiento que se desean habilitar.
Lo modificaremos para activar los protocolos de
encaminamiento que deseemos que ejecute el router (p.ej,
BGP).

ripd.conf, ospfd.conf, bgpd.conf:


Ficheros de configuraci
on de cada uno de los protocolos de
encaminamiento que estan habilitados en el fichero daemons.
Modificaremos bgpd.conf para especificar la configuraci
on de
rutas que deseamos exportar con el protocolo de
encaminamiento.
GSyC - 2011

NetGUI: Configuraci
on de BGP en Quagga

daemons
# ...
# Entries are in the format:
<daemon>=(yes|no|priority)
# ...
# ...
# /usr/doc/quagga/README.Debian for details.
# Daemons are: bgpd quagga ospfd ospf6d ripd ripngd isisd
zebra=yes
bgpd=yes
ospfd=no
ospf6d=no
ripd=no
ripngd=no

Activa BGP en el router

Las lneas que comienzan por # son comentarios.

GSyC - 2011

NetGUI: Configuraci
on de BGP en Quagga

bgpd.conf
Configuracin de
BGP en r2

! -*- bgpf -*-*- bgpf -*!


! BGPd sample configuration file
!
BGPd sample configuration
file
hostname bgpd
Habilitar BGP,
password zebra
identificador de

!
!
!
!
hostname bgpd
password zebra
router bgp 200

bgpd.conf

Clave para la
conexin al puerto
2605 del proceso
bgpd

Redes a las que r2 est directamente


conectado y que se van a anunciar

Contrase
na para usando
el acceso
por telnet
al proceBGP.VTY
Es equivalente
a tener:
network 10.1.0.0/16
so bgpd
network 12.1.0.0/16
network 12.5.0.0/16

Activa BGP con identificador de AS=200


11.1.0.0/16

AS =200
Identificador
router bgp 200
bgp router-id 10.1.0.20de router
BGP

eth0

AS100

r1
eth1

20.1.0.10

neighbor 10.1.0.10 remote-as 100


bgp router-id 20.1.0.20

20.1.0.0/16

redistribute connected

neighbor 20.1.0.10 remote-as 100


redistribute

Router vecino en el AS 100


al que se van a mandar los
anuncios. Si hay ms
connected
routers vecinos BGP es
necesario aadir ms
lneas similares a sta

Router vecino en AS100 al que se enviar


an anuncios
Identificador del router BGP. Es costumbre que sea
su IP m
as alta

eth0 20.1.0.20

r2

AS200

eth2
eth1

12.5.0.0/16

12.1.0.0/16

Se anunciar
an por BGP las redes a las que el
router est
a directamente conectado (en este
caso: 20.1.0.0/16, 12.1.0.0/16, 12.5.0.0/16).
Es equivalente a haber puesto:
network 20.1.0.0/16
network 12.1.0.0/16
network 12.5.0.0/16

Las lneas que comienzan por ! son comentarios.


GSyC - 2011

NetGUI: Configuraci
on de BGP en Quagga

bgpd.conf: Agregacion de Rutas


Utilizando CIDR pueden agruparse varias redes bajo un solo
prefijo para optimizar el n
umero de entradas en las tablas de
los routers.
En el fichero bgpd.conf se incluira el comando:
aggregate-address a.b.c.d/prefix summary-only
si una red a anunciar se encuentra incluida en
a.b.c.d/prefix, se anunciara a.b.c.d/prefix en vez de
dicha red.

Ejemplo:
...
router bgp 200
...
aggregate-address 12.0.0.0/14 summary-only
...
(agrega las redes 12.0.0.0/16, 12.1.0.0/16, 12.2.0.0/16, 12.3.0.0/16)
GSyC - 2011

NetGUI: Configuraci
on de BGP en Quagga

Configuracion de BGP mediante conexion telnet


En el software de quagga, cada proceso de un protocolo de
encaminamiento (RIP, OSPF, BGP) y el propio proceso de
quagga escucha conexiones TCP en un puerto determinado.
En los ejercicios, nos conectaremos al proceso de BGP (bgpd)
para visualizar la informaci
on. Este proceso esta escuchando
en el puerto 2605. Para ello usaremos el comando telnet
para establecer una conexi
on TCP con la propia maquina
(localhost) y el puerto 2605 (o bgpd, ya que el fichero
/etc/services asocia el identificador bgpd al puerto 2605):
r1:~# telnet localhost bgpd

Al conectarnos se solicitara una contrase


na: la definida en el
fichero bgpd.conf (por defecto, quagga):
Una vez establecida la conexi
on podremos introducir
comandos para configurar o monitorizar BGP.
GSyC - 2011

NetGUI: Configuraci
on de BGP en Quagga

10

VTY (I)
r1:~# telnet localhost bgpd
Trying 127.0.0.1...
Connected to r1.
Escape character is ^].
Hello, this is quagga (version 0.94).
Copyright 1996-2002 Kunihiro Ishiguro.
User Acess Verification
Password: quagga
bgpd> ?
enable
Turn on privileged mode command
exit
Exit current mode and down to previous mode
help
Description of the interactive help system
list
Print command list
quit
Exit current mode and down to previous mode
show
Show running system information
terminal
Set terminal line parameters
who
Display who is on vty
bgpd>

El comando ? es el comando de ayuda: muestra todos los comandos


disponibles.
GSyC - 2011

NetGUI: Configuraci
on de BGP en Quagga

11

VTY (II)
El comando show ip bgp muestra la informaci
on sobre la tabla de
encaminamiento BGP del router (el ejemplo muestra la configuraci
on del router
r2 de la figura):
bgpd> show ip bgp
BGP table version is 0, local router ID is 10.1.0.20
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network

bgpd.conf

Clave
para Hop
la
Next

Metric LocPrf Weight Path


100
0
Redes
a las que r2 est directamente

conexin al puerto
nfiguracin*>de11.1.0.0/16
2605 20.1.0.10
del proceso
P en r2
*>20.1.0.0/16bgpd 0.0.0.0
bgpf -*-

*>12.1.0.0/16
*>12.5.0.0/16

d sample configuration file

conectado
y que se van
a anunciar
0
32768
usando BGP. Es equivalente a tener:

0.0.0.0
0.0.0.0

0
0

ame bgpd
ord zebra

Habilitar BGP,
identificador de
AS =200
Identificador
r bgp 200
*: Indicador de ruta
de router
outer-id
10.1.0.20
v
alida
BGP

32768
network 10.1.0.0/16
network 12.1.0.0/16
32768
network 12.5.0.0/16

11.1.0.0/16
eth0

i
i
i
i

AS100

r1
eth1

>: Indicador de ruta

elegida remote-as 100


bor 10.1.0.10

20.1.0.10
20.1.0.0/16

NEXT HOP para


tributeAtributo
connected

Atributo AS PATH para la ruta a


11.1.0.0/16 que ha aprendido a
trav
es de r1.
No hay AS PATH para las rutas
internas de AS200

la ruta a 11.1.0.0/16

vecino en el AS 100
se van a mandar los
os. Si hay ms
vecinos BGP es
rio aadir ms
similares a sta

GSyC - 2011

eth0 20.1.0.20

r2

AS200

eth2
eth1

12.5.0.0/16

12.1.0.0/16

NetGUI: Configuraci
on de BGP en Quagga

12

Redistribucion de rutas entre protocolos

Un router puede ejecutar varios protocolos de encaminamiento


diferentes
As, por ejemplo, un router frontera de un AS ejecutara tanto
BGP como un protolo interior (RIP u OSPF).
Para que las rutas aprendidas por RIP/OSPF se propaguen
hacia el exterior anunciandose a traves de BGP es necesario
configurarlo explcitamente en el fichero bgpd.conf.
Para que las rutas aprendidas por BGP se propaguen
internamente utilizando RIP/OSPF es necesario configurarlo
explcitamente en el fichero ripd.conf/ospfd.conf.

GSyC - 2011

NetGUI: Configuraci
on de BGP en Quagga

13

Redistribucion entre RIP y BGP:


Rutas aprendidas por RIP en anuncios BGP
Si AS200 est
a ejecutando RIP entre todos sus routers internos, el router
frontera r2 debe estar ejecutando tanto BGP como RIP. El fichero
y BGP:
Rutas aprendidas por
daemons tendr
a activado:RIP
quagga,
ripd y bgpd.

RIP en anuncios BGP

Si AS200 est ejecutando RIP entre


todos sus routers
internos,
el router
Los ficheros ripd.conf
de cada
uno
de
frontera r2 debe estar ejecutando tanto
los routers de AS200
estar
configurados
BGP como
RIP.aElnfichero
daemons
tendr activado:
ripd y bgpd
adecuadamente para
que sezebra,
anuncien
por

11.1.0.0/16
eth0

RIP las rutas interiores


deripd.conf
AS200.
Los ficheros
de cada uno de
los routers de AS200 estarn
Para que las rutas
aprendidas
por r2para
a que se
configurados
adecuadamente
por RIP
las rutas
interiores
trav
es de RIP seanuncien
anuncien
por
BGP
es de
AS200 (vase zebra-RIP.pdf). No hay que
necesario a
nadir incluir
la siguiente
lnea
el
la red 10.1.0.0/16
en en
el fichero
ripd.conf porque no queremos que se
fichero bgpd.conf:
enven actualizaciones peridicas de RIP
por esa interfaz.

...
Para que las rutas aprendidas por r2 a
router bgp 200
travs de RIP se anuncien por BGP es
...
necesario aadir la siguiente lnea en el
fichero bgpd.conf:
redistribute
rip
...
redistribute rip
GSyC - 2011

AS100

r1
Anuncios BGP con
informacin de rutas
aprendidas por RIP

eth1 20.1.0.10

20.1.0.0/16

eth0 20.1.0.20

r2

AS200

eth2
eth1

RIP

NetGUI: Configuraci
on de BGP en Quagga

14

Redistribucion entre RIP y BGP:


Rutas aprendidas por BGP en anuncios RIP
RIP y BGP: Rutas aprendidas por
BGP en anuncios RIP

Para que los routers internos de AS200 puedan alcanzar


los destinos de AS100, r2 puede redistribuir la informaci
on
que ha aprendido por BGP utilizando RIP. Para ello, el
fichero ripd.conf de r2 debe incluir la siguiente lnea:

...
Para que los routers internos de AS200
router rip
puedan alcanzar los destinos de AS100,
...
r2 puede redistribuir la informacin que ha
redistribute bgp aprendido por BGP utilizando RIP. Para
ello, el fichero ripd.conf de r2 debe incluir
...

11.1.0.0/16

r1

al final la siguiente lnea:

eth1

20.1.0.10

En la red 20.1.0.0/16 no hay routers RIP, por lo que no


redistribute bgp
tiene sentido que r2 enve mensajes RIP por su interfaz
eth0, por lo que puede evitar
en sunofichero
de
La redponer
10.1.0.0/16
se ha aprendido
configuraci
on ripd.confmediante
la lnea BGP
network
(es una20.1.0.0/16.
red directamente
a r2), por dentro
tanto, sigue
Pero entonces esa red noconectada
sera anunciada
de sin
anunciarse
dentro de AS200.
AS200. Para que s se anuncie
es necesario
a
nadirPara
en
conseguir que se anuncie es necesario
ripd.conf la lnea redistribute
connected.
aadir la siguiente lnea en el fichero
As, en r2 el fichero ripd.conf
quedar
a:
ripd.conf:
...
router rip
network 12.1.0.0/16
network 12.5.0.0/16
redistribute connected
redistribute bgp
...

GSyC - 2011

AS100

eth0

r2

20.1.0.0/16

eth0 20.1.0.20

12.1.0.2

12.5.0.2

eth1

eth2

Anuncios RIP con


informacin de rutas
aprendidas por BGP

AS200

12.1.0.0/16

12.5.0.0/16

redistribute connected

RIP

NetGUI: Configuraci
on de BGP en Quagga

15

Redistribucion entre OSPF y BGP:


Rutas aprendidas por OSPF en anuncios BGP
Si AS200 est
a ejecutando OSPF entre todos sus routers internos, el
router frontera r2 debe estar ejecutando tanto BGP como OSPF. El
fichero daemons tendr
a activado:
ospfd
y bgpd.
OSPF quagga,
y BGP:
Rutas
aprendidas

por OSPF en anuncios BGP

Si AS200 est
OSPFde
entre
Los ficheros ospfd.conf
deejecutando
cada uno
todos sus routers internos, el router
los routers de AS200
anestar
configurados
fronteraestar
r2 debe
ejecutando tanto
BGP como
El fichero daemons
adecuadamente para
queOSPF.
se anuncien
por
tendr activado: zebra, ospfd y bgpd
OSPF las rutas interiores de AS200.
Los ficheros ospfd.conf de cada uno de

Para que las rutaslosaprendidas


r2 a
routers de AS200por
estarn
configurados
adecuadamente
para
trav
es de OSPF se
anuncien
por BGP
esque se
anuncien por OSPF las rutas interiores de
necesario a
nadir la
siguiente
lnea en elNo hay
AS200
(vase zebra-OSPF.pdf).
que incluir la red 10.1.0.0/16 en el fichero
fichero bgpd.conf:
ospfd.conf porque no queremos que se
enven peridicamente mensajes OSPF
HELLO por esa interfaz.

...
router bgp 200Para que las rutas aprendidas por r2 a
travs de OSPF se anuncien por BGP es
...
aadir la siguiente lnea en el
redistributenecesario
ospf
fichero
bgpd.conf:
...

11.1.0.0/16
eth0

AS100

r1
Anuncios BGP con
informacin de rutas
aprendidas por OSPF

eth1

20.1.0.10

20.1.0.0/16

eth0 20.1.0.20

r2

AS200

eth2
eth1

OSPF

redistribute ospf

GSyC - 2011

NetGUI: Configuraci
on de BGP en Quagga

16

Redistribucion entre OSPF y BGP:


Rutas aprendidas por BGP en anuncios OSPF
OSPF y BGP: Rutas aprendidas
por BGP en anuncios OSPF

Para que los routers internos de AS200 puedan alcanzar


los destinos de AS100, r2 puede redistribuir la informaci
on
que ha aprendido por BGP utilizando OSPF. Para ello, el
fichero ospfd.conf de r2 debe incluir la siguiente lnea:

...
Para que los routers internos de AS200
router ospf
puedan alcanzar los destinos de AS100,
...
r2 puede redistribuir la informacin que ha
redistribute bgp
aprendido por BGP utilizando OSPF. Para
...
ello, el fichero ospfd.conf de r2 debe

11.1.0.0/16

r1

incluir al final la siguiente lnea:

En la red 20.1.0.0/16 no hay routers OSPF, por lo que no


redistribute
tiene sentido que r2 enve mensajes
OSPF por subgp
interfaz
eth0, por lo que puede evitar poner en su fichero de
Lalared
10.1.0.0/16 no se ha aprendido
configuraci
on ospfd.conf
lnea
mediante BGP (es una red directamente
network 20.1.0.0/16 area 0.
conectada a r2), por tanto, sigue sin
Pero entonces esa red noanunciarse
sera anunciada
dentro dedentro
AS200. de
Para
AS200. Para que s se anuncie
es que
necesario
a
nadir
en
conseguir
se anuncie
es necesario
aadir la siguiente
lnea en el fichero
ospfd.conf la lnea redistribute
connected.
ospfd.conf:
As, en r2 el fichero ospfd.conf
quedara:

AS100

eth0

eth1

20.1.0.10

r2

20.1.0.0/16

eth0 20.1.0.20

12.1.0.2

12.5.0.2

eth1

eth2

Anuncios OSPF con


informacin de rutas
aprendidas por BGP

AS200

12.1.0.0/16

12.5.0.0/16

OSPF

redistribute connected

...
router ospf
network 12.1.0.0/16 area 0
network 12.5.0.0/16 area 0
redistribute connected
redistribute bgp
...

GSyC - 2011

NetGUI: Configuraci
on de BGP en Quagga

17

Polticas de exportacion de rutas

Las relaciones entre ASs dictan unas reglas de exportacion de


rutas.
Para explicitarlas, hay que incluir la relaci
on de rutas que se
exportan en el fichero bgpd.conf mediante el comando
neighbor ... prefix-list ... out.
Tambien podran definirse listas de importaci
on de rutas
mediante neighbor ... prefix-list ... in, pero no lo
utilizaremos porque, en general, un AS s quiere conocer todas
las rutas que le anuncien.

GSyC - 2011

NetGUI: Configuraci
on de BGP en Quagga

18

Polticas de exportacion de rutas: Ejemplo

Relacin entre iguales


entre dos ASs

Configuraci
on de bgpd.conf
en r2:
Definicin
de
router bgp 200Configuracin de
neighbor 20.3.0.30 remote-as 300

BGP en r2

neighbor !20.3.0.30
-*- bgpf prefix-list
-*-

listaImpDesdeAS300 para
importar rutas en AS200

Definicin de
listaExpHaciaAS300 para

listaExpHaciaAS300
exportar rutas en AS200out

!
! BGPd sample configuration file

AS100

r1

redistribute
...
!
redistribute ...

aggregate-address ...
neighbor 10.3.0.30
remote-as 300
aggregate-address
...

trnsito

neighbor 10.3.0.30 prefix-list listaExpHaciaAS300 out

ip prefix-list
listaExpHaciaAS300
permitlistaImpDesdeAS300
12.1.0.0/16
neighbor
10.3.0.30 prefix-list
in

r2

p
trnsito
c

c
20.3.0.20

20.3.0.30
entre
iguales

ip prefix-list
listaExpHaciaAS300
permit 12.2.0.0/16
ip prefix-list
listaExpHaciaAS300
permit 12.1.0.0/16

r3

ip prefix-list listaExpHaciaAS300 permit 12.2.0.0/16


ip prefix-list listaImpDesdeAS300 permit 13.1.0.0/16

Definici
onprefix-list
de las ru- listaImpDesdeAS300
Hacia el vecino
20.3.0.30
ip
permit 13.2.0.0/16
tas que forman parte de
se exportar
an s
olo
la lista de exportaci
on
las rutas de la lista
Rutas dentro de
listaExpHaciaAS300
listaExpHaciaAS300
Rutas dentro de
listaImpDesdeAS300

listaExpHaciaAS300

NOTA: las lneas ip prefix-list deben


aparecer despu
es de las redistribute y de las
aggregate-address que hubiera en el fichero.
GSyC - 2011

12.1.0.0/16
12.2.0.0/16

AS200

13.1.0.0/16
13.2.0.0/16

AS300

AS200 y AS300 tienen relacin entre iguales


para intercambiar trfico entre sus direcciones
internas y las de sus posibles clientes

NetGUI: Configuraci
on de BGP en Quagga

19

Vous aimerez peut-être aussi