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

41309 Laboratorio de Programación de Redes

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

Práctica 3 - El router Cisco. Configuración IP de interfaces Ethernet en Cisco IOS

1. Objetivos

En esta práctica vamos a tomar un primer contacto con los routers Cisco. Veremos técnicas básicos para configurarlos. Entre ellas aprenderemos a configurar IP sobre los interfaces Ethernet de los routers Cisco.

2. Material

3. Avisos generales

En los ordenadores dispuestos para la realización de estas prácticas (PC A, B y C) se ha creado una cuenta de nombre lpr y password telemat. Esta cuenta tiene permisos para ejecutar mediante el comando sudo ciertos comandos restringidos normalmente al superusuario. Igualmente se le han otorgado permisos para modificar el contenido de ciertos ficheros del sistema necesarios para la realización de la práctica. Para más detalle diríjanse a la documentación sobre los armarios.

Si quieren conservar cualquier fichero entre sesiones guárdenlo en un disquete, dado que no se asegura que los ficheros creados o modificados durante una sesión de prácticas se mantengan para la siguiente.

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. Serán capaces de recuperar este tipo de accidentes cuando aprendan cómo transferir al router ficheros desde un servidor de TFTP.

Al empezar a trabajar con el router tengan cuidado con la configuración que pueda tener grabada y eliminen lo que no necesiten. Antes de abandonar el laboratorio borren de la configuración del arranque sus modificaciones.

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 tres routers Cisco. Consulten la documentación de los armarios. Verán que el servidor de consola tiene un cable desde el puerto serie al puerto de consola de cada uno de ellos (y tiene varios puertos serie). Estos cables tienen por un extremo un conector DB9 y es el conectado en el PC. El otro extremo, que pueden ver en los routers, es un conector RJ45 (ojo, sigue siendo una conexión serie, NO es Ethernet).

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.

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

Nota: He visto otros años que la gente se acostumbraba a escribir este comando (y otros) cada vez que entraba en modo configuración. Esto no es en absoluto necesario. Una vez que activemos el reenvío de paquetes se queda activado (salvo que lo desactivemos expresamente o rebotemos y no hayamos guardado la configuración), al igual que con los demás comandos (como por ejemplo activar un interfaz).

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 interfaz FastEthernet 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.3.armario.1 con máscara 255.255.255.0

Conecte ese interfaz del router al 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 uno de los interfaces Ethernet del PC A al mismo hub y configúrele la dirección 10.3.armario.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 invitado

Ahora la password que tiene el router para las conexiones por telnet es invitado. 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. Configuración IP básica del router

Vamos a configurar el router (router2) para que esté conectado a una red diferente con cada uno de sus interfaces Ethernet. En la figura siguiente se ve la topología que queremos conseguir, donde por simplicidad hemos numerado los interfaces Ethernet del router, aunque probablemente en realidad uno sea un FastEthernet y el otro un Ethernet.

Figura 1.- Router conectado a dos redes

Cada grupo de prácticas puede trabajar con el bloque de direcciones 10.3.armario.0/24. Lo que deben hacer en este apartado es crear dos subredes dentro de esa red.

Para la configuración IP de los interfaces del router deberán emplear el comando ip dentro del modo de configuracion de cada interfaz.
http://www.cisco.com/en/US/products/sw/iosswrel/ps1835/products_configuration_guide_chapter09186a00800ca75b.html#33188

Empleen el programa tcpdump o ethereal para ver los paquetes tanto en la red a la que está conectado un PC como en la red a la que está conectado el otro.

Checkpoint
Muestren al profesor de prácticas la configuración y expliquen cómo funciona el envío de paquetes IP entre máquinas de las dos redes.

8. Topología con dos routers

A continuación vamos a crear la topología que se ve en la siguiente figura:

Figura 2.- 2 routers conectando 4 redes

Para ello emplearemos los routers router2 y router3.

Checkpoint
Muestren al profesor de prácticas el camino que siguen los paquetes

Uno de los campos de la cabecera de todos los paquetes IP es el TTL o Time To Live. El origen del paquete le da un valor y cada router que reenvía el paquete lo decrementa al menos en una unidad. Si un router va a reenviar un paquete y después de decrementar este campo de la cabecera el resultado es 0 o menos que 0 descarta el paquete sin reenviarlo. Podemos ver el valor de este campo de los paquetes IP con el programa tcpdump si le pedimos que saque más información de cada paquete. Pueden emplear para ello la opción -v.

9. Proxy-ARP

Ahora vamos a probar el funcionamiento de Proxy-ARP.

Los routers Cisco tienen activado por defecto el hacer Proxy ARP. Si no recuerdan bien el funcionamiento de Proxy ARP pueden consultar:
http://www.cisco.com/en/US/tech/tk648/tk361/technologies_tech_note09186a0080094adb.shtml

Proxy ARP se activa/desactiva para cada interfaz del router independientemente (con el comando ip en modo configuración de interfaz).

Checkpoint
Muestren al profesor de prácticas la configuración y esos paquetes con tcpdump o ethereal. Expliquen lo que está sucediendo en cada situación de las mencionadas.

10. Gestión de ficheros [opcional]

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/).

Dicho servidor se encuentra configurado en el PC A, de forma que podemos subir ficheros al mismo y se guardarán en la carpeta /tftpboot

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

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

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

11. 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 para formar redes pequeñas o hacer backup de sus ficheros. En las siguientes prácticas veremos en más detalle las opciones de configuración del router.

Por favor, antes de abandonar el laboratorio borren el fichero de configuración que los routes cargan en el arranque. Es decir, hagan:

Router# erase startup-config

Y reinicien el router. Si en el proceso de reiniciar les pregunta si quieren guardar la configuración, que ha sido modificada, digánle que NO (queremos que el router arranque sin fichero de configuración para que no tenga configuraciones extrañas dejadas por otros grupos de prácticas). Por favor, tengan cuidado de no borrar la flash.


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