Redes I Departamento de Sistemas Telematicos y Computacion (GSyC) Octubre de 2010 GSyC - 2010 NetGUI: Conguracion de RIP en Zebra 1 c 2010 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 - 2010 NetGUI: Conguracion de RIP en Zebra 2 Zebra Zebra (www.zebra.org) es un software que gestiona la tabla de encaminamiento de una maquina Linux seg un el funcionamiento de varios protocolos de encaminamiento de la arquitectura TCP/IP. La arquitectura de Zebra esta formada por un conjunto de procesos: Proceso zebra: actualiza la tabla de encaminamiento e intercambia rutas seg un diferentes protocolos de encaminamiento Proceso de cada protocolo de encaminamiento: ripd, opsfd, bgpd Utilizaremos Zebra para probar los siguientes protocolos: RIPv2, OSPFv2 y BGP-4. GSyC - 2010 NetGUI: Conguracion de RIP en Zebra 3 Conguraci on y monitorizaci on de los procesos de Zebra Los procesos del software Zebra pueden congurarse de dos formas: 1 A traves de cheros de conguracion 2 A traves de VTY (Virtual Terminal Interface): conexiones a traves de telnet con cada uno de los procesos de zebra. VTY permite, ademas de congurar los protocolos de encaminamiento, monitorizar su comportamiento. En las practicas utilizaremos: Conguracion a traves de los cheros: daemons (ver pag. 7) ripd.conf (ver pag. 8) Monitorizaci on a traves de: capturas de traco, utilizando tcpdump con la opci on -s 0 que permite capturar los paquetes completos. VTY (pags. 911): telnet localhost ripd Analisis del chero de logs del proceso ripd (pags. 1213) GSyC - 2010 NetGUI: Conguracion de RIP en Zebra 4 Iniciar Zebra Al iniciar un router en NetGUI normalmente el software de zebra no estara arrancado. Para arrancarlo: 1 Se editan los cheros de conguracion (pags 68). 2 Se arranca zebra (/etc/init.d/zebra start) 3 Si es necesario modicar la conguracion, se interrumpe la ejecucion de zebra (/etc/init.d/zebra stop), se modican los cheros, y se vuelve a arrancar zebra (/etc/init.d/zebra start) En algunos escenarios puede que algunos routers esten precongurados para que arranquen con zebra ya lanzado. GSyC - 2010 NetGUI: Conguracion de RIP en Zebra 5 Ficheros de conguraci on Los cheros de conguracion de zebra se encuentran en el directorio /etc/zebra: zebra.conf: Conguracion general del software de zebra. 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, RIP). ripd.conf, ospfd.conf, bgpd.conf: Ficheros de conguracion de cada uno de los protocolos de encaminamiento que estan habilitados en el chero daemons. Modicaremos ripd.conf para especicar la conguraci on de rutas que deseamos exportar con el protocolo de encaminamiento RIP. GSyC - 2010 NetGUI: Conguracion de RIP en Zebra 6 daemons # This file tells the zebra package which daemons to start. # Entries are in the format: <daemon>=(yes|no|priority) # where yes is equivalent to infinitely low priority, and # low numbers mean higher priority. Read # /usr/doc/zebra/README.Debian for details. # Daemons are: bgpd zebra ospfd ospf6d ripd ripngd zebra=yes bgpd=no ospfd=no ospf6d=no ripd=yes ripngd=no Activa RIP en el router Las lneas que comienzan por # son comentarios. GSyC - 2010 NetGUI: Conguracion de RIP en Zebra 7 ripd.conf ! -*- rip -*- ! ! RIPd sample configuration file ! hostname ripd password zebra debug rip events debug rip packet router rip network 10.0.0.0/24 network 11.0.0.0/24 log /var/log/zebra/ripd.log Contrase na para el acceso VTY por telnet al proceso ripd Informacion de depuracion que se incluira en el chero de log Activar RIP en las interfaces conectadas a estas redes: a traves de eth0 y eth1 se anun- ciaran las rutas utilizando RIP GSyC 2009 7 !"#$%&'() r1 !"#$ !"#% Subred 1 10.0.0.0/24 Subred 2 11.0.0.0/24 ! -*- rip -*- ! ! RIPd sample configuration file ! hostname ripd password zebra router rip network 10.0.0.0/24 network 11.0.0.0/24 log /var/log/zebra/ripd.log Contrasea para el acceso VTY por telnet al proceso ripd Activar RP en las interfaces conectadas a estas redes: a travs de eth0 y eth1 se anunciarn rutas utilizando RP Habilitar RP Las lneas que comienzan con el carcter !"son comentarios Fichero de logs del proceso ripd Fichero de log del proceso ripd Las lneas que comienzan por ! son comentarios. GSyC - 2010 NetGUI: Conguracion de RIP en Zebra 8 Conguraci on de RIP mediante conexi on telnet En el software de zebra, cada proceso de un protocolo de encaminamiento (RIP, OSPF, BGP) y el propio proceso de zebra escucha conexiones TCP en un puerto determinado. En los ejercicios, nos conectaremos al proceso de RIP (ripd) para visualizar la informacion. Este proceso esta escuchando en el puerto 2602. Para ello usaremos el comando telnet para establecer una conexion TCP con la propia maquina (localhost) y el puerto 2602 (o ripd, ya que el chero /etc/services asocia el identicador ripd al puerto 2602): r1:~# telnet localhost ripd Al conectarnos se solicitara una contrase na: la denida en el chero ripd.conf (por defecto, zebra): Una vez establecida la conexion podremos introducir comandos para congurar o monitorizar RIP. GSyC - 2010 NetGUI: Conguracion de RIP en Zebra 9 VTY (I) r1:~# telnet localhost ripd Trying 127.0.0.1... Connected to r1. Escape character is ^]. Hello, this is zebra (version 0.94). Copyright 1996-2002 Kunihiro Ishiguro. User Acess Verification Password: zebra ripd> ? 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 ripd> El comando ? es el comando de ayuda: muestra todos los comandos disponibles. GSyC - 2010 NetGUI: Conguracion de RIP en Zebra 10 VTY (II) El comando show ip rip muestra la informacion sobre RIP del router (el ejemplo muestra la conguracion del router r1 de la gura): ripd> show ip rip Codes: R - RIP, C - connected, O - OSPF, B - BGP (n) - normal, (s) - static, (d) - default, (r ) - redistribute, (i) - interface Network Next Hop Metric From Time C(i) 10.0.0.0/24 0.0.0.0 1 self C(i) 11.0.0.0/24 0.0.0.0 1 self R(n) 12.0.0.0/24 11.0.0.2 2 11.0.0.2 02:55 R(n) 13.0.0.0/24 11.0.0.2 3 11.0.0.2 02:55 ripd> La columna Time muestra la cuentra atras para convertir una ruta en obsoleta (por defecto 180 segs = 3 mins) Cuando para una ruta la metrica es 16 (ruta eliminada), Time muestra la cuenta atras del Garbage Collect Timer (por defecto 120 segs = 2 mins) GSyC - 2010 NetGUI: Conguracion de RIP en Zebra 11 Fichero de log en r1 (I) 2007/12/07 00:25:03 RIP: turn on eth0 2007/12/07 00:25:03 RIP: triggered update! 2007/12/07 00:25:03 RIP: turn on eth1 2007/12/07 00:25:04 RIP: multicast join at eth0 2007/12/07 00:25:04 RIP: multicast request on eth0 2007/12/07 00:25:04 RIP: SEND to socket 8 port 520 addr 224.0.0.9 2007/12/07 00:25:04 RIP: multicast join at eth1 2007/12/07 00:25:04 RIP: multicast request on eth1 2007/12/07 00:25:04 RIP: SEND to socket 8 port 520 addr 224.0.0.9 2007/12/07 00:25:04 RIP: ignore packet comes from myself 2007/12/07 00:25:04 RIP: ignore packet comes from myself 2007/12/07 00:25:04 RIP: RECV packet from 11.0.0.2 port 520 on eth1 2007/12/07 00:25:04 RIP: RECV RESPONSE version 2 packet size 44 2007/12/07 00:25:04 RIP: 12.0.0.0/24 -> 0.0.0.0 family 2 tag 0 metric 1 2007/12/07 00:25:04 RIP: 13.0.0.0/24 -> 0.0.0.0 family 2 tag 0 metric 2 Cuando en el chero de log aparece RIP: triggered update! se indica que en el router se ha producido un evento que ha disparado una actualizacion. (En este caso no es exactamente as, ya que el router acaba de arrancar y enviara sus REQUEST). GSyC 2009 11 log en r1 2007/12/07 00:25:03 RIP: turn on eth0 2007/12/07 00:25:03 RIP: triggered update! 2007/12/07 00:25:03 RIP: turn on eth1 2007/12/07 00:25:04 RIP: multicast join at eth0 2007/12/07 00:25:04 RIP: multicast request on eth0 2007/12/07 00:25:04 RIP: SEND to socket 8 port 520 addr 224.0.0.9 2007/12/07 00:25:04 RIP: multicast join at eth1 2007/12/07 00:25:04 RIP: multicast request on eth1 2007/12/07 00:25:04 RIP: SEND to socket 8 port 520 addr 224.0.0.9 2007/12/07 00:25:04 RIP: ignore packet comes from myself 2007/12/07 00:25:04 RIP: ignore packet comes from myself 2007/12/07 00:25:04 RIP: RECV packet from 11.0.0.2 port 520 on eth1 2007/12/07 00:25:04 RIP: RECV RESPONSE version 2 packet size 44 2007/12/07 00:25:04 RIP: 12.0.0.0/24 -> 0.0.0.0 family 2 tag 0 metric 1 2007/12/07 00:25:04 RIP: 13.0.0.0/24 -> 0.0.0.0 family 2 tag 0 metric 2 r1 eth0 eth1 10.0.0.1 11.0.0.1 eth0 eth1 11.0.0.2 12.0.0.2 r2 eth0 eth1 13.0.0.3 12.0.0.3 r3 1 2 3 GSyC - 2010 NetGUI: Conguracion de RIP en Zebra 12 Fichero de log en r1 (II) 2007/12/07 00:25:05 RIP: update timer fire! 2007/12/07 00:25:05 RIP: SEND UPDATE to eth0 ifindex 3 2007/12/07 00:25:05 RIP: multicast announce on eth0 2007/12/07 00:25:05 RIP: update routes on interface eth0 ifindex 3 2007/12/07 00:25:05 RIP: SEND to socket 8 port 520 addr 224.0.0.9 2007/12/07 00:25:05 RIP: SEND RESPONSE version 2 packet size 64 2007/12/07 00:25:05 RIP: 11.0.0.0/24 -> 0.0.0.0 family 2 tag 0 metric 1 2007/12/07 00:25:05 RIP: 12.0.0.0/24 -> 0.0.0.0 family 2 tag 0 metric 2 2007/12/07 00:25:05 RIP: 13.0.0.0/24 -> 0.0.0.0 family 2 tag 0 metric 3 2007/12/07 00:25:05 RIP: SEND UPDATE to eth1 ifindex 4 2007/12/07 00:25:05 RIP: multicast announce on eth1 2007/12/07 00:25:05 RIP: update routes on interface eth1 ifindex 4 2007/12/07 00:25:05 RIP: SEND to socket 8 port 520 addr 224.0.0.9 2007/12/07 00:25:05 RIP: SEND RESPONSE version 2 packet size 24 2007/12/07 00:25:05 RIP: 10.0.0.0/24 -> 0.0.0.0 family 2 tag 0 metric 1 2007/12/07 00:25:05 RIP: ignore packet comes from myself 2007/12/07 00:25:05 RIP: ignore packet comes from myself 2007/12/07 00:25:16 RIP: RECV packet from 11.0.0.2 port 520 on eth1 2007/12/07 00:25:16 RIP: RECV RESPONSE version 2 packet size 44 2007/12/07 00:25:16 RIP: 12.0.0.0/24 -> 0.0.0.0 family 2 tag 0 metric 1 2007/12/07 00:25:16 RIP: 13.0.0.0/24 -> 0.0.0.0 family 2 tag 0 metric 2 Cuando en el chero de log aparece RIP: update timer fire! se indica que al router le corresponde enviar una actualizaci on peri odica (cada 30 15 segundos). GSyC - 2010 NetGUI: Conguracion de RIP en Zebra 13