|
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
En esta pr‡ctica vamos a ver c—mo emplear PCs con Linux que realicen funciones de router IP.
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.
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.
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).