Depto. Automática y computación
Universidad Pública de Navarra
Daniel Morató
daniel.morato@unavarra.es

Laboratorio de Programación de Redes

3º Ingeniero Técnico en Informática de Gestión

Práctica 3 - Introducción a los routers Cisco

1. Objetivos

En esta práctica vamos a tomar un primer contacto con los routers Cisco. Veremos técnicas básicos para configurarlos.

2. Material

3. Avisos generales

Disponen de todos los privilegios en los routers Cisco, es decir, como si fueran el superusuario de un sistema UNIX. En general no tengan miedo de explorar los comandos disponibles en el Cisco IOS, sin embargo, tengan cuidado de no realizar cambios que lo inutilicen. Tengan cuidado con comandos que borren ficheros o sistemas de ficheros. También tengan especial cuidado cuando copien ficheros en la flash dado que puede haber un momento en que el router les pregunte si antes de copiar el fichero desean borrar la flash. Nunca le digan que sí a que borre la flash dado que en ella se encuentra el sistema operativo. Si por error proceden a borrar la flash no reinicien ni apaguen el router y avisen al profesor de prácticas.

Cuando copien ficheros del router al PC procuren guardarlos en un diskette o en algún directorio con el nombre del grupo dentro del home del usuario guest. Hay más gente que va a utilizar esos ordenadores y no les podemos asegurar que sus ficheros sigan ahí de un día a otro.

4. Introducción a los routers Cisco

Un router es un elemento de red que actúa a nivel de red o nivel 3. Un router IP tiene interfaces de red en diferentes redes IP. Recibe paquetes IP por esos interfaces y decide por dónde reenviarlos (a otros routers o a destinos finales) para que alcancen su destino. La información sobre por dónde reenviar un paquete según su direción destino la tiene en la tabla de rutas. Las entradas en la tabla de rutas pueden producirse mediante configuración manual o mediante un protocolo de enrutamiento que se dedica a intercambiar información entre los routers sobre las redes que conocen para poder construir esa tabla de rutas con información correcta.

Un router Cisco se puede considerar como una computadora. Como tal dispone de uno o varios procesadores, sistemas de almacenamiento de información, un sistema operativo e interfaces de red.

A. Algunos sistemas de almacenamiento en el router

i) ROM

La memoria ROM es utilizada para almacenar el programa de arranque del router (boot), partes del sistema operativo y los programas de diagnóstico del arranque. Es una memoria de solo lectura por lo que para realizar actualizaciones de la ROM es necesario reemplazar un chip de la placa madre del router.

ii) Flash Memory

La memoria flash almacena el sistema operativo. Es una memoria que permite operaciones de lectura y escritura, lo cual hace posible realizar actualizaciones del sistema operativo sin tener que reemplazar ningún chip.

El contenido de la memoria flash no se pierde cuando se apaga o reinicia el router.

iii) RAM

La memoria RAM es utilizada para almacenar las partes operativas del sistema como por ejemplo las tablas de rutas o la configuración activa del sistema. Además esta memoria puede ser utilizadas para el encolado de paquetes o el mantenimiento de información cacheada.

El contenido de la memoria RAM se pierde cuando se apaga o reinicia el router.

iv) NVRAM

La NVRAM es una memoria RAM no volátil, es decir, que no pierde los datos que contiene cuando el equipo se apaga o reinicia.

Es utilizada generalmente para almacenar la configuración de arranque del router.

B. Proceso de arranque del router

Cada vez que se enciende el router, ejecuta unos diagnósticos de auto-test para verificar el correcto funcionamiento de la CPU, la memoria y los interfaces de red. Tras ello, se ejecuta el software de arranque almacenado en la ROM que busca una imagen válidad del sistema operativo (IOS). Hay tres lugares donde puede localizarse la imagen del sistema operativo:

En el caso de que no se encontrase una imagen válida del sistema operativo el sistema entraría en el modo ROM Monitor. Si por el contrario se encuentra una imagen válida, se carga y se procede a buscar el fichero de configuración almacenado generalmente en la NVRAM. Este fichero almacena la configuración de los interfaces de red (direcciones IP, máscaras de red ...), procesos de enrutado y características del medio. En el caso de que el fichero de configuración no existiese, el sistema operativo ejecutaría un cuestionario para crear un nuevo fichero de configuración. En cambio, si existe el fichero, el sistema operativo lo ejecuta línea a línea.

C. Cisco IOS y CLI

El Cisco IOS (Internetworking Operating System) es el sistema operativo empleado por los routers de Cisco Systems. El Cisco IOS CLI (Command-Line Interface) es el método principal para la configuración, monitorización y mantenimiento de equipos Cisco. El acceso a este interfaz se realiza normalmente a través del puerto de consola de los routers. El conector de este puerto puede ser de diferentes tipos. Uno muy común es un conector RJ45 (lo cual NO quiere decir que sea un interfaz Ethernet). Se suele emplear un cable especial que ofrece un conector RJ45 en un extremo y serie para un PC en el otro. El interfaz CLI permite ejecutar comandos del Cisco IOS y una vez configurado el router se puede permitir el acceso a dicho interfaz a través de un interfaz de red además de por el puerto de consola.

5. Conectándose al puerto de consola

Cada grupo de prácticas dispone de un minirouter Cisco. Enchufen a la corriente su router pero no lo enciendan todavía. Se les ha suministrado un cable para conectarse al mismo. Un extremo (RJ45) va al puerto de consola del router, el otro (DB9) al puerto serie del PC. Ejecuten la aplicación minicom en el PC y configuren el puerto serie para 9600 bps, 8 bits de datos, 1 de parada, sin paridad. Ahora enciendan el router. Deberían poder ver el proceso de arranque del mismo.

Conexión al puerto de consola

La primera configuración del router es necesario hacerla a través de este puerto de consola dado que al no tener el router aún una configuración de red no podemos acceder a él por ninguno de sus interfaces de red.

El Cisco IOS CLI ofrece diferentes modos de comandos. Cada modo de comandos ofrece un conjunto de comandos diferentes y con diferente objetivo (configuración, mantenimiento, monitorización...). Los comandos disponibles en cada momento dependen del modo en el cual se encuentre el usuario. En cualquiera de estos modos se puede emplear el interrogante (?) para obtener una lista de los comandos disponibles en ese modo.

Lo mejor es que se acostumbre a la documentación oficial de Cisco. En el siguiente URL tiene una introducción a los diferentes modos existentes:
http://www.cisco.com/en/US/products/sw/iosswrel/ps1831/products_configuration_guide_chapter09186a00800ca666.html#wp1000872
Lea de la sección Using the Command-Line Interface de dicho documento las subsecciones: Understaning Cisco IOS Command Modes, User EXEC Mode, Priviledged EXEC Mode, Global Configuration Mode e Interface Configuration Mode (en total unas 5 páginas). Explica las diferencias entre los modos, cómo cambiar de uno a otro y cómo ver la ayuda en línea disponible.

Al finalizar el arranque del router seguramente se encontrarán (a través del minicom) con algo como:

Router>
Este es el prompt de CLI (en este caso con el nombre del router). En este punto estamos en modo de comandos de usuario (User EXEC Mode) que es el de menos privilegios y con el que no vamos a poder cambiar la configuración del router.

Puede ver los comandos disponibles desde este modo con el interrogante:

Router> ?
Exec commands:
  <1-99>           Session number to resume
  access-enable    Create a temporary Access-List entry
  access-profile   Apply user-profile to interface
  clear            Reset functions
  connect          Open a terminal connection
  disable          Turn off privileged commands
  disconnect       Disconnect an existing network connection
  enable           Turn on privileged commands
...

Podemos obtener ayuda de cada comando e incluso de las opciones del comando terminándolo con un interrogante. Por ejemplo:

Router> show ?
  backup         Backup status
  clock          Display the system clock
  compress       Show compression statistics
  dialer         Dialer parameters and statistics
  flash:         display information about flash: file system
  history        Display the session command history
  hosts          IP domain-name, lookup style, nameservers, and host table
  location       Display the system location
  modemcap       Show Modem Capabilities database
  ppp            PPP parameters and statistics
  rmon           rmon statistics
  rtr            Response Time Reporter (RTR)
  sessions       Information about Telnet connections
  snmp           snmp statistics
  tacacs         Shows tacacs+ server statistics 
  terminal       Display terminal configuration parameters
  traffic-shape  traffic rate shaping configuration
  users          Display information about terminal lines
  version        System hardware and software status

Podemos ver la versión del sistema operativo y el hardware disponible (RAM, interfaces...) mediante el comando show version. ¿Qué versión del sistema operativo tiene su router? ¿Cuánta RAM tiene instalada? ¿De cuántos interfaces dispone su router? ¿De qué tipo son? Identifíquelos físicamente en el router.

Con el comando show interfaces pueden ver los interfaces de red de los que dispone el router y muchas características de estos. Averigüe la dirección MAC de cada uno de sus interfaces Ethernet.

Averigüe cómo ver los ficheros que existen en la flash con el comando show.

Podemos acceder a información referente a IP con las opciones de show ip (vea un poco las opciones existentes). Por ejemplo podemos ver información referente a IP de cada interfaz con show ip interface, especificar un solo interfaz u obtener información muy resumida de la configuración ip de los interfaces (pruebe show ip interface brief). También podemos ver la tabla de rutas con show ip route. Lo más probable es que ahora vea que ningún interfaz tiene asignada dirección IP y que no hay ninguna entrada en la tabla de rutas. Podremos remedio a todo esto en breve.

6. Configuración IP básica de un interfaz Ethernet del router

Para hacer cualquier cambio en la configuración del router lo primero que debemos hacer es pasar al modo de comandos privilegiado (priviledged EXEC mode). Para ello ejecute:

Router> enable

En este punto el router podría (y debería) solicitar una password. De momento esa password está quitada pero en los siguientes pasos la configuraremos de nuevo.

Si el comando se ejecuta con éxito el prompt debería cambiar a algo como:

Router#

para indicarnos que estamos en modo privilegiado.

Si ahora pide de nuevo ayuda (?) podrá ver que hay un nuevo conjunto de comandos disponible. Por ejemplo, pruebe el comando reload que sirve para reiniciar el router y aprenda a programar que el router se reinicie dentro de 1 minuto. Aproveche para ver de nuevo los mensajes del arranque del router.

Tras terminar el reinicio vuelva a entrar en modo privilegiado. De ahí pasamos al modo de configuración con el comando:

Router# configure terminal

Si pide ayuda de nuevo verá otro conjunto de comandos. Lo primero que vamos a hacer es activar que el equipo actúe como un router. Para ello emplearemos el comando ip. Vea las opciones de este comando con:

Router(config)# ip ?

Lo activamos escribiendo:

Router(config)# ip routing

A continuación vamos configurar la dirección IP de uno de los interfaces Ethernet. Para ello hemos de pasar al modo de configuración de ese interfaz. Esto se hace con el comando interface especificando a continuación el nombre del interfaz (recuerde que siempre puede usar ? para pedir ayuda). Entre en modo configuración del primer interfaz Ethernet de su router. El prompt debería ser ahora:

Router(config-if)#

Una vez en este modo primero le indicamos al IOS que active el interfaz con:

Router(config-if)# no shutdown

A continuación especificamos la dirección IP del interfaz empleando el comando ip. Investigue las opciones del comando lo suficiente para darle a ese interfaz la direcció IP 10.0.grupo.1 con máscara 255.255.255.0

Conecte ese interfaz del router a un hub (si el interfaz no está conectado a ningún dispositvo entonces el Cisco IOS lo desactiva). Vuelva al modo usuario y revise la configuración IP de los interfaces. Debe aparecer up tanto en la columna Status como en la columna Protocol de un interfaz para que este reenvíe paquetes. Revise también la tabla de rutas. Ahora debería ver una ruta a la red a la que está conectado ese interfaz.

Conecte el interfaz Ethernet de su PC al mismo hub y configúrele la dirección 10.0.grupo.2 con máscara 255.255.255.0. Ahora debería poder hacer ping a ese interfaz del router desde el PC.

Conexión a hub

Ahora podemos hacer también un telnet desde el PC al router por el interfaz IP, sin embargo, para poder conectarnos al mismo antes hay que asignar una password para las conexiones que vienen por la red. Para ello, de nuevo desde el minicom entre en modo privilegiado y en modo configuración. Desde ahí pasamos al modo de configuración de líneas con:

Router(config)# line vty 0 4

Y ahora activamos que se pueda hacer login y asignamos una password:

Router(config-line)# login
Router(config-line)# password lpr2003

Ahora la password que tiene el router para las conexiones por telnet es lpr2003. Pruebe ahora a hacer un telnet al router y entrar con esa password (no hay nombre de usuario). Verá que entra en modo usuario, para pasar a modo privilegiado tiene que ejecutar el comando enable pero este comando le dará un error porque no hay una password asignada para pasar a modo privilegiado (antes nos permitía cambiar de modo aunque no había password porque estábamos accediendo desde el puerto de consola). Para asignar una password a este modo vuelva al minicom, entre en modo configuración y emplee el comando:

Router(config)# enable secret 0 telemat

Con lo que estamos asignando la password telemat al modo privilegiado. Compruebe que ahora con un telnet puede acceder al modo de configuración.

Cuestiones:

Los cambios que hemos hecho hasta el momento en la configuración del router se perderán en el momento que lo reiniciemos. Para que los cambios sean permanentes lo que se hace es guardar la configuración actual con el nombre del fichero de configuración que lee en el arranque el router y que se encuentra en la NVRAM, es decir, desde modo privilegiado debemos ejecutar:

Router# copy running-config startup-config

Si en algún momento desea ver cuál es la configuración que tiene el router puede ejecutar desde modo privilegiado:

Router# show running-config

Ahí están todos los comandos que se han ejecutado y están en efecto en este momento. Si en algún momento deseamos deshacer un comando lo único que hace falta es ejecutarlo de nuevo poniendo delante no. Por ejemplo, para desactivar el routing podríamos desde modo configuración:

Router(config)# no ip routing

Checkpoint
Muestren al profesor de prácticas que son capaces de conectarse al router con telnet, entrar en modo configuración, reiniciarlo y que la configuración siga siendo la misma.

7. Gestión de ficheros

El Cisco IOS dispone de comandos para gestionar los diferentes sistemas de ficheros disponibles. Incluso permite trabajar con ficheros que se encuentran en servidores remotos conectados a la red.

Vea de qué sistemas de ficheros dispone con el comando show file systems. Con el comando dir puede ver los ficheros existentes en el sistema de ficheros seleccionado. Puede saber cuál es ese sistema de ficheros cuando no especifica uno con el comando pwd. Y puede ver el contenido de un fichero con el comando more. Explore un poco estos comandos. Puede encontrar información al respecto en:
http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/ffun_c/ffcprt2/fcf006.htm
En especial en la sección Managing File Systems.

A. Haciendo y recuperando copias de backup del fichero de configuración en un PC

Disponemos de varios métodos para copiar ficheros entre el router Cisco y un PC. En esta sección vamos a ver cómo intercambiar ficheros con un servidor de TFTP remoto.

TFTP es un protocolo muy simple sobre UDP. El servidor emplea el puerto 69 y el esquema de parada-y-espera (STOP&WAIT) para transferir ficheros. El servidor (o demonio) de TFTP en máquinas Linux del laboratorio se llama in.tftpd (en /usr/sbin/)

Normalmente este servidor es lanzado por un super-servidor como inetd o xinetd (consulte la página del manual de alguno de ellos para recordar lo que hacen). Sin embargo, por reducir los pasos de configuración les aconsejo ejecutar manualmente el servidor (vean su página del manual y busquen las opciones necesarias).

En las siguientes secciones de la documentación del Cisco IOS encontrarán cómo copiar el fichero de configuración a un servidor de TFTP:
http://www.cisco.com/en/US/products/sw/iosswrel/ps1831/products_configuration_guide_chapter09186a00800d9850.html#1001151
y cómo copiar el fichero de configuración desde un servidor de TFTP:
http://www.cisco.com/en/US/products/sw/iosswrel/ps1831/products_configuration_guide_chapter09186a00800d9850.html#1001381

Hagan un backup del fichero de configuración y también del fichero con el sistema operativo de su router en su servidor de TFTP. El fichero con la imagen del sistema operativo les será muy útil si un día por accidente borran la flash del router. El fichero de configuración edítenlo en el PC quitando todas las líneas de configuración que hayan añadido hasta ahora. Al final de la práctica descarguen ese fichero de configuración simple al startup-config del router para que quede como estaba cuando lo recibieron. Tengan en cuenta que el próximo día de prácticas es probable que no trabajen con el mismo router, agradecerán que no hayan quedado configuraciones hechas por otros alumnos que les puedan hacer perder tiempo.

B. Cargando ficheros de configuración remotos en el arranque

Podemos configurar el router para que en el arranque descargue ficheros de configuración de un servidor de TFTP. De hecho se le puede configurar para que descargue hasta dos ficheros de configuración en el arranque. El primero se llama el fichero de configuración de red (network configuration file) y el segundo el fichero de configuración del host (host configuration file). El segundo se aplica después de aplicar el primero (pero puede no existir cualquiera de ellos). La utilidad de estos ficheros es tener un fichero de configuración global para todos los routers de la red que se aplica primero y un fichero de configuración para cada uno con lo que resta de configuración específica para un router.

Lea cómo llevar a cabo esta configuración en:
http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/ffun_c/ffcprt2/fcf007.htm#1002171

Cree un fichero de configuración para el router en el PC en el que le cambie el nombre al router (vea el comando hostname). configure el router para que en el arranque cargue ese fichero por TFTP como fichero de configuración de host.

Puede ver el contenido de un fichero en un servidor de TFTP con el comando more

Checkpoint
Muestren al profesor de prácticas que el router efectivamente se descarga y aplica ese fichero

8.- Trabajos opcionales

El cable de consola muchas veces es un cable de pares con conectores RJ45 con un adaptador a DB9 o DB225 en un extremo. Es cable se llama "rollover". Busque en la documentación de Cisco cómo es la configuración de los hilos de ese cable de un extremo a otro.

Se puede conectar un modem al puerto AUX o al puerto de Consola de un router Cisco para hacer llamadas al router y acceder a configurarlo remotamente incluso si no se puede llegar a él por la red IP. Investigue cómo hacerlo a través de la documentación de Cisco. ¿Sería capaz de hacerlo con los modems de los que disponemos? Si lo consigue muéstreselo al profesor de prácticas. Si cree que no se puede demuestre al profesor la sección de la documentación que lo prueba. Con esto puede obtener un checkpoint adicional (¡y una gran experiencia de configuración!)

9.- Conclusiones

En esta práctica hemos visto los pasos básicos para acceder a la consola de configuración de un router Cisco así como configurarlo lo suficiente para el acceso remoto por telnet o hacer backup de sus ficheros. En las siguientes prácticas veremos en más detalle las opciones de configuración del router.


Depto. Automática y computación
Universidad Pública de Navarra
Daniel Morató
daniel.morato@unavarra.es