Universidad Pśblica de Navarra

 

 

Grupo de Redes, Sistemas y Servicios Telem‡ticos

 

 

 

 

 

 

 

 

 

 

 

Redes de Ordenadores

Pr‡ctica 4: PC como router IP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                    

                                                                      

 

                                  

 

 

 

 

 

Fecha: 11 de Noviembre de 2005

 

 

 

Pr‡ctica 4: PC como router IP

 

1.   Objetivos

 

En esta pr‡ctica vamos a ver c—mo emplear PCs con Linux que realicen funciones de router IP.

 

2.   Haciendo que un PC haga de router

 

Vamos a emplear el PC C como router. Nuestro primer objetivo es crear una topolog’a como la de la figura siguiente.

Figura 1.- Router conectado a dos redes

 

En ella utilizaremos como router el PC C. Para ello, seguiremos los siguientes pasos:

 

á  Dividan su espacio de direcciones (10.3.armario.0/24) en al menos dos bloques que no se solapen, para formar 2 redes.

á  Configuren las IPs de los dos primeros interfaces Ethernet del PC C (eth0 y eth1) para que cada uno estŽ en una de esas redes

á  Configuren un interfaz de PC A para que tenga direcci—n IP de la Red A y un interfaz del PC B para que la tenga de la Red B

á  Conecten el interfaz del PC C con IP en la Red A en un conmutador (switch0 funciona como 3 conmutadores independientes) y ah’ tambiŽn el PC A

á  Conecten el otro interfaz del PC C en el hub.

á  Conecten ah’ el PC B

á  Configuren la ruta por defecto de cada PC para que cada uno la tenga haciendo referencia al interfaz del PC C conectado en su misma red.

Para ello no tienen m‡s que introducir el siguiente comando

> sudo route add default gw direcci—n ip del router por defecto

 

á  Prueben a hacer ping desde el PC C a PC A y PC B

á  Prueben a hacer ping desde PC A a PC C y desde PC B a PC C

á  Prueben a hacer ping desde PC A a PC B. ŔQuŽ sucede?

á  Empleen Ethereal en todos los PCs para averiguar quŽ es lo que est‡ fallando

 

El PC C tiene ahora dos interfaces IP en funcionamiento. Tal y como est‡, se dice que este PC est‡ multihomed porque tiene interfaces en redes diferentes. Ahora mismo, si recibe por uno de sus interfaces un paquete que se dirige a una IP destino que no es ninguna de las suyas lo descarta. Para que funcione como un router tenemos que convencerle de que cuando reciba un paquete con esas caracter’sticas no lo tire sino que lo reenv’e aplicando las reglas que tiene en su tabla de rutas. Esta funcionalidad es lo que se conoce como IP forwarding o reenv’o de paquetes IP. Si el kernel tiene compilada esta funcionalidad (y en nuestro caso la tiene) podemos activarla sin m‡s que escribir un 1 en el fichero /proc/sys/net/ipv4/ip_forward (recuerde que los ficheros en /proc en realidad hacen referencias a variables dentro del kernel), o equivalentemente empleando el comando sysctl para modificar esa variable del kernel.

Ambas acciones requieren privilegios de superusuario. Para resolver el problemas se les ha dejado un programa muy simple que tan solo ejecuta un comando sysctl para activar o desactivar el forwarding segśn se le indique.

 

Para activarlo:

> sudo forwarding si

Para desactivarlo:

> sudo forwarding no

 

Con solo hacer activar el forwarding el PC empezar‡ a reenviar paquetes. TambiŽn se podr’a activar esta funcionalidad para que reenviara paquetes solo entre ciertos interfaces, lo cual ser’a śtil si tuviŽramos m‡s de dos y no quisiŽramos que reenviar‡ entre todos ellos (ficheros /proc/sys/net/ipv4/conf/*/forwarding).

Y ya est‡. El PC ya se comporta como un router. Si activ‡ramos m‡s interfaces (Ethernet, PPP, WLAN, etc) podr’a reenviar tr‡fico entre todos ellos. De hecho esta es una soluci—n bastante barata para tener un router. Coloque ahora un Ethereal o tcpdump en PC C y observe que s’ reenv’a los paquetes ICMP.

 

Una vez que el PC funciona como un router debemos mirar con m‡s cuidado el contenido de su tabla de rutas dado que ahora no solo la emplear‡ para todos los paquetes que Žl quiera enviar sino tambiŽn para todos los que decida reenviar. Para ver la tabla de rutas:

>route print

 

Mostrar a la profesora los resultados obtenidos.

 

 
 

 

 


3.   Conectando el router al laboratorio

 

A continuaci—n conectaremos una de nuestras peque–as redes al laboratorio a travŽs del PC C utilizado como router. Nuestra topolog’a objetivo es la que se muestra en la siguiente figura (contando con los diferentes armarios).

 

Figura 2.- Router a la red del laboratorio

 

Cada grupo de pr‡cticas va a emplear en este apartado la red 10.3.32+armario.0/24

Configuren el primer interfaz del PC A y del PC B en esa red (desactiven los restantes)

Igualmente coloquen en esa red el primer interfaz de su router.

 

Compruebe la conectividad con ping.

 

Se ha definido una red en la cual estar‡n conectados todos los routers de los armarios empleados en esta pr‡ctica as’ como el router de acceso. Esta red es la 10.3.16.0/20

ŔCśantos hosts pueden configurarse dentro de esa red?

 

á       Configuren el segundo interfaz de su router con la direcci—n 10.3.17.armario/20

á       Conecten ese interfaz al punto C de su puesto de pr‡cticas que va al conmutador de la asignatura (ver documentaci—n de los armarios).

á       Comprueben que pueden hacer ping desde su router al router de acceso

á       Configuren la ruta por defecto de sus PCs.

á       Comprueben que desde los PCs pueden hacer ping al router de acceso

 

ŔPueden hacer ping a m‡quinas del laboratorio (10.1.1.254) desde PC A? ŔPor quŽ?  Utilice Ethereal.

 

Configuren en su router una ruta por defecto hacia el router de acceso

 

ŔQuŽ camino siguen los paquetes que vayan desde su PC A hasta el PC A de uno de sus compa–eros?  Utilice Ethereal

 

Mostrar a la profesora los resultados obtenidos.

 

 
 

 

 


4.   Conclusiones

En esta pr‡ctica hemos visto c—mo crear un router IP empleando un PC con Linux y lo hemos combinado con routers Cisco, viendo con ello la interoperatividad de ambos y lo sencillo que es crear un router IP con equipamiento de bajo coste (PCs).