You are on page 1of 30

cRucho Manual de Usuario

Ernesto Licea Martin


09/08/2011

Tabla de Contenidos
Tabla de Contenidos
TABLA DE CONTENIDOS ........................................................................................... I CAPTULO 1. INTRODUCCIN ................................................................................ 1 1.1. POR QU LINUX? ................................................................................................... 1 CAPTULO 2. INSTALACIN .................................................................................... 2 2.1. REQUISITOS PARA LA INSTALACIN ........................................................................ 2 2.1.1. Hardware ........................................................................................................ 2 2.2. INSTALANDO CRUCHO ............................................................................................ 2 2.2.1. Preparando el CD .......................................................................................... 2 2.2.2. Verificando el CD ........................................................................................... 2 2.2.3. Iniciando desde el CD .................................................................................... 3 2.3.4. Comenzando la instalacin ............................................................................ 3 CAPTULO 3. CONFIGURACIN ............................................................................. 5 3.1. CONFIGURACIN DE CRUCHO ................................................................................. 5 3.1.1. Opciones del fichero de configuracin ........................................................... 5 3.1.2. Cargando configuracin de cRucho ............................................................... 7 3.2. LANS VIRTUALES (VLAN) .................................................................................... 7 3.2.1. Configurando las VLANs ................................................................................ 7 3.2.2 Cargando la configuracin de las VLANs....................................................... 7 3.3. CONFIGURACIN DE LAS INTERFACES..................................................................... 8 3.3.1. Configurando una nueva interfaz ................................................................... 8 3.3.2. Cargando configuracin de las interfaces ..................................................... 9 3.4. DIRECCIONES IP ALIAS. .......................................................................................... 9 3.4.1. Agregando una direccin IP alias a una interfaz......................................... 10 3.4.2. Cargando configuracin de las direcciones IP alias ................................... 10 3.5. TABLA DE RUTAS .................................................................................................. 10 3.5.1. Agregando una nueva ruta ........................................................................... 11 3.5.2. Agregando la ruta por omission ................................................................... 11 3.5.3. Cargando configuracin de la tabla de rutas .............................................. 12 3.6. FIREWALL ............................................................................................................. 12 3.6.1. Agregando una nueva regla al firewall ........................................................ 12 3.6.2. Cargando configuracin del firewall ........................................................... 14 3.7. TRADUCCIN DE DIRECCIONES DE RED (NAT)...................................................... 14 3.7.1. NAT a la entrada de una interfaz ................................................................. 14 3.7.2. NAT a la salida de una interfaz .................................................................... 14 3.7.4. Creacin de una nueva regla NAT ............................................................... 15 3.7.5. Cargando configuracin de las reglas NAT ................................................. 17 3.8. CALIDAD DE SERVICIO (QOS) ............................................................................... 17 3.8.1. Secciones del fichero de configuracin ........................................................ 18 3.8.2. Aplicando QoS .............................................................................................. 19
i

Tabla de Contenidos
3.8.2.1. Declaracin de las interfaces WAN y LAN .......................................... 19 3.8.2.2. Creacin del sistema de colas ................................................................ 20 3.8.2.3. Creacin de los filtros de trfico............................................................ 22 3.8.3. Cargando configuracin de QoS .................................................................. 23 3.8.4. Monitoreando el sistema de colas ................................................................ 24 3.9. CONFIGURACIN DEL MONITOR DE RED NTOP ..................................................... 26

ii

Introduccin

Captulo 1. Introduccin
cRucho es un software de cdigo abierto que apoyndose en las herramientas disponibles en el ncleo de Linux permite configurar este para funcionar como enrutador y firewall. Este fue desarrollado como solucin a las deficiencias encontradas en otros softwares routers y es adaptable a las necesidades bsicas de enrutamiento y control de trfico de pequeas y medianas redes.

1.1. Por qu Linux?


El ncleo de Linux presenta un conjunto de herramientas muy potentes capaces de administrar interfaces de red y conexiones, as como realizar un manejo avanzado de paquetes en diferentes estados de procesamiento. Entre las herramientas ms importantes cuenta con las contenidas dentro del paquete Iproute2 introducido en los ncleos de Linux con versiones superior a la 2.2. El paquete Iproute2 reemplaza completamente las funcionalidades presentes en herramientas anteriores de los ncleos de Linux como ifconfig, route y arp y las extiende llegando a tener caractersticas similares a las provistas por dispositivos exclusivamente dedicados al ruteo y control de trfico. Otra de las herramientas que convierte a Linux en una plataforma ideal para ser usado como router y firewall es el framework Netfilter que brinda la posibilidad del seguimiento de conexiones y cuenta con componentes como Iptables que no solo permite el filtrado de paquetes, sino tambin realizar traduccin de direcciones de red(NAT) y marcar y modificar paquetes. Linux adems cuenta con un conjunto de programas en sus repositorios que permiten incrementar las posibilidades de su uso como router y firewall. Entre estos se encuentra el software vlan para la implementacin del protocolo 802.1q, snmp para la implementacin del protocolo SNMP (Simple Network Manage Protocol), etctera. En especial este proyecto se inclin por Ubuntu, una de las distribuciones de Linux ms flexibles y de ms auge en la actualidad que cuenta con una de las comunidades de desarrolladores ms amplias del mundo.

Instalacin
Captulo 2. Instalacin
2.1. Requisitos para la instalacin
Para la instalacin del software router cRucho se deben cumplir con un conjunto de requisitos. Los requisitos de hardware son los mnimos permitidos para la instalacin del software router.

2.1.1. Hardware
Los parmetros tcnicos del hardware dependern de la carga de procesamiento que tendr el router dependiendo siempre del trfico en la red dnde desempear sus funciones. Se recomiendan como requisitos mnimos los siguientes: Microprocesador Pentium III 600MHz o superior Capacidad de Memoria RAM 128MB o superior Disco Duro de 2 GB o superior 1 o ms Tarjetas de Red de 10 Mbit o superior

2.2. Instalando cRucho


Para realizar la instalacin de cRucho es necesario quemar un CD con la imagen ISO de cRucho. Esto se debe realizar correctamente, pues en el CD debe quedar el contenido y no el fichero de la imagen ISO. El proceso de preparacin del CD puede variar en dependencia del Sistema Operativo en el que se realice la tarea.

2.2.1. Preparando el CD
Para el quemado del CD en el Sistema Operativo Windows se recomienda el uso del Nero debido a las facilidades que este posee para el trabajo con imgenes ISO. Se debe comenzar haciendo clic derecho sobre la imagen ISO, luego elegir la opcin Abrir Con y seleccionar el Nero en la lista de programas disponibles. Para el quemado del CD en el Sistema Operativo Linux se recomienda el uso del Brasero o del K3b y el proceso es el mismo explicado anteriormente con el Nero.

2.2.2. Verificando el CD
Una vez que el CD fue quemado es preciso realizar una verificacin comprobando los datos contenidos dentro del mismo. Deben existir 7 carpetas visibles entre las cuales estn install, isolinux, preesed entre otras, una carpeta no visible desde Linux de nombre

Instalacin
.dist y algunos ficheros como cdromupgrade, md5sum.txt y README.diskdefines. Si dentro del CD existe un fichero imagen ISO, entonces el CD no fue quemado adecuadamente y se debe repetir la preparacin del mismo.

2.2.3. Iniciando desde el CD


Para iniciar el sistema de instalacin de cRucho es preciso encender el equipo que funcionar como software router introduciendo el CD recin preparado en el dispositivo de lectura de CDs. La pantalla inicial para la instalacin de cRucho se debe mostrar a continuacin, de no ser as la razn ms probable es que el dispositivo CD-ROM no se encuentra en la lista de los dispositivos desde los cuales el equipo debe iniciar o no se encuentre en el orden adecuado.

2.3.4. Comenzando la instalacin


Una vez que el equipo arranque por el CD debe aparecer la pantalla mostrada en la figura 1, donde se muestra un men en el cual el usuario puede escoger la tarea que desea realizar.

Fig. 1 Pantalla inicial en la instalacin de cRucho

Instalacin
El men para la instalacin de cRucho brinda las siguientes opciones: Instalar cRucho: Al escoger esta opcin se instala cRucho en el primer disco duro del equipo, eliminando todos los datos antes contenidos en este disco. Arrancar desde el primer disco duro: Esta opcin brinda la posibilidad de arrancar desde el primer disco duro del equipo sin instalar cRucho. Comprobar defectos en el CD: Al escoger esta opcin se realiza un chequeo del CD de instalacin de cRucho. Una vez escogida la primera opcin no se debe realizar ninguna otra accin en el equipo donde se instalando cRucho. Al terminar la instalacin el equipo se reiniciar y quedar cRucho instalado en el primer disco duro listo para una posterior configuracin. El usuario inicial para la configuracin del software router es crucho y el password crucho. En caso de no escogerse ninguna de las opciones mostradas en el men de la figura 1 antes de los 10 segundos, cRucho comenzar a instalarse automticamente. La figura 2 muestra una de las pantallas que debe aparecer en el proceso de instalacin del software router.

Fig. 2 Pantalla mostrada durante el proceso de instalacin de cRucho

Nota: Es recomendable crear un nuevo usuario con privilegios de administracin o cambiar el password del usuario crucho con el objetivo de asegurar correctamente el acceso al software router.

Configuracin
Captulo 3. Configuracin
3.1. Configuracin de cRucho
El fichero de configuracin del software router cRucho se encuentra en el camino /etc/crucho/crucho.conf. En este fichero se definen parmetros que establecen la configuracin general del router. Para configurar un parmetro se sigue la siguiente estructura: <Opcin>: <Valor>

3.1.1. Opciones del fichero de configuracin


hostname: Define el nombre de la PC donde est instalado cRucho. El valor de esta opcin debe ser una sola palabra. El cambio de esta opcin no tendr efecto hasta el reinicio de la PC. domain: Esta opcin define el dominio al cual pertenece la PC. DNS_Servers: Esta opcin define los servidores DNS que sern encuestados por cRucho para resolver cualquier nombre en la red. Se pueden definir varios servidores DNS separados por espacios. El primer servidor DNS definido ser el primario, los dems sern servidores de nombres secundarios. NTP_Server: Esta opcin define el servidor de tiempo para la sincronizacin de la hora de la PC donde est instalado cRucho. Authorized_SSH_Service: Esta opcin establece las direcciones IP y subredes que tendrn acceso al software router a travs de una conexin SSH para la configuracin remota. Se pueden definir varias subredes y direcciones IP separadas por espacios. Authorized_Ntop_Service: Esta opcin establece las direcciones IP y subredes que tendrn acceso al sistema de monitoreo de la red Ntop. Se pueden definir varias subredes y direcciones IP separadas por espacios. Si esta opcin no es definida el servicio Ntop es detenido para optimizar el uso de los recursos del software router. Authorized_SNMP_Service: Esta opcin define las direcciones IP y subredes que tendrn acceso al software router a travs del protocolo SNMP. Se pueden definir varias subredes y direcciones IP separadas por espacios. Si esta opcin no es especificada ningn cliente podr realizar encuestas SNMP a cRucho, por lo que el servicio es detenido, optimizando de esta manera el uso de los recursos del software router.

Configuracin
Community: Esta opcin define la palabra clave usada por el cliente SNMP que desee encuestar al servidor SNMP que est corriendo en cRucho. Contact: Esta opcin define el correo de contacto del administrador del servicio SNMP corriendo en el software router. Authorized_HTTP_Service: Esta opcin define las direcciones IP y subredes que tendrn acceso a las pginas web de las grficas de consumo de ancho de banda del sistema de colas de cRucho. Se pueden definir varias subredes y direcciones IP separadas por espacios. Si esta opcin no es especificada ningn cliente podr visualizar a travs de la web las grficas de consumo de ancho de banda de las colas, por lo que el servidor web es detenido, optimizando de esta manera el uso los recursos del software router. Authorized_ICMP: Esta opcin define las direcciones IP y subredes que pueden tener comunicacin a travs del protocolo ICMP con el software router cRucho. Se pueden definir varias subredes y direcciones IP separadas por espacios. iface_file: Define el camino del fichero de configuracin de las interfaces de cRucho. vlan_file: Define el camino del fichero de configuracin para la creacin de VLANs alias_file: Define el camino del fichero de configuracin para la creacin de direcciones IP alias. routes_file: Define el camino del fichero de configuracin para el llenado de la tabla de rutas. firewall_file: Define el camino del fichero de configuracin para el establecimiento de las reglas del firewall de cRucho. outbound_file: Define el camino del fichero de configuracin para la creacin de reglas NAT (Network Address Translations) de salida. portfwd_file: Define el camino del fichero de configuracin para la creacin de reglas NAT de entrada. qos_file: Define el camino de configuracin para la aplicacin de Calidad de Servicio al trfico en la red. www_directory: Define el camino del directorio donde se publican las grficas generadas para el anlisis del consumo de ancho de banda en el sistema de colas de cRucho.

Configuracin
Nota: Las subredes se deben introducir de la forma ip/mask donde ip es la direccin IP de la subred y mask es un numero entero entre 0 y 32 que representa la mscara de la subred.

3.1.2. Cargando configuracin de cRucho


Cuando se ejecuta cualquier cambio en el fichero de configuracin de cRucho es necesario reiniciar el software router para que estos tengan efecto. Para realizar esto es necesario ejecutar el comando sudo invoke-rc.d crucho restart

3.2. LANs Virtuales (VLAN)


La creacin de VLANs se realiza en el fichero apuntado por la opcin vlan_file en el fichero de configuracin de cRucho. Una vez dentro de este fichero se podrn ver todos los dispositivos de red que posee cRucho, incluyendo las VLANs creadas. La figura 3 muestra el encabezado del fichero vlan.conf que es el fichero a donde apunta la opcin vlan_file en la instalacin por defecto.

Fig. 3 Encabezado del fichero de configuracin de las VLAN

3.2.1. Configurando las VLANs


En el encabezado mostrado en la figura 3 adems se pueden ver los parmetros necesarios para agregar una VLAN. device: Indica el dispositivo de red sobre el cual se crear una nueva VLAN. Este tiene que estar entre los listados en el encabezado del fichero. Vlan_ID: Indica la marca de la VLAN. Descripcin: Este parmetro es opcional y permite agregar una descripcin a la VLAN que se est creando.

3.2.2 Cargando la configuracin de las VLANs


Una vez agregada una VLAN en el fichero de configuracin se debe reiniciar el software router para que la creacin de la misma tenga efecto. Para esto se ejecuta el comando sudo invoke-rc.d crucho restart.

Configuracin
Cada vez que se cree una VLAN nueva esta aparecer en el encabezado del fichero apuntado por la opcin vlan_file en el fichero de configuracin (en este caso es el fichero vlan.conf). La figura 4 muestra un ejemplo de creacin de una VLAN.

Fig. 4 Ejemplo de creacin de una VLAN

3.3. Configuracin de las Interfaces


La configuracin de las interfaces de red presentes en cRucho se realiza en el fichero apuntado por la opcin iface_file en el fichero de configuracin de cRucho. Una vez dentro de este fichero se podrn ver todas las interfaces de red que posee cRucho, incluyendo las VLANs creadas. La figura 5 muestra el encabezado del fichero interfaces.conf que es el fichero a donde apunta la opcin iface_file en la instalacin por defecto. Adems se puede ver la configuracin de la interfaz que se realiz en el proceso de instalacin de cRucho.

Fig. 5 Fichero de configuracin de las interfaces de cRucho

3.3.1. Configurando una nueva interfaz


En el encabezado mostrado en la figura 3 adems se pueden ver los parmetros necesarios para configurar una interfaz de cRucho. dev: Indica el dispositivo de red que se desea configurar. Este tiene que estar entre los listados en el encabezado del fichero. name: Indica el nombre que tendr la interfaz de red. Este ser el nombre por el cual se identificar una interfaz en los dems ficheros de configuracin de cRucho. El nombre tiene que ser nico entre todas las interfaces configuradas.

Configuracin
Dir_IPv4: Indica la direccin IP que tendr la interfaz de red. Mask: Indica la mscara de red que tendr la interfaz. BW: Indica la velocidad a la que est conectada la interfaz. El valor * indica que la interfaz est conectada a 100 Mbps. Descripcin: Este parmetro es opcional y permite agregar una descripcin a la interfaz que se est configurando. La figura 5 muestra la configuracin de las interfaces Internet y Mes siguiendo los parmetros presentes en el encabezado del fichero de configuracin.

3.3.2. Cargando configuracin de las interfaces


Una vez configurada una interfaz se debe reiniciar el software router para que la configuracin de la misma tenga efecto. Para esto se ejecuta el comando sudo invokerc.d crucho restart.

3.4. Direcciones IP alias.


En algunos casos es necesario que una interfaz de red tenga configurada varias direcciones de red que pueden pertenecer a la misma subred o no. En cRucho esto es posible editando el fichero correspondiente para agregar direcciones IP alias a las interfaces ya configuradas. La configuracin de los IP Alias para una interfaz de cRucho se realiza en el fichero apuntado por la opcin alias_file en el fichero de configuracin de cRucho. Una vez dentro de este fichero se podrn ver todas las interfaces que han sido configuradas y a las cuales se les pueden agregar uno o varios IP Alias. La figura 6 muestra el encabezado del fichero aliases.conf que es el fichero a donde apunta la opcin iface_file en la instalacin por defecto.

Fig. 6 Fichero de configuracin de los IP Alias de una interfaz

Configuracin
3.4.1. Agregando una direccin IP alias a una interfaz
En el encabezado mostrado en la figura 6 adems se pueden ver los parmetros necesarios para agregar un IP Alias a una interfaz de cRucho. Interfaz: Nombre de la Interfaz a la cual se le agregar una direccin IP Alias. IP_Alias: Direccin IP. Mscara: Mscara de red. Descripcin: Este parmetro es opcional y permite agregar una descripcin al IP Alias agregado. Agregando las lneas correctas en el fichero de configuracin de los IP alias se le pueden asignar a una interfaz de cRucho tantos alias como se desee. La figura 7 muestra un ejemplo de creacin de tres IP Alias para una de las interfaces de cRucho.

Fig. 7 Ejemplo de configuracin de IP Alias para una interfaz

3.4.2. Cargando configuracin de las direcciones IP alias


Una vez agregado o editado un IP Alias en el fichero de configuracin se tienen dos formas de cargar la nueva configuracin de IP Alias: ejecutando el comando cruchoaliases que afectar solo la configuracin de los IP Alias o reiniciando el software router con el comando sudo invoke-rc.d crucho restart que afectar todas configuraciones de cRucho.

3.5. Tabla de rutas


La configuracin de la tabla de rutas de cRucho se realiza en el fichero apuntado por la opcin routes_file en el fichero de configuracin de cRucho. Una vez dentro de este fichero se podrn ver todas las interfaces que han sido configuradas. La figura 8 muestra

10

Configuracin
el encabezado del fichero routes.conf que es el fichero a donde apunta la opcin routes_file en la instalacin por defecto.

Fig. 8 Fichero de configuracin de la tabla de rutas

3.5.1. Agregando una nueva ruta


En el encabezado mostrado en la figura 8 adems se pueden ver los parmetros necesarios para agregar una ruta a la tabla de rutas de cRucho. Network: Direccin IP de la red destino. Mscara: Mscara de red de la red destino. Interfaz: Nombre de la interfaz por la cual es alcanzable el host al que se reenviar los paquetes destinados a la direccin de red establecida en Network. Gateway: Direccin IP del host al que se reenviar los paquetes destinados a la direccin de red establecida en Network. Descripcin: Este parmetro es opcional y permite agregar una descripcin a la nueva ruta agregada. La figura 9 muestra un ejemplo de creacin de una ruta.

Fig. 9 Ejemplo de creacin de una ruta

3.5.2. Agregando la ruta por omisin


Para agregar la ruta por omisin de cRucho el parmetro Network debe ser la direccin 0.0.0.0, mientras que el parmetro Mscara debe ser 0. La figura 10 muestra la ruta por omisin agregada al ejemplo de la figura 9.

11

Configuracin

Fig. 10 Ruta por omisin

3.5.3. Cargando configuracin de la tabla de rutas


Una vez agregada o editada una ruta en el fichero de configuracin se tienen dos formas de cargar los cambios realizados: ejecutando el comando crucho-routes que afectar solo la configuracin de la tabla de rutas o reiniciando el software router con el comando sudo invoke-rc.d crucho restart que afectar todas configuraciones de cRucho.

3.6. Firewall
El firewall de cRucho est basado en el Iptables de Linux. Las reglas se aplican al trfico de entrada de cada una de las interfaces configuradas en el router de forma independiente. La configuracin del firewall de cRucho se realiza en el fichero apuntado por la opcin firewall_file en el fichero de configuracin de cRucho. Una vez dentro de este fichero se podrn ver todas las interfaces que han sido configuradas. La figura 11 muestra el encabezado del fichero firewall.conf que es el fichero a donde apunta la opcin firewall_file en la instalacin por defecto.

Fig. 11 Fichero de configuracin del firewall

3.6.1. Agregando una nueva regla al firewall


En el encabezado mostrado en la figura 11 adems se pueden ver los parmetros necesarios para agregar una regla al firewall de cRucho.

12

Configuracin
Iface: Nombre de la Interfaz o interfaces a las cuales se les agregar una regla en el firewall. Estas deben estar entre las listadas en el encabezado del fichero de configuracin. En el caso de especificar varias interfaces estas se agregarn separadas por comas. Protocol: Protocolo con el cual machear la regla. Los protocolos soportados por el firewall son icmp, esp, ah, gre, igmp, sctp, tcp y udp. Para especificar todos los protocolos se usa el valor *. Source: Direccin IP del host o la subred fuente. Para especificar cualquier direccin IP se usa el valor *. Source port: Puerto del host fuente. El valor del puerto debe estar entre 1 y 65535. Para especificar un rango de puertos se usa la estructura puerto1-puerto2 y para especificar cualquier puerto se usa el valor *. Solo se puede especificar un puerto cuando el valor del parmetro Protocol sea sctp, tcp, udp. Destination: Direccin IP del host o subred destino. Para especificar cualquier direccin IP se usa el valor * Destination port: Puerto del host destino. El valor del puerto debe estar entre 1 y 65535. Para especificar un rango de puertos se usa la estructura puerto1-puerto2 y para especificar cualquier puerto se usa el valor *. Solo se puede especificar un puerto cuando el valor del parmetro Protocol sea sctp, tcp, udp. Accin: Accin a realizar si un paquete machea con la regla creada. Los valores permitidos son ACCEPT para aceptar el paquete, DROP para eliminar el paquete y DENY para denegar el paquete. Descripcin: Este parmetro es opcional y permite agregar una descripcin a la nueva regla creada. Nota: Las subredes se deben introducir de la forma ip/mask donde ip es la direccin IP de la subred y mask es un numero entero entre 0 y 32 que representa la mscara de la subred. Las reglas en el firewall deben agregarse teniendo en cuenta el orden de las mismas, pues ante la primera ocurrencia se realiza la accin especificada y no se revisan las dems reglas. Por defecto se bloquea todo el trfico entrante a cada una de las interfaces configuradas en cRucho.

13

Configuracin
La figura 12 muestra un ejemplo de cmo agregar una regla al firewall de cRucho para permitir la entrada por la interfaz de nombre Internet de todo el trfico dirigido a la direccin IP 10.36.4.125 y al puerto 80.

Fig. 12 Ejemplo de cmo adicionar una regla al firewall de cRucho

3.6.2. Cargando configuracin del firewall


Una vez agregada o editada una regla en el fichero de configuracin se tienen dos formas de cargar los cambios realizados: ejecutando el comando crucho-firewall que afectar solo la configuracin del firewall o reiniciando el software router con el comando sudo invoke-rc.d crucho restart que afectar todas configuraciones de cRucho.

3.7. Traduccin de direcciones de red (NAT)


cRucho permite la creacin de reglas NAT (Network Address Translation) en dos direcciones: entrada y salida. Las reglas NAT de salida se refieren las modificaciones que se producen en los paquetes al salir por una de las interfaces de cRucho, mientras que las reglas de entrada se refieren a las modificaciones que se producen en los paquetes al entrar por una de las interfaces del router.

3.7.1. NAT a la entrada de una interfaz


Las reglas para realizar NAT a los paquetes entrantes en una interfaz se configuran en el fichero apuntado por la opcin portfwd_file en el fichero de configuracin de cRucho. Estas reglas son aplicadas a los paquetes que macheen con la misma antes de que sean aplicadas las reglas del firewall o que se realice el enrutamiento del paquete. Una regla de un NAT de entrada solo podr variar la direccin IP y/o el puerto del host destino del paquete entrante.

3.7.2. NAT a la salida de una interfaz


Las reglas para realizar NAT a los paquetes salientes en una interfaz se configuran en el fichero apuntado por la opcin outbound_file en el fichero de configuracin de

14

Configuracin
cRcuho. Estas reglas son aplicadas a todos los paquete que macheen con la misma una vez que ya fue realizado el enrutamiento del paquete. Una regla de un NAT de salida solo podr variar la direccin IP y/o el puerto del host fuente del paquete saliente.

3.7.4. Creacin de una nueva regla NAT


La configuracin de las reglas NAT de entrada y salida se realizan en los ficheros port_forward.conf y outbound.conf respectivamente en la instalacin por defecto de cRucho. Ambos ficheros contienen el encabezado mostrado en la figura 13 donde aparecen las interfaces hasta ahora configuradas en el software router y los parmetros necesarios para agregar una regla NAT.

Fig. 13 Fichero de configuracin de las reglas NAT de entrada y salida

Las reglas NAT de entrada y salida se dividen en dos partes. La primera parte compuesta por los parmetros iface, proto, src, src port, dst y dst port que constituyen la regla con la que machear un paquete que entra o sale de una de las interfaces de cRucho y la segunda parte compuesta por nat addr y nat port que son los parmetros que sustituirn los campos especficos en los paquetes que macheen con la regla anterior. Iface: Nombre de la interfaz a la cual se le agregar una regla NAT. Esta debe estar entre las listadas en el encabezado del fichero de configuracin. Proto: Protocolo con el cual machear la regla para realizar el NAT. Los protocolos soportados por el router son icmp, esp, ah, gre, igmp, sctp, tcp y udp. Para especificar todos los protocolos se usa el valor *. Src: Direccin IP de la subred o host fuente con la cual machear la regla para realizar el NAT. Para especificar cualquier direccin IP se usa el valor *. Src port: Puerto del host fuente con el cual machear la regla para aplicar el NAT. El valor del puerto debe estar entre 1 y 65535. Para especificar cualquier puerto se usa el valor *. Solo se puede especificar un puerto cuando el valor del parmetro Proto sea sctp, tcp, udp.

15

Configuracin
Dst: Direccin IP de la subred o host destino con la cual machear la regla para realizar el NAT. Para especificar cualquier direccin IP se usa el valor *. Dst port: Puerto del host destino con el cual machear la regla para aplicar el NAT. El valor del puerto debe estar entre 1 y 65535. Para especificar cualquier puerto se usa el valor *. Solo se puede especificar un puerto cuando el valor del parmetro Proto sea sctp, tcp, udp. Nat addr: En una regla NAT de salida este parmetro es la direccin IP que sustituir la direccin IP fuente del paquete que machee con la regla, mientras que en una regla NAT de entrada ser la direccin IP que sustituir la direccin IP destino del paquete que machee con la regla. Este parmetro es obligatorio y no admite el smbolo especial * para especificar cualquier direccin IP. Nat port: En una regla NAT de salida este parmetro es el puerto que sustituir al puerto fuente del paquete que machee con la regla, mientras que en una regla NAT de entrada ser el puerto que sustituir al puerto destino del paquete que machee con la regla. El valor del puerto debe estar entre 1 y 65535. Para especificar un rango de puertos se usa la estructura puerto1-puerto2 y para especificar el mismo puerto del paquete entrante o saliente se usa el valor *. Description: Este parmetro es opcional y permite agregar una descripcin a la nueva regla NAT agregada. Nota: Las subredes se deben introducir de la forma ip/mask donde ip es la direccin IP de la subred y mask es un numero entero entre 0 y 32 que representa la mscara de la subred. Nota: Los campos Dst y Src admiten el smbolo ! delante de la direccin IP especificada indicando la negacin de la misma. La figura 14 muestra un ejemplo de una regla NAT de entrada aplicada a los paquetes que arriban a la interfaz de nombre Internet. Esta regla sustituye la direccin IP destino de los paquetes dirigidos al host con direccin IP 192.168.1.1 por la direccin IP 10.36.4.127. El puerto destino permanece igual que en el paquete original.

16

Configuracin

Fig. 14 Ejemplo de una nueva regla NAT de entrada

La figura 15 muestra un ejemplo de una regla NAT de salida aplicada a los paquetes que son transmitidos a travs de la interfaz con nombre Internet. Esta regla sustituye la direccin IP fuente de los paquetes provenientes del host con direccin IP 10.36.4.127 por la direccin IP 192.168.1.1. El puerto fuente permanece igual que en el paquete original.

Fig. 15 Ejemplo de una nueva regla NAT de salida

3.7.5. Cargando configuracin de las reglas NAT


Una vez agregada o editada una regla NAT de entrada o salida se tienen dos formas de cargar los cambios realizados: ejecutando el comando crucho-nat que afectar solo la configuracin de las reglas NAT o reiniciando el software router con el comando sudo invoke-rc.d crucho restart que afectar todas configuraciones de cRucho.

3.8. Calidad de Servicio (QoS)


Calidad de servicio se refiere a las funciones aplicadas para brindar un tratamiento diferencial a determinado trfico. Dichas funciones se esfuerzan por controlar el uso adecuado de los servicios y el ancho de banda. cRucho permite aplicar calidad de servicio a distintos tipos de trfico usando las herramientas del ncleo de Linux tc(traffic control) del paquete iproute para la creacin de las disciplinas de colas e iptables para el marcado de paquetes. El tipo de cola usado

17

Configuracin
para la creacin de la jerarqua de clases y colas es HTB (Hierarchical Token Bucket) y las clases terminales tienen asociadas una cola SFQ (Stochastic Fairness Queueing). La forma en que se realiza la conformacin de trfico en Linux y por tanto cRucho puede ser un poco contra intuitivo en un primer momento ya que el trfico tiene que ser limitado en un lugar donde cRucho pueda controlar el flujo. De esta manera el trfico entrante de Internet que va a un host en la red LAN (descarga) es en realidad conformado al salir de la interfaz LAN del sistema de cRucho. De la misma manera el trfico que va desde la LAN a Internet (subida) se conforma al salir de la interfaz WAN. Esto constituye una de las limitaciones presentes en cRucho heredada del ncleo de Linux, ya que impide que se pueda realizar la conformacin del trfico en ms de una interfaz WAN o LAN.

3.8.1. Secciones del fichero de configuracin


Las configuraciones necesarias para controlar y brindar un tratamiento diferenciado al trfico que atraviesa el software router se realizan en el fichero apuntado por la opcin iface_qos en el fichero de configuracin de cRucho. La figura 16 muestra el fichero queues.conf que es el fichero para las configuraciones de QoS en la instalacin por defecto.

Fig. 16 Fichero de configuracin para aplicacin de QoS

18

Configuracin
Para aplicar calidad de servicio a los distintos tipos de trfico se tienen las siguientes secciones en el fichero de configuracin: WAN: Seccin donde se declara la interfaz que ser considerada como interfaz WAN (Wide Area Network) y que ser la primera en interactuar con el trfico entrante de Internet. LAN: Seccin donde se declara la interfaz que ser considerada como interfaz LAN (Local Area Network) y que ser la primera en interactuar con el trfico de la red local. QUEUES: Seccin donde se crea la jerarqua de colas para controlar en ancho de banda y priorizar los distintos tipos de trficos. FILTERS_IN: Seccin donde se definen las reglas para filtrar el trfico de Internet dirigido hacia los hosts conectados a la interfaz LAN, colocando este en la cola adecuada. FILTERS_OUT: Seccin donde se definen las reglas para filtrar el trfico de la red LAN dirigido hacia Internet, colocando este en la cola adecuada.

3.8.2. Aplicando QoS


Para controlar y aplicar un tratamiento diferenciado al trfico que atraviesa al software router es preciso realizar los siguientes pasos: 1. Declarar las interfaces WAN y LAN. 2. Creacin del sistema de colas. 3. Creacin de los filtros de trfico.

3.8.2.1. Declaracin de las interfaces WAN y LAN


Como fue explicado anteriormente cRucho permite aplicar QoS solamente al trfico que circula a travs de la interfaz WAN a la interfaz LAN y viceversa. Debido a las limitaciones de las herramientas del ncleo de Linux solo se puede declarar una interfaz WAN y una LAN. Para declarar una interfaz como WAN se introduce el nombre de la misma dentro de la seccin WAN en el fichero de configuracin de QoS. De la misma manera para declarar una interfaz como LAN se introduce el nombre de la misma dentro de la seccin LAN.

19

Configuracin
Para declarar las interfaces WAN y LAN se deben tener en cuenta las siguientes consideraciones: Solo se pueden introducir en las secciones WAN y LAN las interfaces listadas en el encabezado de estas secciones. No se puede definir la misma interfaz como WAN y LAN a la vez. Cada seccin solo puede tener una interfaz definida. La figura 17 muestra una porcin del fichero de configuracin de QoS donde se declara la interfaz de nombre Internet como WAN y la interfaz de nombre Lan como LAN.

Fig. 17 Ejemplo de declaracin de las interfaces WAN y LAN

3.8.2.2. Creacin del sistema de colas


En la figura 16 se puede ver sobre la seccin QUEUES el encabezado con los parmetros necesarios para agregar una nueva cola. Este encabezado tiene los siguientes parmetros: Parent: Nombre de la cola padre de la nueva cola que se est creando. Si es una cola raz entonces este parmetro tendr el valor *. La cola padre debe existir y debe haber sido definida antes de la nueva cola que se est creando. Queue: Nombre de la nueva cola. El nombre debe ser nico para cada cola, por lo que no pueden existir dos colas con el mismo nombre. BW-up-min: Este parmetro representa la velocidad mnima reservada para el trfico colocado en esta cola y que va dirigido de la red LAN hacia un host en Internet. BW-up-max: Este parmetro representa la velocidad mxima para el trfico colocado en esta cola y que va dirigido de la red LAN hacia un host en Internet.

20

Configuracin
BW-down-min: Este parmetro representa la velocidad mnima reservada para el trfico colocado en esta cola y que va dirigido de Internet a un host en la red LAN. BW-down-max: Este parmetro representa la velocidad mxima para el trfico colocado en esta cola y que va dirigido de Internet a un host en la red LAN. Priority: Prioridad de atencin de la cola dentro de la jerarqua de colas. Su valor debe estar entre 0 y 7. Descripcin: Este parmetro es opcional y permite agregar una descripcin a la cola recin creada. Nota: El valor de los parmetros BW-up-min, BW-up-max, BW-down-min y BWdown-max debe ser un nmero entero y la unidad de medida de los mismos debe ser mbps(megabit por segundos), kbps(kilobit por segundos) o bps(bit por segundos). La figura 18 muestra la configuracin necesaria dentro de la seccin QUEUES para crear la jerarqua de colas mostrada en la figura 19.

Fig. 18 Configuracin de una jerarqua de colas

Fig. 19 Jerarqua de colas HTB

21

Configuracin
3.8.2.3. Creacin de los filtros de trfico
Los filtros de trfico no son ms que las reglas con las cuales se comprueban cada paquete que atraviesa el software router. Si la regla se cumple se realiza una accin que es en este caso colocar el paquete en la cola adecuada. cRucho permite definir dos tipos de filtros: los que se aplican al trfico que circula de la interfaz WAN a la interfaz LAN definidos en la seccin FILTERS_IN y los que se aplican al trfico que circula de la interfaz LAN a la interfaz WAN definidos en la seccin FILTERS_OUT. En la figura 16 se puede ver sobre las secciones FILTERS_IN y FILTERS_OUT un encabezado con los parmetros necesarios para agregar un nuevo filtro. Este encabezado tiene los siguientes parmetros: Protocol: Protocolo con el cual machear la regla del filtro. Los protocolos soportados son icmp, esp, ah, gre, igmp, sctp, tcp y udp. Para especificar cualquier protocolo se usa el valor *. TCP-Flag: Banderas TCP que debe tener activadas el paquete para que machee con la regla del filtro. Las banderas permitidas son syn, ack, fin, rst, urg, psh, all y none. Para especificar cualquier valor se usa *. No se pueden definir banderas TCP si el valor del parmetro Protocol no es igual a tcp. IP-src: Direccin IP de la subred o host fuente del paquete. Para especificar cualquier direccin IP se usa el valor *. Se admite adems el smbolo ! delante de una direccin IP de red o host para que la regla machee con cualquier direccin IP excepto la introducida. Port-src: Puerto fuente del host que origin el paquete. El valor debe estar entre 1 y 65535. Para especificar cualquier puerto se usa el valor * y solo se puede especificar un puerto cuando el valor del parmetro Protocol sea sctp, tcp o udp. IP-dst: Direccin IP de la subred o host destino del paquete. Para especificar cualquier direccin IP se usa el valor *. Se admite adems el smbolo ! delante de una direccin IP de red o host para que la regla machee con cualquier direccin IP excepto la introducida. Port-dst: Puerto destino del host que debe recibir el paquete. El valor debe estar entre 1 y 65535. Para especificar cualquier puerto se usa el valor * y solo se puede especificar un puerto cuando el valor del parmetro Protocol sea sctp, tcp o udp.

22

Configuracin
Queue: Nombre de la cola donde sern colocados los paquetes que macheen con la regla del filtro. Esta cola debe existir y no puede tener colas hijas, sino que debe ser una cola terminal dentro de la jerarqua de colas. Descripcin: Este parmetro es opcional y permite agregar una descripcin al filtro creado. Nota: Las subredes se deben introducir de la forma ip/mask donde ip es la direccin IP de la subred y mask es un numero entero entre 0 y 32 que representa la mscara de la subred. Las reglas de los filtros deben agregarse teniendo en cuenta el orden de las mismas. En este caso se aplicar el ltimo filtro encontrado que machee con los campos del paquete, por lo que se debe tener cuidado para que el paquete no acabe en una cola no deseada. La figura 20 muestra una porcin del fichero de configuracin donde se pueden ver los filtros necesarios para colocar en una cola de nombre Proxy el trfico desde y hacia Internet de un host en la red LAN con direccin IP 192.168.1.3.

Fig. 20 Ejemplo de filtros de trfico

3.8.3. Cargando configuracin de QoS


Una vez editada o agregada una lnea en cualquiera de las secciones correspondientes al fichero de configuracin de QoS se tienen dos formas de cargar los cambios realizados: ejecutando el comando crucho-qos que afectar solo la configuracin de QoS o reiniciando el software router con el comando sudo invoke-rc.d crucho restart que afectar todas las configuraciones de cRucho.

23

Configuracin
3.8.4. Monitoreando el sistema de colas
cRucho brinda la posibilidad de generar los grficos de consumo de ancho de banda diario, semanal, mensual y anual de cada una de las colas creadas y publicar estos a travs de pginas web. Estos grficos son actualizados con una resolucin de un minuto. Para acceder a la pgina web principal de los grficos de las colas se introduce en el navegador web http://192.168.1.1 donde 192.168.1.1 es la direccin IP de la interfaz por donde est escuchando el servidor web. La figura 21 muestra la pgina web principal generada para la jerarqua de colas mostrada en la figura 18. En esta figura se puede ver que la pgina principal cuenta con los grficos de consumo de las ltimas 24 horas de cada una de las colas. Para ver los grficos de consumo diario, semanal, mensual y anual de una cola se debe hacer clic sobre el grfico de la misma mostrado en la pgina principal. Una porcin de estos grficos es mostrada en la figura 22 para una cola de nombre Proxy.

Fig. 21 Pgina web principal para el anlisis de consumo de ancho de banda en las colas

24

Configuracin

Fig. 22 Pgina web para el anlisis del consumo diario, mensual, semanal y anual de una cola

25

Configuracin
Nota: Para poder acceder a los grficos de las colas la direccin IP del host que establecer la conexin debe estar agregada o contenida en una de las subredes autorizadas al acceso http a cRucho.

3.9. Configuracin del monitor de red Ntop


Ntop es una herramienta que permite monitorizar en tiempo real una red. Es til para controlar los usuarios y aplicaciones que estn consumiendo recursos en la red en un instante concreto. Posee un modo de trabajo en Web, volcando en HTML el trabajo en la red. Viene con un emisor/recolector NetFlow/sFlow, una interfaz de cliente basada en HTTP para una mejor visualizacin de estadsticas de la red y RRD para almacenar persistentemente estadsticas de trfico. Permite la monitorizacin de protocolos como TCP, UDP, ICMP, ARP, IPX, NetBios, etctera. cRucho integra este monitor de red dentro del software router de modo que el usuario puede apoyarse en las estadsticas recogidas por Ntop para una mejor planificacin y deteccin de problemas en la red. La configuracin de Ntop se realiza en la interfaz web que este posee y es independiente de las configuraciones de cRucho, por lo que es recomendable la lectura de la documentacin correspondiente para una correcta configuracin del Ntop. Esta documentacin est disponible en su sitio web www.ntop.org. Inicialmente si es activado el monitor de red Ntop, este es accesible por cualquiera de las interfaces de cRucho usando un navegador web como Firefox o Internet Explorer. Esta interfaz web est disponible en un servidor web propio de Ntop y est disponible inicialmente por el puerto 3000. Para una configuracin avanzada de Ntop es necesario inicialmente los privilegios del usuario admin, con password crucho. Nota: Es recomendable cambiar el password del usuario admin en la interfaz web del Ntop con el objetivo de garantizar una mayor seguridad. La figura 23 muestra la interfaz web del Ntop.

26

Configuracin

Fig. 23 Interfaz web del monitor de red Ntop

27

You might also like