PARTE I Armar una red domstica (PC Router con Ubuntu o Linux)
La figura 1 muestra la topologa de red ha utilizar en este Lab. Los PCs estn conectados por 2 switch Ethernet. Las tablas de ruteo deben ser manualmente configuradas, este tema es conocido como ruteo esttico.
Figura 1. Topologa de red
La tabla 1 muestra las direcciones IP.
PC Linux Interfaz Ethernet eth0 Interfaz Ethernet eth1 PC1 10.0.1.11/24 Desactivada PC2 10.0.1.21/24 10.0.2.22/24 PC3 10.0.2.41/24 Desactivada Tabla 1. Direcciones IP para la actividad
Configuracin de red. 1. Conecte la interfaces Ethernet de los PC, como se muestra en la figura 1. Configure las direcciones IP de las interfaces como se da en la tabla 1. 2. Inicie la captura de trfico en el PC1 con wireshark. 3. Emita un comando ping desde el PC1 al PC2, Router1 y PC3. Guarde las salidas de cada comando ping.
PC1% ping c 5 10.0.1.21 PC1% ping c 5 10.0.2.1 PC1% ping c 5 10.0.3.41 4. Observe la salida de wireshark. Observa. Los datos capturados para responder las siguientes preguntas: Cul es la salida en el PC1 cuando los comandos ping son emitidos? Cules paquetes, si los hay, fueron capturados por wireshark? Observ algn paquete ARP o ICMP? Si fue as, Qu indican ellos? Configurando un PC Linux (Ubuntu) como un router IP. En un sistema Linux, IP forwarding esta habilitado cuando el archivo /proc/sys/net/ipv4/ip_forward contiene un 1, y esta deshabilitado cuando contiene un 0. T puedes activar IP forwarding escribiendo un 1 en el archivo, y se realiza con el comando: PC1% echo 1 > /proc/sys/net/ipv4/ip_forward El comando echo escribe el argumento dado, ac, el string 1, a la salida estndar. Usando el operador de redireccin (>) y un nombre de archivo, la salida del comando es escrita al archivo. IP forwarding es desactivado con el comando: PC1% echo 0 > /proc/sys/net/ipv4/ip_forward El comando tiene un efecto inmediato; sin embargo, los cambios no son permanentes y se pierden cuando el sistema es reiniciado. Para modificar el estado de IP forwarding permanentemente se requiere cambiar la configuracin del archivo /etc/sysctl.conf. IP forwarding se activa si el archivo contiene la lnea net.ipv4.ip_forward = 1, e IP forwarding se desactiva cuando la lnea no existe o el archivo contiene la lnea net.ipv4.ip_forward = 0. Los cambios en la configuracin del archivo /etc/sysctl.conf tienen efecto la siguiente vez que Linux es reiniciado. Activa el PC2 como un router IP usando el comando PC2% echo 1 > /proc/sys/net/ipv4/ip_forward Configurando las entradas de la tabla de ruteo esttico para un PC Linux. Luego, debes configurar las tablas de ruteo de los PCs Linux. PC1 y PC3 son host, y el PC2 es un router IP. Las tablas de ruteo con configuradas, por tanto, ellas conforman la topologa de mostrada en la Figura 1 y Tabla 1. Las rutas son configuradas manualmente, lo cual, tambin es llamado como ruteo esttico. La configuracin de las tablas de ruteo en Linux es realizado con el comando route, el cual tiene numerosas opciones de visualizacin, adicin, borrado o modificacin de la entradas de la tabla de ruteo. Los diferentes usos del comando route estn resumidos en la lista. route add net netaddress netmask mask gw gw_adress route add net netaddress netmask mask dev iface
Aade una entrada a la tabla de ruteo para el prefijo de red identificado por la direccin IP netaddress y la mscara de red mask. El siguiente salto es identificado por la direccin IP gw_address o por la interfaz iface.
Aade un host a la tabla de ruteo identificado por la direccin IP hostaddress con el siguiente salto identificado por la direccin IP gw_address o por la interfaz iface.
route add default gw gw_address
Cambia la ruta por defecto a la direccin IP gw_address.
route del net netaddress netmask mask gw gw_address route del host hostaddress gw gw_address route del default gw gw_address
Borra una entrada existente en la tabla de ruteo. No es necesario tipear todos los argumentos. Si se proveen los argumentos suficientes que coincidan con una entrada existente, la primera entrada que coincida con el argumento dado es borrada.
route e Muestra la actual tabla de ruteo con campos extendidos. Este comando es idntico al comando netstat r.
route C Muestra la cache de la tabla de ruteo.
Como ejemplos de la lista anterior: El comando para aadir una ruta para el prefijo de red 10.21.0.0/16 con el siguiente salto a la direccin 10.11.1.4 es PC1%route add net 10.21.0.0 netmask 255.255.0.0 gw 10.11.1.4 El comando para aadir una ruta a un host con direccin IP 10.0.2.31 con el siguiente salto definido a 10.0.1.21 es: PC1%route add host 10.0.2.31 gw 10.0.1.21 El comando para aadir la direccin IP 10.0.4.4 como gateway por defecto es realizado con el comando. PC1%route add default gw 10.0.4.4 Los comandos para borrar las entradas creadas con los comandos previos son. PC1%route del net 10.21.0.0 netmask 255.255.0.0 PC1%route del host 10.0.2.31 PC1%route del default En Linux, no existe una forma simple de borrar todas las entradas de la tabla de ruteo. Cuando los comandos son ingresados interactivamente en una terminal Linux, las entradas aadidas son validas hasta que Linux es reiniciado. Para hacer las rutas estticas permanentes, las rutas necesitan ser ingresadas en el archivo de configuracin /etc/network/interfaces, el cual es ledo cada vez que Linux inicia. Los comandos listados son tiles para obtener informacin de ruteo o para encontrar errores en la configuracin de ruteo. ping IPaddress Prueba si el IPaddress es alcanzable. traceroute IPaddress Muestra la ruta a la interfaz IPaddress
1. Configura las entradas de ruteo del PC1 y PC3. Tu puedes especificar la ruta por defecto o insertar entradas de ruteo diferentes para cada red remota. Para esta ejercicio, aade un tura para cada red remota individual. Como un indicio, esta es la informacin de configuracin para el PC4:
PC3%route add net 10.0.2.0 netmask 255.255.255.0 gw 10.0.3.1 PC3%route add net 10.0.1.0 netmask 255.255.255.0 gw 10.0.3.1
2. Configura las entradas de la tabla de ruteo del router IP PC2. (La exactitud de las entradas de ruteo puede ser testeada despus que el Router 1 haya sido configurado.)
3. Muestra la tabla de ruteo del PC1, PC2 y PC3 con netstat rn y guarda la salida. Reporte del Lab. Incluya las salidas guardadas de las tablas de ruteo. Explique las entradas en la tabla y discute los valores de los campos en cada entrada. Parte II Configurando un PC Router Cada PC Router Linux con al menos 2 interfaces puede ser establecido como un router IP. Configurar un PC Linux como un router IP involucra 2 pasos: 1. Modificar la configuracin de linux, lo que implica que IP forwarding (opcin que indica que puede retransmitir paquetes) debe ser habilitado y 2. Configurar la tabla de ruteo. La figura 2 muestra la topologa de red que es usada en la parte II de este laboratorio. Como indicio, la Xbox y la impresora son dispositivos imaginarios u otro computador de escritorio ubicado. Linux como un Router SOHO (en tu casa o lab.) SOHO representa Small Offices and Home Offices, y usualmente se refiere a situaciones donde solo existe un computador en casa a varios computadores en una pequea oficina. Existe una gran oferta de routers SOHO en el mercado actualmente, provenientes de diversos fabricantes, pero se ha testeado que la mayora de ellos realizan la mismas utilidades bsicas (NAT, DHCP, y algunos, filtrado de puertos). Ellos son menos costosos que cualquier computador, pero si tu quieres que un viejo computador que estas a punto de botar, tu puedes fcilmente instalar Linux en l, y hacer tu propio router SOHO teniendo la ventaja de una alta flexibilidad a costo cero.
Usualmente, un router SOHO tiene un puerto WAN que es un puerto Ethernet, donde el proveedor de la conexin debe ser conectado. Los CPE (Customer Premises Equipment o Equipo local del cliente) del Proveedor pueden ser de cualquier tipo (modem xDSL, bridge inalmbrico, cable modem, conversores de medios de fibra ptica) que pueden proporcionar una conexin Ethernet. Los routers SOHO usualmente tienen de 4 a 8 puertos Ethernet para la LAN (Local Area Network o red de rea local). Esto es bsicamente un pequeo switch de 4 a 8 puertos construido en el router SOHO. Algunos routers SOHO tambin tienen un chipset de punto de acceso inalmbrico que es un bridge (o puente) al switch incorporado.
Nuestro computador que va a correr Linux y actuar como SOHO debe tener 2 tarjetas Ethernet, una para la funcin WAN de un router SOHO dentro del cual el CPE del proveedor es conectado, y el segundo para la LAN. Si t quieres que la LAN sea cableada e inalmbrica, la interfaz Ethernet para la red local ser conectada a un Access Point con un switch incorporado. Sin embargo, todo esto es bsicamente una LAN (cableada, inalmbrica, bridged, o switched); por lo tanto, desde el punto de vista del firewall, no importa que usemos como primera o segunda capa del modelo OSI (access points, hub, switches).
Una configuracin SOHO tpica luce como esto:
Figura 1. Topologa comn de una red pequea
El proveedor usualmente nos asigna una direccin IP pblica que puede ser o estticamente asignada, o dinmicamente asignada usando DHCP o PPPoE. Linux tiene soporte para PPPoE; este puede ser descargado desde http://www.roaringpenguin.com/pppoe/.
No es el propsito de este laboratorio ensear como configurar una conexin de internet, principalmente, porque comnmente es especfica del proveedor, y los proveedores tienen el HowTo (Como hacer) en esto cuando t adquieres el servicio. La idea principal es que t tendrs una conexin Ethernet a Internet, y una direccin IP pblica.
Creando la Red
Para crear la red local, debemos usar un rango de direcciones IP privadas. In este ejemplo, vamos a usar las clases privadas de red C, que sera 192.168.1.0/24 1 ; por tanto, lo mejor que podramos hacer es asignar la IP 192.168.1.1 a la interfaz Ethernet eth1 en nuestro router Linux (este proceso tambin se puede realizar a travs de la interfaz grfica de Ubuntu).
router:~#ifconfig eth1 192.168.1.1 netmask 255.255.255.0 up
De manera de crear un correcto firewall para todos los dispositivos detrs de NAT, deberamos asignarles una direccin IP esttica. Sin embargo, podemos querer usar DHCP para dispositivos de juego y para el laptop. Para hacer esto, primero debemos instalar el servidor DHCP. Esto es una tarea especifica de la distribucin. Por ejemplo, en Debian o Ubuntu ejecutamos los siguientes comandos:
router:~# sudo apt-get install dhcp3-server Leyendo lista de paquetes... Creando rbol de dependencias... Leyendo la informacin de estado... Se instalarn los siguientes paquetes NUEVOS: dhcp3-server Luego, necesitamos configurar el servidor DHCP. Queremos que los laptops adquieran direcciones IP desde 192.168.1.2 a 192.168.1.10, por ejemplo. Configuramos un rango solo en caso que algunos amigos nos visiten con sus laptops. En el archivo /etc/dhcp3/dhcpd.conf esta la configuracin, y para ello necesitamos ingresar el siguiente comando para editar (gedit es un editor de texto) el archivo: gedit /etc/dhcp3/dhcpd.conf
E ingresamos el siguiente texto:
1 /24 es equivalente a decir que la mscara de red (o netmask) es 255.255.255.0, y en el caso de /16 significa que la mscara de red es 255.255.0.0 Sin cerrar el editor, continuamos editando el mismo archivo. Para la impresora (printer), computador de escritorio (desktop computer) y el computador de los nios (children), queremos asignarles la misma direccin IP todo el tiempo. Averiguamos la direccin MAC de cada uno, y basado en sus direcciones MAC, les asignamos la direccin IP escribiendo en el archivo recin abierto las siguientes lneas.
Con estas modificaciones al archivo dhcpd.conf solo basta guardar clicando en y cerrando el editor. Ahora, necesitamos editar el script /etc/default/dhcp3-server y cambiar la interfaz a eth1. Para realizar esto ingresamos el siguiente comando: gedit /etc/default/dhcp3-server E ingresamos la siguiente informacin:
Luego, debemos iniciar el servidor DHCP, ejecutndolo con el argumento start. Esto se realiza ingresando en la consola el siguiente comando:
sudo invoke-rc.d dhcp3-server start
Hasta este punto, tenemos:
El router Linux tiene una direccin IP pblica en eth0, y una direccin IP privada en eth1 192.168.1.1, corriendo DHCP. Los laptops adquieren direcciones IP privadas del rango que va desde 192.168.1.2 a 192.168.1.10. El computador de escritorio siempre adquiere la direccin IP privada 192.168.1.11. El computador de los nios siempre adquiere la direccin IP privada 192.168.1.55. La impresora de red siempre adquiere la direccin IP privada 192.168.1.100. El dispositivo de juegos siempre adquiere la direccin IP privada 192.168.1.200.
Testeando rutas con traceroute
Inicie una sesin wireshark en su Laptop. 1. Ejecute el comando traceroute desde el Laptop a algn computador en la red. Observa como traceroute rene informacin en la ruta. 2. Detenga la captura de trafico de wireshark y guarda el trfico generado por el comando traceroute. 3. Guarde la tabla de ruteo del PC Router. (mediante el comando route e se visualiza)
Antes de pasar a la siguiente parte del laboratorio, detenga DHCP con el siguiente comando: sudo invoke-rc.d dhcp3-server stop