Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Laboratorio Routing Guadalajara
Laboratorio Routing Guadalajara
1. Copyright
Copyright Alberto Fernández y otros. Se otorga permiso para copiar, distribuir y/o modificar este
documento bajo los términos de la Licencia de Documentación Libre GNU, Versión 1.1 o cualquier otra
versión posterior publicada por la Free Software Foundation. Puede consultar una copia de la licencia en:
http://www.gnu.org/copyleft/fdl.html
La información y otros contenidos en este documento son lo mejor de nuestros conocimientos. Sin
embargo, hemos podido cometer errores. Así que deberías determinar si deseas seguir las instrucciones
que se encuentran en este documento.
1
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
Nadie es responsable de cualquier daño en sus ordenadores y cualquier otra pérdida por el uso de la
información contenida aquí.
Por supuesto, estamos abiertos a todo tipo de sugerencias y correcciones sobre el contenido de este
documento.
2. Introducción
2.1. Objetivos
Dicho laboratorio fue realizado en día 25 de Mayo de 2002con la colaboración de los integrantes de
dichos grupos wireless, para experimentar con routing dinámico en redes wireless y bajo nodos con
implementación de sistemas UNIX BSD y GNU/Linux.
El objetivo de este manual no es mas que servir de referencia para otros grupos wireless y punto de salida
para siguientes desarrollos en la red wireless. Con la presente pretendemos que como estos laboratorios,
surjan nuevos laboratorios para experimentar con nuevas tecnologías y mejorar la implantación de la Red
Libre en España.
Con esto queremos animar a los diferentes grupos locales para seguir investigando y documentar nuevas
experiencias y notificarlo a los otros grupos para facilitar su desarrollo.
El principal objetivo de las comunidades wireless ha sido y esta siendo en estos momentos implementar
una red con un número de nodos elevado, sin sobrecargar mucho las tareas de administración,
mantenimiento y reconfiguración de la red.
Hasta el momento la solución a corto plazo para redes pequeñas ha sido la utilización de routing estático,
y basado por el número de saltos (rutas estáticas, RIP)
Dicha solución no ha sido demostrada como "escalable" dada a su limitación de número de saltos, 15 en
el caso de RIP, de tal forma nuestro backbone se limitaría enormemente en el crecimiento y ampliación.
2
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
Estas circunstancias han obligado a las comunidades wireless mas ambiciosas a enfocar su atención a
otros protocolos de internetworking dinámicos y basados en el estado de enlace como pueden ser OSPF
(Open Shortest Path First) y BGP Versión 4 (Border Gateway Protocol).
Dichos protocolos vienen con la limitación que es difícil encontrar hardware y software "libre" que lo
soporte, dado a que la solución es ofrecida por multinacionales como Cisco Systems y Juniper Network
que dominan el mercado de " backbones " a nivel mundial.
La solución que se está dando es apoyarse en hardware común, como cualquier PC casero y un software
de routing GNU como puede ser Zebra sobre sistemas GNU/Linux o BSD (OpenBSD, FreeBSD,
NetBSD).
El panorama actual es de máquinas bastante capacitadas para realizar dicho trabajo, no lo suficiente
como una máquina comercial como por ejemplo un Cisco 12000 pero enormente mas económico (20
millones de pesetas menos). Ustedes eligen.
16 PC
Distribución Debian woody a fecha 23 de Mayo de 2002 (prácticamente estable)
Núcleo Linux 2.4.18 (del paquete Debian kernel-image-2.4.18-586tsc)
Tarjetas Ethernet simulando conexiones WLAN (enlaces punto a punto)
Cables de red (todos cruzados, uniendo PCs)
Paquete de routing para sistemas Linux, BSD "Zebra" www.zebra.org, versión 0.92a del paquete
Dicho laboratorio fue diseñado y cableado por Andrés Seco y alumnos del curso de redes en la Academia
Cervantes de Guadalajara, con material de la propia academia y parte prestado por Caja de Guadalajara.
La implementación de los paquetes de Zebra hemos considerado hacerlos bajo soporte IPV4 teniendo en
consideración el actual direccionamiento de Red Libre www.redlibre.net
Podríamos considerar a Zebra como una "suite" de demonios de routing que trabaja bajo sistemas UNIX-
Linux.
Dicho paquete es el recurso para el que no tiene una fortuna para implementar su red con routers
convencionales y bastante mas caros.
3
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
La página oficial de Zebra es http://www.zebra.org, allí está la guía de referencia de Zebra, desde la cual
también se puede subscribir a la listas de correo de Zebra, donde se divulga los diversos problemas de
configuración, además de los Bug encontrados, etc.
Advertimos a los que se adentren en el tema de routing por primera vez que intenten leer algo de
topologías de redes y conceptos generales de OSPF y BGP4 (en la pagina http://www.cisco.com hay
bastantes manuales sobre el funcionamiento de dichos protocolos de routing).
En sistemas BSD:
En linux :
ftp://ftp.zebra.org/pub/zebra/zebra-0.92a.tar.gz
http://rpmfind.net/linux/rpm2html/search.php?query=zebra
/etc/zebra
Fichero daemons:
# Daemons are: bgpd zebra ospfd ospf6d ripd ripngd
zebra=yes
bgpd=yes
ospfd=yes
ospf6d=no
ripd=no
ripngd=no
4
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
y luego
/etc/zebra/zebra.conf
/etc/zebra/ospfd.conf
/etc/zebra/bgpd.conf
y para reiniciarlo:
/etc/init.d/zebra restart
/etc/init.d/zebra stop
/etc/init.d/zebra Start
NOTA: En sistemas como el BSD se puede activar directamente los servicios en la ventana de
configuración que nos salta al instalar el paquete.
Nos aseguraremos que los demonios están corriendo en nuestra máquina, el demonio de zebra es vital
que este corriendo para que corran los demás.
GuadaWireless#zebra -d
GuadaWireless#ospfd -d
GuadaWireless#bgpd -d
3. Configuración de la red
En este apartado describiremos las configuraciones de nuestro nodo uno por uno tanto en la configuración
de nuestra conectividad por LAN como de los demonios de routing implementados en el paquete Zebra.
5
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
6
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
Las direcciones "visibles" en la red wlan son las de clientes wireless y de enlaces. Las redes "internas" de
cada nodo son "privadas" no visibles para routing.
10.0.0.0/8 clientes wireless, utilizables para el routing. En este rango de direccionamiento hemos usado
10.zona.nodo.1 para cada nodo
172.18.0.0/30
172.20.1.0/30 enlace externo entre W1 y W2, para BGP, utilizable para routing.
172.21.1.0/30 enlace externo entre W2 y W3, para BGP, utilizable para routing.
Las interfaces de clientes wireless son dummy0. Las interfaces de redes privadas internas de cada nodo
son dummy1. Los interfaces de enlaces son eth0, eth1 y eth2.
ZONA W1:
7
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
Enlaces:
ZONA W2:
Enlaces:
ZONA W3:
Enlaces :
8
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
Vamos a describir las tarjetas ethernet utilizadas en cada nodo por ifconfig:
Aquí hemos configurado unos interfaces virtuales denominados dummy0 y dummy1 con
comportamiento igual que a un interfaz físico, hemos considerado en el laboratorio de routing poner
estos interfaces en passive ya que no nos interesa que se negocie acuerdos por OSPF con estos interfaces,
de hecho los clientes no van a tener configurado OSPF, así también evitamos posibles ataques al simular
pertenecer cualquier cliente al área 0 de OSPF.
Hay nodos que debido a la topología utilizada necesitan mas direcciones Ethernet, un claro ejemplo del
nodo
NODO 01:
9
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
NODO 02:
10
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
NODO 03:
11
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
NODO 04:
NODO 05:
12
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
NODO 06:
13
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
NODO 07:
14
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
NODO 08:
15
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
NODO 09:
NODO 10:
16
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
NODO 11:
17
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
NODO 12:
18
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
NODO 13:
19
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
NODO 14:
NODO 15:
20
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
NODO 16:
21
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
Adjuntamos la configuración de cada uno de los equipos del laboratorio en cuanto al demonio de Zebra
se refiere:
NOTA: las admiraciones al principio de las lineas son la forma de indicar comentarios en los
NODO N01:
!
! Zebra configuration saved from vty
! 2002/05/25 15:47:47
!
hostname n01-zebra
password zebra
enable password zebra
log file /var/log/zebra/zebra.log
!
interface lo
!
interface eth0
!
interface dummy0
!
22
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
interface eth1
!
interface dummy1
!
line vty
!
NODO N02:
!
! Static default route sample.
!
!ip route 0.0.0.0/0 203.181.89.241
!
NODO N03:
23
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
interface dummy0
description client network 10.2.3.0/?
interface dummy1
description private network 192.168.0.0/?
interface eth0
description red 172.20.2.0/30
interface eth1
description red 172.21.1.0/30
interface eth2
description red 172.20.1.0/30
!
! Static default route sample.
!
!ip route 0.0.0.0/0 203.181.89.241
!
NODO 04:
!
! Zebra configuration saved from vty
! 2002/05/25 14:55:58
!
hostname n04-zebra
password zebra
log file /var/log/zebra/zebra.log
!
interface lo
!
interface eth0
!
interface dummy0
!
interface dummy1
!
line vty
!
NODO 05:
24
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
!
! Zebra configuration saved from vty
! 2002/05/25 15:07:56
!
hostname n05-zebra
password zebra
log file /var/log/zebra/zebra.log
!
interface lo
!
interface eth0
!
interface eth1
!
interface dummy0
!
interface eth2
!
interface dummy1
!
line vty
!
NODO 06:
!
! Zebra configuration saved from vty
! 2002/05/25 12:52:53
!
hostname n06-zebra
password zebra
log file /var/log/zebra/zebra.log
!
interface lo
!
interface eth0
!
interface dummy0
!
interface eth1
!
interface dummy1
!
line vty
!
NODO 07:
!
! Zebra configuration saved from vty
! 2002/05/25 13:00:14
!
25
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
hostname n07-zebra
password zebra
log file /var/log/zebra/zebra.log
!
interface lo
!
interface eth0
!
interface dummy0
!
interface eth1
!
interface eth2
!
interface dummy1
!
line vty
!
NODO 08:
!
! Zebra configuration saved from vty
! 2002/05/25 12:50:52
!
hostname n08-zebra
password zebra
log file /var/log/zebra/zebra.log
!
interface lo
!
interface eth0
!
interface dummy0
!
interface dummy1
!
line vty
!
NODO 09:
interface dummy0
interface dummy1
26
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
interface eth0
NODO 10:
!
! Zebra configuration saved from vty
! 2002/05/25 12:39:26
!
hostname n10-zebra
password zebra
log file /var/log/zebra/zebra.log
!
interface lo
!
interface eth0
!
interface dummy0
!
interface dummy1
!
line vty
!
NODO 11:
!
! Zebra configuration saved from vty
! 2002/05/25 12:29:07
!
hostname n11-zebra
password zebra
log file /var/log/zebra/zebra.log
!
interface lo
!
interface eth0
!
interface dummy0
!
interface eth1
!
interface dummy1
!
line vty
!
NODO 12:
27
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
!
! Zebra configuration saved from vty
! 2002/05/25 13:42:39
!
hostname n12-zebra
password zebra
log file /var/log/zebra/zebra.log
!
interface lo
!
interface dummy0
!
interface eth0
!
interface dummy1
!
line vty
!
NODO 13:
!
! Zebra configuration saved from vty
! 2002/05/25 12:49:17
!
hostname n13-zebra
password zebra
log file /var/log/zebra/zebra.log
!
interface lo
!
interface eth0
!
interface dummy0
!
interface eth1
!
interface eth2
!
interface dummy1
!
line vty
!
NODO 14:
!
! Zebra configuration saved from vty
! 2002/05/25 12:54:42
!
hostname n14-zebra
password zebra
log file /var/log/zebra/zebra.log
28
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
!
interface lo
!
interface eth0
!
interface dummy0
!
interface dummy1
!
line vty
!
NODO 15:
!
! Zebra configuration saved from vty
! 2002/05/25 12:54:48
!
hostname n15-zebra
password zebra
log file /var/log/zebra/zebra.log
!
interface lo
!
interface eth0
!
interface eth1
!
interface dummy0
!
interface eth2
!
interface dummy1
!
line vty
!
NODO 16:
!
! Zebra configuration saved from vty
! 2002/05/25 11:42:16
!
hostname nodo16zebra
password zebra
enable password zebra
log file /var/log/zebra/zebra.log
!
interface lo
!
interface eth0
ip address 172.17.12.2/30
!
29
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
interface dummy0
!
interface eth1
!
interface dummy1
!
line vty
!
Como se puede comprobar no todos los demonios de los ordenadores del laboratorio tenían el
direccionamiento metido en la configuración de Zebra, no obstante corrían igual. Este direccionamiento
era aprendido por Zebra a través del Kernel del sistema.
En este apartado nos surgieron diversas dudas sobre todo en el direccionamiento entre áreas W1-W2-W3,
ya que no conseguíamos llegar a la zona W2 desde cualquier de las zonas restantes en cambio entre
clientes de W1 a clientes de W3 si llegábamos. Lo que nos hizo suponer que al poner en passive
interfaces los enlaces entre áreas no conocíamos el direccionamiento Ethernet entre áreas. Se solucionó
poniendo un network a la red que englobaba la conexión entre áreas y conservando el passive-interface.
NODO 01:
!
! Zebra configuration saved from vty
! 2002/05/25 12:52:05
!
hostname n01-ospf
password zebra
log file /var/log/zebra/ospfd.log
!
!
!
interface lo
!
interface eth0
!
interface dummy0
!
interface eth1
!
interface dummy1
!
router ospf
passive-interface dummy0
passive-interface dummy1
network 10.2.1.0/27 area 0
network 172.17.1.0/30 area 0
area 0 range 10.2.0.0/16
area 0 range 172.17.0.0/16
30
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
!
line vty
!
NODO 02:
!
! Zebra configuration saved from vty
! 2002/05/25 11:42:50
!
hostname n02-ospf
password zebra
log file /var/log/zebra/ospfd.log
!
!
!
interface lo
!
interface dummy0
!
interface eth0
!
interface eth1
!
interface eth2
!
interface dummy1
!
router ospf
passive-interface dummy0
passive-interface dummy1
network 10.2.2.0/27 area 0
network 172.17.1.0/30 area 0
network 172.17.2.0/30 area 0
network 172.17.12.0/30 area 0
area 0 range 10.2.0.0/16
area 0 range 172.17.0.0/16
!
line vty
!
NODO 03:
!
! Zebra configuration saved from vty
! 2002/05/25 16:26:58
!
hostname n03-ospf
password zebra
log file /var/log/zebra/ospfd.log
!
!
31
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
!
interface eth0
description interface 172.17.2.0/30 (enlazado con W2-n02)
!
interface eth1
description interface 172.21.1.0/30 (enlazado con W3-n15)
!
interface eth2
description interface 172.20.1.0/30 (enlazado con W1-n05)
!
interface dummy0
description client interface (no publicar
!
interface dummy1
description private interface
!
interface lo
!
router ospf
redistribuye bgp
passive-interface eth1
passive-interface eth2
passive-interface dummy0
passive-interface dummy1
network 10.2.3.0/27 area 0
network 172.17.2.0/30 area 0
network 172.20.1.0/30 area 0
network 172.21.1.0/30 area 0
area 0 range 10.2.0.0/16
area 0 range 172.17.0.0/16
area 0 range 172.20.1.0/30
area 0 range 172.21.1.0/30
!
line vty
!
NODO 04:
!
! Zebra configuration saved from vty
! 2002/05/25 14:58:07
!
hostname n04-ospfd
password zebra
log file /var/log/zebra/ospfd.log
!
!
!
interface lo
!
interface eth0
!
interface dummy0
32
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
!
interface dummy1
!
router ospf
passive-interface dummy0
passive-interface dummy1
network 10.1.4.0/27 area 0
network 172.16.4.0/30 area 0
area 0 range 10.1.0.0/16
area 0 range 172.16.0.0/16
!
line vty
!
NODO 05:
!
! Zebra configuration saved from vty
! 2002/05/25 16:21:43
!
hostname n05-ospfd
password zebra
log file /var/log/zebra/ospfd.log
!
!
!
interface lo
!
interface eth0
!
interface eth1
!
interface dummy0
!
interface eth2
!
interface dummy1
!
router ospf
redistribute bgp
passive-interface eth1
passive-interface dummy0
passive-interface dummy1
network 10.1.5.0/27 area 0
network 172.16.4.0/30 area 0
network 172.16.5.0/30 area 0
network 172.20.1.2/32 area 0
area 0 range 10.1.0.0/16
area 0 range 172.16.0.0/16
area 0 range 172.20.1.2/32
!
line vty
!
33
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
NODO 06:
!
! Zebra configuration saved from vty
! 2002/05/25 12:57:17
!
hostname n06-ospf
password zebra
log file /var/log/zebra/ospfd.log
!
!
!
interface lo
!
interface eth0
!
interface dummy0
!
interface eth1
!
interface dummy1
!
router ospf
passive-interface dummy0
passive-interface dummy1
network 10.1.6.0/27 area 0
network 172.16.6.0/30 area 0
network 172.16.16.0/30 area 0
area 0 range 10.1.0.0/16
area 0 range 172.16.0.0/16
!
line vty
!
NODO 07:
!
! Zebra configuration saved from vty
! 2002/05/25 13:03:27
!
hostname n07-ospf
password zebra
log file /var/log/zebra/ospfd.log
!
interface eth0
!
interface dummy0
!
interface eth1
!
interface eth2
!
34
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
interface dummy1
!
router ospf
passive-interface dummy0
passive-interface dummy1
network 10.1.7.0/27 area 0
network 172.16.5.0/30 area 0
network 172.16.6.0/30 area 0
network 172.16.7.0/30 area 0
area 0 range 10.1.0.0/16
area 0 range 172.16.0.0/16
!
line vty
!
NODO 08:
!
! Zebra configuration saved from vty
! 2002/05/25 13:36:35
!
hostname n08-ospf
password zebra
log file /var/log/zebra/ospfd.log
!
!
!
interface lo
!
interface eth0
!
interface dummy0
!
interface dummy1
!
router ospf
passive-interface dummy0
passive-interface dummy1
network 10.1.8.0/27 area 0
network 172.16.16.0/30 area 0
area 0 range 10.1.0.0/16
area 0 range 172.16.0.0/16
!
line vty
!
NODO 09:
!
! Zebra configuration saved from vty
! 2002/05/25 12:03:41
!
hostname n09-ospf
35
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
password zebra
log file /var/log/zebra/ospfd.log
!
debug ospf event
!
interface dummy0
!
interface eth0
!
router ospf
passive-interface dummy0
network 10.1.9.0/27 area 0
network 172.16.7.0/30 area 0
area 0 range 10.1.0.0/16
area 0 range 172.16.0.0/16
!
line vty
!
NODO 10:
!
! Zebra configuration saved from vty
! 2002/05/25 13:20:04
!
hostname n10-ospf
password zebra
log file /var/log/zebra/ospfd.log
!
!
!
interface lo
!
interface eth0
!
interface dummy0
!
interface dummy1
!
router ospf
passive-interface dummy0
passive-interface dummy1
network 10.3.10.0/27 area 0
network 172.18.10.0/30 area 0
area 0 range 10.3.0.0/16
area 0 range 172.18.0.0/16
!
line vty
!
NODO 11:
36
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
NODO 12:
!
! Zebra configuration saved from vty
! 2002/05/25 13:43:51
!
hostname n12-ospf
password zebra
log file /var/log/zebra/ospfd.log
!
!
!
interface lo
!
interface dummy0
!
interface eth0
!
interface dummy1
!
router ospf
passive-interface dummy0
37
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
passive-interface dummy1
network 10.3.12.0/27 area 0
network 172.18.12.0/30 area 0
area 0 range 10.3.0.0/16
area 0 range 172.18.0.0/16
!
line vty
!
NODO 13:
!
! Zebra configuration saved from vty
! 2002/05/25 12:57:32
!
hostname n13-ospfd
password zebra
log file /var/log/zebra/ospfd.log
!
!
!
interface lo
!
interface eth0
!
interface dummy0
!
interface eth1
!
interface eth2
!
interface dummy1
!
router ospf
passive-interface dummy0
passive-interface dummy1
network 10.3.13.0/27 area 0
network 172.18.11.0/30 area 0
network 172.18.12.0/30 area 0
network 172.18.13.0/30 area 0
area 0 range 10.3.0.0/16
area 0 range 172.18.0.0/16
!
line vty
!
NODO 14:
!
! Zebra configuration saved from vty
! 2002/05/25 12:57:06
!
hostname n14-ospfd
38
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
password zebra
log file /var/log/zebra/ospfd.log
!
!
!
interface lo
!
interface eth0
!
interface dummy0
!
interface dummy1
!
router ospf
passive-interface dummy0
passive-interface dummy1
network 10.3.14.0/27 area 0
network 172.18.14.0/30 area 0
!
line vty
!
NODO 15:
!
! Zebra configuration saved from vty
! 2002/05/25 16:23:35
!
hostname n15-ospfd
password zebra
log file /var/log/zebra/ospfd.log
!
!
!
interface eth0
description interface 172.18.14.0/30 (nodo 13)
!
interface eth1
description interface 172.18.13.0/30 (nodo 14)
!
interface eth2
description interface 172.21.1.0/30 (enlace con n03 (W2)
!
interface dummy0
description client interface
!
interface dummy1
description client interface
!
interface lo
!
router ospf
redistribute bgp
39
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
passive-interface eth2
passive-interface dummy0
passive-interface dummy1
network 10.3.15.0/27 area 0
network 172.18.13.0/30 area 0
network 172.18.14.0/30 area 0
network 172.21.1.2/32 area 0
!
line vty
!
NODO 16:
!
! Zebra configuration saved from vty
! 2002/05/25 12:55:22
!
hostname ospfd
password zebra
log file /var/log/zebra/ospfd.log
!
!
!
interface dummy0
!
interface eth0
!
interface lo
!
interface eth1
!
interface dummy1
!
router ospf
passive-interface dummy0
network 10.2.16.0/27 area 0
network 172.17.12.0/30 area 0
area 0 range 10.2.0.0/16
area 0 range 172.17.0.0/16
!
line vty
!
Las intenciones en el LAB eran de solo configurar un router BGP por area, así de esta forma hemos
considerado que solo tendrían implementado el protocolo BGP los nodos N05, N03 y N15.
40
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
N05= AS 1
N03= AS 2
N15= AS 3
El BGP solo está configurado en dichos nodos ya que no se ha visto necesario la configuración de un full
mesh BGP con iBGP por cada sistema autónomo ya que la red no es lo suficientemente grande. En caso
de que la red crezca se podrá replantear la posibilidad de establecer sesiones iBGP entre todos los
integrantes de un mismo Area.
Otra de las posibilidades para siguientes LAB es eliminar de la configuración de los router bordes las
opciones de redistribute connected y redistribute ospf, ya que según hemos observado en otras
implementaciones de routing BGP no haría falta de inyectar las rutas manualmente.
NODO 05:
!
! Zebra configuration saved from vty
! 2002/05/25 16:13:27
!
hostname n05-bgp
password zebra
log file /var/log/zebra/bgpd.log
!
router bgp 1
bgp router-id 172.20.1.2
redistribute connected
redistribute ospf
neighbor 172.20.1.1 remote-as 2
neighbor 172.20.1.1 ebgp-multihop 255
!
line vty
!
NODO 03:
Tendrá dos sesiones eBGP establecidas contra el nodo 5 y el nodo 15 con direccionamiento 172
!
! Zebra configuration saved from vty
41
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
! 2002/05/25 16:20:36
!
hostname bgpd
password zebra
log file /var/log/zebra/bgpd.log
!
router bgp 2
bgp router-id 172.21.1.1
redistribute connected
redistribute ospf
neighbor 172.20.1.2 remote-as 1
neighbor 172.20.1.2 ebgp-multihop 255
neighbor 172.21.1.2 remote-as 3
neighbor 172.21.1.2 ebgp-multihop 255
!
line vty
!
NODO 15:
!
! Zebra configuration saved from vty
! 2002/05/25 16:15:20
!
hostname n15-bgp
password zebra
log file /var/log/zebra/bgpd.log
!
router bgp 3
bgp router-id 172.21.1.2
redistribute connected
redistribute ospf
neighbor 172.21.1.1 remote-as 2
neighbor 172.21.1.1 ebgp-multihop 255
!
line vty
!
En este apartado vamos a comentar los diferentes comandos útiles para un correcto diagnóstico de la red,
y realizar resolución de problemas apoyándonos en los comandos básicos de Linux y Zebra.
42
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
NOTA: Para realizar este apartado nos hemos basado en los comandos de salida de un Cisco 12012/GRP
(R5000). Comandos que prácticamente no deben variar al ser utilizados en Zebra.
Los datos plasmados en este manual son aleatorios, cualquier coincidencia con datos de empresas
afectadas es pura coincidencia.
43
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
44
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
4. Conclusiones
Según observamos con pruebas de conectividad y de routing, las redes de cada uno de los sistemas
autónomos eran visibles entre ellos y sabián llegar los paquetes ICMP correctamente.
Los anuncios eBGP se realizaban según lo esperado y las sesiones BGP en todo momento permanecieron
establecidas, anunciando a los diferentes vecinos BGP las rutas aprendidas por OSPF y por kernel.
La redistribución en BGP harria que limitarla en las configuraciones, ya que debido a ciertos problemas
de anuncios de redes del sistema autónomo W2 nos vimos limitados a utilizarlas. No obstante se podrían
prescindir de dichas configuraciones en próximos laboratorios.
Al finalizar el laboratorio de routing del día 25 de mayo, el principal éxito de esta reunión es que
diferentes grupos como Leganés Wireless (http://www.leganeswireless.net), Red Libre
(http://www.redlibre.net), Madrid Wireless (http://www.madridwireless.net) y Guada Wireless
(http://www.guadawireless.net) han encontrado el punto de salida para lo que puede ser una red global en
cuanto a comunicación sin cables se refiere.
Las diferentes propuestas surgidas a raíz del evento han sido las siguientes:
Encontrar la forma de reunirse de forma esporádica los grupos locales wireless. Ya que de esta forma se
adelantan años luz de trabajos conjuntos en relación con la comunicación mediante listas de correo.
Posibilidad de exprimir el potencial de Zebra como paquete de routing, ya sea por aplicación de
comunidades, QoS, RSVP, filtrado, métricas, etc.
45
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
5. Agradecimientos
Ante todo queremos agradecer al entusiasmo y colaboración por cada uno de los integrantes que
acudieron al Laboratorio de Routing del 25 de Mayo en Guadalajara. No recordamos todos los nombres,
pero entre ellos, Simon J. Mudd, Luis Romeral, Alberto Fernández, Jorge Ortiz, Andrés Seco, y otros
muchos.
A la Academia Cervantes de Guadalajara por ofrecer sus medios para la realización de este evento y a
Caja de Guadalajara por el equipamiento de red extra que utilizamos para la instalación de la maqueta.
Al equipo de coordinación de RedLibre por hacer que RedLibre trate de ser un punto de encuentro y
coordinación de esfuerzos entre diferentes grupos wireless.
A todos los grupos locales por formar parte de esta experiencia inalámbrica y aportar las suyas propias
para desarrollar un proyecto que cada vez esta más cerca: Una Red Libre para todos.
A todos, gracias.
6. Diccionario
Zebra
Paquete de software de routing en el cual estamos apoyándonos la mayoría de los grupos wireless, consta
de una serie de demonios de los cuales los principales son: zebra bgpd ospfd ripd
http://www.zebra.org
Ethernet
Ethernet es la capa física más popular la tecnología LAN usada actualmente. Otros tipos de LAN
incluyen Token Ring, Fast Ethernet, FDDI, ATM y LocalTalk. Ethernet es popular porque permite un
buen equilibrio entre velocidad, costo y facilidad de instalación. Estos puntos fuertes, combinados con la
amplia aceptación en el mercado y la habilidad de soportar virtualmente todos los protocolos de red
populares, hacen a Ethernet la tecnología ideal para la red de la mayoría los usuarios de la informática
actual. La norma de Ethernet fue definida por el Instituto para los Ingenieros Eléctricos y Electrónicos
46
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
(IEEE) como IEEE Standard 802.3. Adhiriéndose a la norma de IEEE, los equipo y protocolos de red
pueden interoperar eficazmente.
Punto de acceso:
Dispositivo que transporta datos entre una red inalámbrica y una red cableada (infraestructura).
IEEE802.X:
Conjunto de especificaciones de la redes LAN dictadas por el IEEE (the Institute of Electrical and
Electronic Engineers). La mayor parte de las redes cableadas cumplen la norma 802.3, especificación
para las redes ethernet basadas en CSMA/CD, o la norma 802.5, especificación para las redes Token
Ring. Existe un comité 802.11 trabajando en una normativa para redes inalámbricas de 1 y 2 Mbps. La
norma tendrá una única capa MAC para las siguientes tecnologías: Frequency Hopping Spread Spectrum
(FHSS), Direct Sequence Spread Spectrum (DSSS) e infrarrojos. Se están desarrolando borradores de las
normas.
Red independiente:
Red que proporciona (normalmente temporalmente) conectividad de igual a igual sin depender de una
infraestructura completa de red.
Infraestructura de red:
Red inalámbrica centrada en un punto de acceso. En este entorno los puntos de acceso no solo
proporcionan comunicación con la red cableada sino que también median el tráfico de red en la vecindad
inmediata.
Microcélula:
El espacio físico en el que un número de dispositivos de redes inalámbricas pueden comunicarse. Puesto
que es posible tener células solapándose así como células aisladas los saltos entre células están
establecidos por alguna regla.
Multipath:
La variación de la señal causada cuando las señales de radio toman varios caminos desde el transmisor al
receptor.
47
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
Roaming:
Nodo inalámbrico:
Dicho protocolo define las reglas que rigen la comunicación entre un router y sus vecinos: que se manda,
cuando se manda, etc. Algunos protocolos de enrutamiento típicos son:
Estos son los protocolos típicos, y que veremos más adelante, que se utilizan para intercambiar
información dentro de un mismo sistema autónomo, esto es, un conjunto de redes bajo el mismo dominio
administrativo. Para enrutar entre distintos sistemas autonomos, existen otro tipo de protocolos, mas
complejos, llamados EGPs (Exterior Gateway Protocols), siendo el mas conocido el BGP (Border
Gateway Protocol).
La distancia administrativa es una medida de nivel de confianza de la fuente de una ruta. Según una ruta
haya sido aprendida de una fuente u otra, tendrá una valor diferente. Cuando menor sea el valor, mayor
confianza se tendrá en esa ruta, y por tanto, mayor probabilidad tendrá de ser usada. Así, para un
determinado destino, el router almacenará en la Tabla de Enrutamiento aquella ruta cuya distancia
administrativa sea menor. Los valores de distancia administrativa varían entre 0 y 255. Si estamos
48
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
conectados directamente a una maquina, la distancia administrativa será 0, mientras que si la ruta ha sido
aprendida mediante el protocolo IGRP por ejemplo, la distancia administrativa valdrá 100.
Dentro de los algoritmos IGP (para enrutar dentro de un mismo sistema autonomo ) podemos encontrar 3
calificaciones:
Vector distancia. Funcionan determinando la direccion (vector) y la distancia a cualquier enlace de la red.
Estado de enlaces. Tratan de recrear la topología exacta de la red (o de la zona mas cercana al router)
A continuación vamos a ver mas en detalle el funcionamiento de los protocolos vector-distancia (también
llamados de Bellman-Ford). Estos protocolos se basan en intercambiar preiodicamente las tablas de
enrutamiento entre routers vecinos. Cuando a un router le llega la tabla de un vecino, añade su distancia a
su vector de distancia correspondiente, y la pasa a su vecino, que a su vez hará lo mismo. De esta forma,
se acumulan las distancias en la red a los destinos que no están directamente conectados a un router.
Las métricas que se utilizan para la distancia, varian de un sistema a otro. Las más importantes, y que se
utilizan solas o de manera combinada, son: número de saltos (el número de veces que un paquete
atraviesa un router), ticks (55 milisegundos), ancho de banda (valor de la capacidad de un enlace).
Cada cierto tiempo, los routers se envian actualizaciones de sus rutas. Cuando un router recibe
informacion sobre una ruta, añade su distancia (según la metrica utilizada) y si la ruta resultante es
mejor, actualiza su tabla de enrutamiento.
Los protocolos de estado de enlaces tambien se conocen como "primero el salto más corto" (shortest path
first). Estos protocolos utilizan paquetes de estado de enlaces (Link-State Packets ) para intercambiar
información. Mantienen una base de datos capaz de almacenar la topología de la red, un árbol SPF, y una
tabla de enrutamiento con rutas y puertos a cada red. Estos protocolos son muy útiles a medida que las
redes aumentan de tamaño, ya que sólo mandan actualizaciones cuando hay un cambio en la topología, y
estas se producen cada más tiempo que en los protocolos de tipo vector-distancia. Además, pueden
segmentarse, limitándose sólo a determinadas áreas.
Los protocolos híbridos usan vectores de distancia para determinar las mejores rutas a los destinos, pero,
en vez de enviar actualizaciones en determinados periodos de tiempo (como los protocolos
vector-distancia), lo hacen sólo cuando hay cabios en la topología. Las métricas utilizadas son más
49
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
exactas que en los protocolos vector-distancia, y los recursos de memoria, ancho de banda y
procesamiento son menores que los de los protocolos de estado de enlaces.
En primer lugar hay que seleccionar el protocolo de enrutamiento a utilizar. Desde el Modo de
configuración Global, teclearemos : router {protocolo}. Por ejemplo : router rip, para establecer RIP
como protocolo de enrutamiento,
A continuación, debemos especificar cuál es la red, directamente conectada, a la que enviaremos nuestras
actualizaciones.
Esto se hace tecleando network {red}. Mediante este comando, también se inicia el proceso de
enrutamiento, y el router comienza a mandar actualizaciones.
Estas referencias han sido tomadas de la página web de Cisco y de las intenciones de los miembros de
listas de correo de zebra, nodos de Red Libre y Guadalajara . Ante la posibilidad de un futuro establecer
sesiones redundantes entre vecinos BGP y balancear carga entre ellos.
Para este punto tiene que ser resuelta la posibilidad de utilizar un interfaz lógico que permita utilizarse en
routing y así poder emular las funciones de una Loopback 0 de un router Cisco.
El balanceo de carga es un concepto que permite a un router distribuir el tráfico entrante y saliente a
través de caminos múltiples. Los caminos son mostrados entre protocolos estáticos o con protocolos
dinámicos, tanto como RIP, EIGRP, OSPF y IGRP. Por defecto, BGP (Border Gateway Protocol)
selecciona solo un mejor camino y no habilita balanceo de carga. Este documento muestra como habilitar
balanceo de carga
50
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
Este escenario es el que pretendemos realizar para nuestro siguiente laboratorio. Seria posible en
escenarios cuando existen multiples enlaces con igual metrica (contando que el máximo para balancear
sería 6) y son terminados en un router con un AS y en otro router con otro AS.
Aquí mostramos las configuraciones recomendadas por Cisco, reseñamos que aunque ponga direciones
serial nosotros podemos adoptar cualquier otra, ya sea de Wlan Ethernet etc.
ROUTER A:
interface loopback 0
ip address 1.1.1.1 255.255.255.0
interface serial 0
ip address 160.20.20.1 255.255.255.0
no ip route-cache
interface serial 1
ip address 150.10.10.1 255.255.255.0
no ip route-cache
router bgp 11
neighbor 2.2.2.2 remote-as 10
neighbor 2.2.2.2 update-source loopback 0
neighbor 2.2.2.2 ebgp-multihop
router eigrp 12
network 1.0.0.0
network 150.10.0.0
network 160.20.20.0
ROUTER B:
interface loopback 0
ip address 2.2.2.2 255.255.255.0
interface serial 0
ip address 160.20.20.2 255.255.255.0
no ip route-cache
interface serial 1
ip address 150.10.10.2 255.255.255.0
no ip route-cache
51
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
router bgp 10
neighbor 1.1.1.1 remote-as 11
neighbor 1.1.1.1 update-source loopback 0
neighbor 1.1.1.1 ebgp-multihop
router eigrp 12
network 2.0.0.0
network 150.10.0.0
network 160.20.20.0
NOTA: Tenemos que utilizar rutas estaticas dependiendo del protocolo de routing (EIGRP en este caso)
para introducir dos iguales caminos y con igual coste para alcanzar a su destino que será la direccion de
Loopback.
7. Notas finales
Ahora que ha pasado un tiempo desde estas pruebas que realizamos ya el 25 de Mayo (hoy es dia 10 de
Julio) sabemos algo más de ospf y bgp. Las siguientes notas simplifican la configuración. Queda mucho
por hacer, establecer filtros de rutas aceptadas, filtros de rutas anunciadas, autentificación entre routers...
En la configuración de OSPF, parece adecuado anunciar con "network" las subredes a las que estamos
conectados y que queremos que formen parte de las tablas de rutas de los demás encaminadores. Las
instrucciones "area X" sirven para resumir la tabla de rutas, normalmente solo en el area 0 ospf o en
encaminadores que usen BGP.
router ospf
passive-interface eth0
network 10.3.14.0/27 area 0
network 172.18.14.0/30 area 0
! area 0 network 172.18.0.0/24 - solo se usará para resumir rutas anunciadas, hay que usarlo
En BGP hay que hacer exactamente lo mismo, incluso con la interfaz de conexión entre los routers BGP,
que de otra forma no sería anunciada nunca, ya que no se intercambian las rutas locales con las tablas de
rutas de encaminadores también remotos.
router bgp 3
bgp router-id 172.21.1.2
! redistribute connected
redistribute ospf
neighbor 172.21.1.1 remote-as 2
! neighbor 172.21.1.1 ebgp-multihop 255
network 10.3.14.0/27 area 0
network 172.18.14.0/30 area 0
52
Laboratorio de routing en Guadalajara, el día 25 de Mayo de 2002
53