Professional Documents
Culture Documents
Febrero de 2012
GSyC - 2012
c 2012 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 - 2012
Quagga
Quagga (www.quagga.net) es un software que gestiona la tabla de
!!
Zebra (www.zebra.org) es m un que seg gestiona tabla de encaminamiento encaminamiento de una asoftware quina Linux un el la funcionamiento de varios segn el funcionamiento de varios protocolos de encaminamiento de la arquitectura protocolos de encaminamiento de la arquitectura TCP/IP. TCP/IP. La arquitectura de Zebra est formada por un conjunto de procesos:
!
Zebra
!!
!
!!
bgpd
Utilizaremos Zebra para probar los siguientes protocolos: BGP-4, RIPv2, OSPFv2
Utilizaremos Quagga para probar los siguientes protocolos: RIPv2, OSPFv2 y BGP-4.
!"#$%&#'()!' bgpd
!"#$%&#',-!.' ospfd
-#=>1"%'4%' !"#$$#'
21031'4%'%5$1675167%58#'4%3'9%"5%3'4%':75;<'
2
GSyC - 2012 GSyC 2009 NetGUI: Conguraci on de BGP en Quagga 3
A trav es de cheros de conguraci on A trav es de VTY (Virtual Terminal Interface): conexiones a trav es de telnet con cada uno de los procesos de quagga. VTY permite, adem as de congurar los protocolos de encaminamiento, monitorizar su comportamiento. Conguraci on a trav es de los cheros:
daemons (ver p ag. 7) bgpd.conf (ver p ag. 8)
GSyC - 2012
Iniciar Quagga
Al iniciar un router en NetGUI normalmente el software de quagga no estar a arrancado. Para arrancarlo:
1 2 3
Se editan los cheros de conguraci on (p ags 69). Se arranca quagga (/etc/init.d/quagga start) Si es necesario modicar la conguraci on, se interrumpe la ejecuci on de quagga (/etc/init.d/quagga stop), se modican los cheros, y se vuelve a arrancar quagga (/etc/init.d/quagga start)
En algunos escenarios puede que algunos routers est en precongurados para que arranquen con quagga ya lanzado.
GSyC - 2012
Ficheros de conguraci on
Los cheros de conguraci on de quagga se encuentran en el directorio /etc/quagga: zebra.conf:
Conguraci on general del software de quagga.
No lo modicaremos.
daemons:
Procesos de encaminamiento que se desean habilitar.
Lo modicaremos para activar los protocolos de encaminamiento que deseemos que ejecute el router (p.ej, BGP).
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
GSyC - 2012
bgpd.conf
! -*- bgpf -*! ! BGPd sample configuration file ! hostname bgpd password zebra router bgp 200 bgp router-id 20.1.0.20 neighbor 20.1.0.10 remote-as 100 Contrase na para el acceso VTY por telnet al proceso bgpd Activa BGP con identicador de AS=200
bgpd.conf
!"#$%
!!"!"#"#$!%&
$%"''#
!"#
!"#&%
'#"!"#"!#&
'#"!"#"'#&
redistribute connected
!"#$%
!&&
!"#'% !"#&%
$%&''#
!'"("#"#$!%&
!'"!"#"#$!%&
Router vecino en AS100 al que se enviar an anuncios Identicador del router BGP. Es costumbre que sea su IP m as alta
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
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 - 2012 NetGUI: Conguraci on de BGP en Quagga 9
Al conectarnos se solicitar a una contrase na: la denida en el chero bgpd.conf (por defecto, zebra): Una vez establecida la conexi on podremos introducir comandos para congurar o monitorizar BGP.
GSyC - 2012 NetGUI: Conguraci 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.99.10). Copyright 1996-2005 Kunihiro Ishiguro, et al. User Acess Verification Password: zebra bgpd> ? enable exit help list quit show terminal who bgpd>
Turn on privileged mode command Exit current mode and down to previous mode Description of the interactive help system Print command list Exit current mode and down to previous mode Show running system information Set terminal line parameters Display who is on vty
VTY (II)
El comando show ip bgp muestra la informaci on sobre la tabla de encaminamiento BGP del router (el ejemplo muestra la conguraci on del router r2 de la gura):
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 Next Hop *> 11.1.0.0/16 20.1.0.10 *>20.1.0.0/16 *>12.1.0.0/16 *>12.5.0.0/16 0.0.0.0 0.0.0.0 0.0.0.0 Metric 0 0 0 0 LocPrf Weight 32768 32768 32768 Path 100
bgpd.conf
i i i i
!"#$%
*: Indicador de ruta v alida >: Indicador de ruta elegida
!!"!"#"#$!%&
$%"''#
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
!"#
!"#&%
'#"!"#"!#&
'#"!"#"'#&
!"#$%
!&&
!"#'% !"#&%
$%&''#
!'"("#"#$!%&
!'"!"#"#$!%&
GSyC - 2012
12
Un router puede ejecutar varios protocolos de encaminamiento diferentes As , por ejemplo, un router frontera de un AS ejecutar a tanto BGP como un protolo interior (RIP u OSPF). Para que las rutas aprendidas por RIP/OSPF se propaguen hacia el exterior anunci andose a trav es de BGP es necesario congurarlo expl citamente en el chero bgpd.conf. Para que las rutas aprendidas por BGP se propaguen internamente utilizando RIP/OSPF es necesario congurarlo expl citamente en el chero ripd.conf/ospfd.conf.
GSyC - 2012
13
Redistribuci on 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 chero daemons tendr a activado: zebra, ripd y bgpd.
Los cheros ripd.conf de cada uno de los routers de AS200 estar an congurados adecuadamente para que se anuncien por RIP las rutas interiores de AS200. Para que las rutas aprendidas por r2 a trav es de RIP se anuncien por BGP es necesario a nadir la siguiente l nea en el chero bgpd.conf: ... router bgp 200 ... redistribute rip ...
GSyC - 2012
!"#$%
!!"!"#"#$!%&
'("%%#
!"#
$%&"&%&"%#
!"#&%
$%&"&%&$%#
!"#$%
!$&
!"#&%
'($%%# '()&
14
Redistribuci on entre 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 chero ripd.conf de r2 debe incluir la siguiente l nea: ... router rip ... redistribute bgp ... r2 NO tiene en su chero de conguraci on ripd.conf la l nea network 20.1.0.0/16, ya que en esa subred no hay otros routers RIP. Para que se anuncie la subred 20.1.0.0/16 dentro del AS es necesario a nadir en ripd.conf la l nea redistribute connected. As , en r2 el chero ripd.conf quedar a: ... router rip network 12.1.0.0/16 network 12.5.0.0/16 redistribute connected redistribute bgp ...
!"#'%
%%&%&'&'(%)$
!"'$$%
&'%
#$('($('$%
!"#$%
#$('($(#$%
!"#'%
&#$
'#('($(#% %*&%&'&'(%)$
!"#$%
%*&+&'&'(%)$
!"#$$%
!"#$
GSyC - 2012
15
Redistribuci on 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 chero daemons tendr a activado: zebra, ospfd y bgpd.
Los cheros ospfd.conf de cada uno de los routers de AS200 estar an congurados adecuadamente para que se anuncien por OSPF las rutas interiores de AS200. Para que las rutas aprendidas por r2 a trav es de OSPF se anuncien por BGP es necesario a nadir la siguiente l nea en el chero bgpd.conf: ... router bgp 200 ... redistribute ospf ...
GSyC - 2012
!"#$%
!!"!"#"#$!%&
'("%%#
!"#
$%&"&%&"%#
!"#&%
$%&"&%&$%#
!"#$%
!$&
!"#&%
'($%%# '()*&
16
Redistribuci on entre 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 chero ospfd.conf de r2 debe incluir la siguiente l nea: ... router ospf ... redistribute bgp ... r2 NO tiene en su chero de conguraci on ospfd.conf la l nea network 20.1.0.0/16, ya que en esa subred no hay otros routers OSPF. Para que se anuncie la subred 20.1.0.0/16 dentro del AS es necesario a nadir en ospfd.conf la l nea redistribute connected. As , en r2 el chero ospfd.conf quedar a: ... router ospf network 12.1.0.0/16 area 0 network 12.5.0.0/16 area 0 redistribute connected redistribute bgp ...
!"#'%
&&'&'('()&*%
!"'$$%
&'%
#$('($('$%
!"#$%
#$('($(#$%
!"#'%
&#%
'#('($(#% &+'&'('()&*%
!"#$%
&+','('()&*%
!"#$$%
!"#$%
GSyC - 2012
17
Las relaciones entre ASs dictan unas reglas de exportaci on de rutas. Para explicitarlas, hay que incluir la relaci on de rutas que se exportan en el chero bgpd.conf mediante el comando neighbor ... prefix-list ... out. Tambi en podr an denirse listas de importaci on de rutas mediante neighbor ... prefix-list ... in, pero no lo utilizaremos.
GSyC - 2012
18
!"($$%
)( !"#$%&!'( *( "#!
'#!
*(
#$)&)$)#$% #$)&)$)&$%
$%&$&'&'($)! $%&%&'&'($)!
$#&$&'&'($)! $#&%&'&'($)!
!"#$$%
!"&$$%
NOTA: las l neas ip prefix-list deben aparecer despu es de las redistribute y de las aggregate-address que hubiera en el chero.
GSyC - 2012 NetGUI: Conguraci on de BGP en Quagga 19
!"&$$% )&%
!*+*,-.%/0%123% 3+4)0/03%/0%!"($$% !"5!678'$$9%($$%
!"
GSyC - 2012
20
!"#$$% )#%
$%&'&%&'%" !"
*+,!*%-./013$$%
$%&'&%&$%"
!"
!"&$$% )&%
*+,!*%-./012$$%
#"
neighbor 20.1.0.10 route-map confLocalPrefAS100 in neighbor 20.2.0.30 route-map confLocalPrefAS300 in redistribute ... redistribute ... aggregate-address ... aggregate-address ... route-map confLocalPrefAS100 permit 10 set local-preference 500
#24$4$4$5#2%
GSyC - 2012
21
!"#$$% )#%
$%&'&%&'%" !"
*+,!*%-./013$$%
$%&'&%&$%"
!"
!"&$$% )&%
*+,!*%-./012$$%
#"
Si en la tabla BGP no aparece valor LOCAL PREF para una ruta, este par ametro tomar a su valor por defecto que es 100.
#24$4$4$5#2%
GSyC - 2012
22