Issuu on Google+

Zebra-Quagga y VNUML Antonio Ruiz Martínez (arm@um.es) Rafael Marín López (rafa@um.es) Fernando Pereñiguez García (pereniguez@um.es) Jesús Damián Jiménez Re (jesusjr@um.es)


Configuraci贸n de un Router


Componentes internos de un router

RAM

NVRAM Flash

Console Auxiliary

Interfaces

ROM


RAM Almacena temporalmente los archivos de configuración del Router Su contenido se pierde la apagar o reiniciar el router Información almacenada: „ „ „ „ „

Tablas de Enrutamiento Caché ARP Caché de conmutación rápida El buffer de paquetes Colas de espera de los paquetes


NVRAM Memoria RAM no vol谩til Guarda el archivo con la configuraci贸n de inicio del router as铆 como la configuraci贸n de backup Su contenido no se pierde cuando se apaga el router


Flash EEPROM (Electronically Erasable Programmable Read-Only Memory) Contiene la imagen y el microc贸digo del sistema operativo Permite la actualizaci贸n del software sin eliminar ni reemplazar chips en el procesador Se pueden tener varias versiones del sistema operativo en esta memoria El contenido se conserva cuando se apaga o reinicia el router


ROM Contiene: „ „ „

Diagnósticos de encendido (POST) Bootstrap (carga del sistema operativo) Software del sistema operativo Š Su actualización requiere el cambio del chip


Interfaces Conexiones de red a través de las cuáles entran y salen paquetes del router Pueden estar en la placa base o como un módulo de interfaz separado (expansión) Tipos: „ „ „ „

Ethernet Frame Relay ATM …


Zebra Suite Sitio Web: http://www.zebra.org/ Software libre que proporciona protocolos de enrutamiento basados en TCP/IP: RIP, RIPv2, RIPng, OSPF, IGMP, BGP, BGP4, OSFP, OSPFv2… Documentación: http://www.zebra.org/zebra/index.html Soporte para los siguientes protocolos: „ „ „ „ „ „

bgpd: BGP-4 y BGP-4+ ripd: RIPv1, RIPv2 ripdng: RIPng ospfd: OSPFv2 ospf6d: OSPFv3 zebra: Propio de la herramienta y necesario para que los distintos demonios reciban la información de enrutamiento


Zebra Suite (II)


Quagga Sitio Web: http://www.quagga.net/. Versión instalada: 0.99.5 Software libre que proporciona protocolos de enrutamiento basados en TCP/IP: RIP, RIPv2, RIPng, OSPF, IGMP, BGP, BGP4, OSFP, OSPFv2… Viene de Zebra, pero no sigue un modelo centralizado de desarrollo Documentación: http://www.quagga.net/docs.php En el directorio /usr/local/bin de las máquinas virtuales están instalados los distintos ejecutables (demonios) para los distintos protocolos: „ „ „ „ „ „

bgpd: BGP-4 y BGP-4+ ripd: RIPv1, RIPv2 ripdng: RIPng ospfd: OSPFv2 ospf6d: OSPFv3 zebra: Propio de la herramienta y necesario para que los distintos demonios reciban la información de enrutamiento


Ficheros de configuración Ficheros: „

„

zebra.conf: configura el comportamiento genérico

del demonio. Ej: ficheros de logs, claves de acceso, … <nombre>.conf: donde <nombre> suele ser el nombre del demonio para que configuramos el fichero. Š Ej: ospfd.conf

„

„

Suelen estar en directorio /etc/quagga y en

/usr/local/etc/quagga (tb hay ejemplos en /etc/zebra)

Configuran las interfaces y las redes que anuncian


Ejecución en VNUML Zebra (Quagga) en VNUML: „ „

Configuración: /usr/local/etc/quagga Ejecutables: /usr/local/bin

Dos posibilidades de ejecución: „ „

Con los scripts de demonio en el /etc/init.d Con los ejecutables de /usr/local/bin

Ejecución con /etc/init.d/quagga „ „ „ „

/etc/init.d/quagga start Utilizada un fichero llamado daemons que está en

/etc/zebra/daemons

Es necesario que el directorio /etc/quagga estén los ficheros de configuración de los demonios que lanzamos Formato del fichero: zebra=yes rip=no ripngd=no ospfd=no ospf6d=no bgpd=no


Ejecución en VNUML Con los ejecutables de /usr/local/bin : „

Dos pasos: Š Ejecución del demonio zebra Š Ejecución del protocolo concreto

„

/usr/local/bin/zebra [ –f configurationfile ] [ -d ] [-P port] Š -f : fichero de configuración (por defecto busca fichero

/usr/local/etc/quagga/zebra.conf

Š -d : que se ejecute como demonio Š -P: puerto en el que se escuchan conexiones de telnet. Por

defecto 2601

„

/usr/local/bin/ospfd [ -f configurationfile] [ -d ] [-P port]


Ejecución de zebra Ejemplo de fichero de configuración de zebra (zebra.conf): ! -*- zebra -*! ! zebra sample configuration file: zebra.conf ! Prompt del interfaz zebra hostname Router password zebra Clave para conectarse al demonio enable password zebra Clave administrativa ! Lanzar: /usr/local/bin/zebra –f /etc/quagga/zebra.conf -d


Modos • Realizar configuraciones persistentes que afectan al comportamiento del router • Ver información crítica • Cambios elementales en la configuración que no afectan al comportamiento del router • Confirmar cambios

• Ver información no crítica


Conexión al demonio zebra Conexión a Zebra: „ „

VTY (Virtual Terminal) telnet localhost zebra Š El puerto de zebra es el 2601

„

„

Introducir el password de acceso (establecido en la línea password del fichero de configuración) Interfaz de línea de comandos (CLI) para interactuar con el demonio de enrutamiento


Puertos protocolos


Modo usuario

Password: Router>

Indica que estamos en modo usuario


Modo usuario Modo limitado para comprobar el estado del router, revisar las tablas de enrutamiento, etc. NO es posible configurar el router


Comandos modo usuario Comandos sensibles al contexto Tecleando: “?”


Comandos modo usuario Tecleando “list”: „

Expansión de todos los comandos


Historial de comandos Control-P o tecla flecha arriba: muestra el último comando Control-N o tecla flecha abajo: muestra el comando más reciente Tabulador: completa la entrada actual „

Ej: sh [tab] -> show

show history: muestra el buffer de comandos terminal history length: establece el número de comandos que se guardarán


Funciones de ayuda comando ? : muestra informaci贸n sobre el comando

No hace falta completar comandos


Modo usuario Análisis del estado: „ „ „

Versión del IOS del router: show version Estado de la memoria: show memory Estado de las tablas de enrutamiento: show ip route


Consulta de Interfaces Ver interfaces:

Equivalente a ejecutar el comando ifconfig


Ver tabla de enrutamiento Ver tabla de routing de zebra:

Las entradas FIB son pasadas a la tabla de enrutamiento del router


Tabla de enrutamiento en PC Tabla de enrutamiento:


Modo privilegiado Router> enable Password: Router#

Realiza todo lo que el modo usuario „

Puede ver información de estado del router

Indica que estamos en el modo privilegiado

Control total para configurar el router Acceso al modo de configuración global así como a determinados modos de configuración específicos: „ „ „ „ „ „

Interfaz Subinterfaz Línea Router Asignación de rutas Modos de configuración adicionales


Modo privilegiado (II) Desde el modo “enable”: „ „

„

„ „

„

Pasar al modo global: configure terminal Copia la configuración actual a la memoria no volátil: copy running-config startup-config Información de debug sobre zebra: eventos, kernel, paquetes Salir del modo privilegiado: disable Mostrar información: interfaces, protocolos, tablas de enrutamiento, memoria, configuración actual, guardar configuración Mostrar la configuración actual: Š show running-config

„

Guardar configuración actual Š write file


Principales modos


Principales modos (II)


Modo de configuración global Router# configure terminal „

Router(config)#


Modo de configuración global (II) En este modo se puede configurar: „

Nombre del router

Š Router(config)#hostname UML Š UML(config)#

„

Configurar interfaces

Š Router(config)# interface

„

Información relacionado con los protocolos IP (IPv4 e IPv6) Š Configurar rutas estáticas „

„

Router(config)# ip route

Clave de acceso

Š Router(config)# password

„

Información de log

Š Router(config)# log


Configurar interfaces Configurar la interfaz Router# configure terminal Router(config)#interface eth1 Router(config-if)#ip address 10.210.1.1/24

Verificaci贸n de la configuraci贸n show running-config show interface show ip route


Rutas estáticas Router#configure terminal Router(config)#ip route 10.220.100/24 10.21.1.2 Router(config)#ip route 10.220.10 255.255.255.0 10.21.1.2 Format: „ „

ip route IPaddress/mask gateway ip route IPaddress maskAddress gateway


Otros Rectificar o deshabilitar comandos „

Comando no Š no ip route 10.220.100/24 10.21.1.2

Guardar configuración „

write file: guarda la actual configuración en el fichero de configuración


Configuración Demonios Enrutamiento Formato de configuración básica de cualquier protocolo de enrutamiento

! hostname Router password zebra ! interface eth1 ! interface eth2 ! router [ rip | ospf | bgp ] [ comandos de configuración del demonio ] ! ! log file /var/log/quagga/demonio.log !

Ejecución: /usr/local/bin/demonio -f /usr/local/etc/quagga/demonio.conf -d „

demonio = ripd | ospfd | bgpd


Tests desde la consola del PC Comprobar la tabla de enrutamiento: „

route

Comprobar conectividad: „

ping, traceroute

Capturar paquetes: „

tcpdump Š Ej: tcpdump –i eth2 –v –n –s 1518


MetodologĂ­a diseĂąo red


VNUML y Zebra Pasos a seguir: „

Diseño de red

Š SAs, redes, subredes, direccionamiento

„ „ „

Ver ejemplos propuestos de VNUML Probar ejemplo más simplificado Fichero VNUML inicial:

Š Soporte para la red de gestión (ejecución de comandos) Š Redes, PCs y Routers

„ „ „ „ „ „

Comprobar conectividad elementos misma red y redes cercanas Escribir ficheros de configuración Zebra y secuencias de comandos para los protocolos IGP Realizar pruebas Ficheros de configuración y secuencias de comandos para EGP Realizar Pruebas Documentación


VNUML y Zebra (II) Escribir los ficheros de configuración Zebra de los protocolos de enrutamiento. 2 alternativas: „

Opción 1

Crear una carpeta para el escenario Describir fichero escenario en VNUML y lanzarlo Ir a cada máquina virtual Lanzar demonios con fichero de configuración básico Conectar por telnet Modificar y guardar configuración (write file) Probar Para cada máquina configurada crear una subcarpeta Copiar con SCP al host la configuración en la carpeta correspondiente Š Añadir secuencias de comandos Š Š Š Š Š Š Š Š Š

„

basedir (vm_defaults) con la dirección de la carpeta raíz.


VNUML y Zebra (III) Escribir los ficheros de configuración Zebra de los protocolos de enrutamiento. 2 alternativas: „

Opción 2

Š Crear una carpeta para el escenario y una subcarpeta por cada

máquina configurada como Router Š Describir fichero escenario en VNUML con las secuencias de comandos „

basedir (vm_defaults) con la dirección de la carpeta raíz.

En cada carpeta introducir los ficheros de configuración Lanzar escenario y secuencias de comandos Probar Si hay fallos acceder a la máquina virtual y conectar por telnet al demonio Š Modificar y guardar configuración (write file) Š Probar Š Copiar con SCP a la carpeta correspondiente los ficheros cambiados Š Š Š Š


Zebra-Quagga y VNUML Antonio Ruiz Martínez

Dpto. Ingeniería de la Información y las Comunicaciones (DIIC) arm@um.es http://ants.dif.um.es/~arm


prac-zebra-2009-2010