tesis pos grado de ingenieria

73
ENRUTADOR IP MULTISERVICIO CON CONFIGURACIÓN VIA WEB (LXROUTER) TRG 0501 EDGAR ORLANDO BELTRAN HUERTAS NELSON ANDRES GUTIERREZ PERDOMO RAMSES OSIRIS PEDRAZA RINCON DIRECTOR: ING. FRANCISCO VIVEROS MORENO BOGOTA D.C. PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERIA DEPARTAMENTO DE ELECTRÓNICA

Upload: damianlopez

Post on 06-Dec-2015

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: tesis pos grado de ingenieria

ENRUTADOR IP MULTISERVICIO CON CONFIGURACIÓN VIA WEB(LXROUTER)

TRG 0501

EDGAR ORLANDO BELTRAN HUERTASNELSON ANDRES GUTIERREZ PERDOMO

RAMSES OSIRIS PEDRAZA RINCON

DIRECTOR: ING. FRANCISCO VIVEROS MORENO

BOGOTA D.C.PONTIFICIA UNIVERSIDAD JAVERIANA

FACULTAD DE INGENIERIADEPARTAMENTO DE ELECTRÓNICA

Page 2: tesis pos grado de ingenieria

ENRUTADOR IP MULTISERVICIO CON CONFIGURACION VIA WEB(LXROUTER)

EDGAR ORLANDO BELTRAN HUERTASNELSON ANDRES GUTIERREZ PERDOMO

RAMSES OSIRIS PEDRAZA RINCON

Trabajo de Grado presentado como requisito parcial

para optar al título de Ingeniero Electrónico.

Director

Ing. FRANCISCO VIVEROS

BOGOTÁ D.CPONTIFICIA UNIVERSIDAD JAVERIANA

FACULTAD DE INGENIERÍADEPARTAMENTO DE ELECTRÓNICA

2

Page 3: tesis pos grado de ingenieria

PONTIFICIA UNIVERSIDAD JAVERIANA

FACULTAD DE INGENIERÍA

CARRERA DE INGENIERÍA ELECTRÓNICA

RECTOR MAGNÍFICO: R.P. GERARDO REMOLINA S.J.

DECANO ACADÉMICO: Ing. FRANCISCO JAVIER REBOLLEDO MÚÑOZ.

DECANO DEL MEDIO UNIVERSITARIO: R.P. ANTONIO JOSÉ SARMIENTO S.J.

DIRECTOR DE CARRERA: Ing. JUAN CARLOS GIRALDO CARVAJAL.

DIRECTOR DE TRABAJO DE GRADO: Ing. FRANCISCO VIVEROS MORENO.

3

Page 4: tesis pos grado de ingenieria

Artículo 23 de la resolución número 13 del mes de julio de 1946.

“La universidad no se hace responsable de los conceptos emitidos por sus

alumnos en sus proyectos de grado.

Solo velará porque no se publique nada contrario al dogma y la moral católica y

porque los trabajos no contengan ataques o polémicas puramente personales.

Antes bien, que se vea en ellos el anhelo de buscar la verdad y la justicia.”

4

Page 5: tesis pos grado de ingenieria

A mi madre quien en todo momento ha sido apoyo y consorte para cuantameta me he propuesto.

A mi familia por encontrarse presente a lo largo de esta larga empresa quehoy culmina.

Al doctor Enrique Santamaría Hermida por ser la mano invisible que ayudó aforjar mi sueño.

Y por último, pero no por esto menos importante, a mis amigos, sin loscuales cada tarea y cada proyecto habría perdido el tinte de alegría y

solidaridad que ustedes le dieron.A Dios, Gracias.

Edgar Orlando Beltrán Huertas

5

Page 6: tesis pos grado de ingenieria

A EL que lo es TODO, me lo ha dado TODO, me ha permitido conocerle yconocer la VERDADERA FELICIDAD.

A mis Padres, su esfuerzo, comprensión y permanente apoyo.

A mis familiares que de una u otra forma me dieron la fuerza para continuaren los momentos buenos y malos.

A mis amigos, los que vinieron, los que se fueron, los que aun están.

Al personal de la Pontificia Universidad Javeriana.

A todos los que de una u otra forma estuvieron ahí.

Gracias.

Ramsés Osiris Pedraza Rincón

6

Page 7: tesis pos grado de ingenieria

A Dios que me ha dado la fortuna de contar con los medios y personas paralograr mis metas.

A mi Madre quien supo entender y apoyar mi proceso, en forma constante ycon el amor que siempre la ha caracterizado.

A mi Padre por la paciencia y apoyo constante en este largo de tiempo deestudios satisfactorios, que aun no culminan.

A Claudia Patricia Gómez Garcia, mi novia, quien por su nobleza y pacienciame contagió de la calma y tranquilidad necesarias para seguir luchando.A mis amigos que siempre estuvieron pendientes de mi vida académica

como personal, brindando apoyo y ayuda en los momentos difíciles.A los compañeros que ya disfrutan de los frutos de ser ingenieros

electrónicos.A los empleados de la Facultad que siempre estuvieron ahí, eran

indispensables para un mejor desempeño en mis labores.

Gracias.

Nelson Andrés Gutierrez Perdomo

7

Page 8: tesis pos grado de ingenieria

AGRADECIMIENTOS

Los autores expresan sus agradecimientos a:

Ing. Francisco Viveros por su apoyo, guía y preocupación constante por tener los

mejores medios para la realización del trabajo de grado.

Al jefe de sección de Laboratorio del departamento de Electrónica, Ing. Jorge Luis

Sánchez Téllez.

Al Laboratorio por habernos facilitado el equipo para llevar a cabo nuestro trabajo

de grado

Ing. Henry Leonardo Moreno Díaz por su resolución de dudas a cualquier

momento.

Al estudiante Jorge Mario Grimaldos por su resolución de dudas a cualquier

momento.

8

Page 9: tesis pos grado de ingenieria

TABLA DE CONTENIDO

2METODOLOGÍA PARA EL DESARROLLO DEL LXROUTER.........................................................5

3ESPECIFICACIONES DEL ENRUTADOR IP (LXROUTER) ............................................................8

4PROBLEMAS ENCONTRADOS......................................................................................................31

5FUTUROS PROYECTOS.................................................................................................................35

6ANÁLISIS DE RESULTADOS..........................................................................................................36

7ANALISIS DE COSTOS...................................................................................................................54

8CONCLUSIONES.............................................................................................................................56

9BIBLIOGRAFIA................................................................................................................................57

10ANEXOS.........................................................................................................................................58

I

Page 10: tesis pos grado de ingenieria

TABLA DE FIGURAS

FIGURA 1 DIAGRAMA GENERAL DE FUNCIONAMIENTO...........................................................16

FIGURA 2 DIAGRAMA DE SWITCH................................................................................................17

FIGURA 3 DIAGRAMA DE FIREWALL.............................................................................................20

FIGURA 4 DIAGRAMA FILTRADO DE IP.........................................................................................21

FIGURA 5 DIAGRAMA GENERAL DE NAT......................................................................................23

FIGURA 6 DIAGRAMA GENERAL DE DNAT...................................................................................25

FIGURA 7 DIAGRAMA GENERAL DE SNAT..................................................................................27

FIGURA 8 DIAGRAMA GENERAL DE DHCP...................................................................................28

FIGURA 9 DIAGRAMA GENERAL DE FUNCIONAMIENTO............................................................29

FIGURA 10 RECURSOS DISPONIBLES CON 4000 SOLICITUDES...............................................36

FIGURA 11 RECURSOS DISPONIBLES CON 2000 SOLICITUDES...............................................36

FIGURA 12 RECURSOS DISPONIBLES CON 1000 SOLICITUDES...............................................37

FIGURA 13 RECURSOS DISPONIBLES CON 4000 SOLICITUDES...............................................37

FIGURA 14 RECURSOS DISPONIBLES CON 2000 SOLICITUDES...............................................38

FIGURA 15 RECURSOS CON 1000 SOLICITUDES........................................................................38

FIGURA 16 EJEMPLO SNAT............................................................................................................39

FIGURA 17 EJEMPLO ENMASCARAMIENTO.................................................................................40

FIGURA 18 EJEMPLO DE DNAT......................................................................................................41

FIGURA 19 EJEMPLO DE DNAT......................................................................................................42

FIGURA 20 PING SIN NINGUNA REGLA........................................................................................43

II

Page 11: tesis pos grado de ingenieria

FIGURA 21 REGLA PARA RECHAZAR PING..................................................................................44

FIGURA 22 LISTADO DE REGLA PARA RECHAZAR PING...........................................................45

FIGURA 23 RESPUESTA A LA REGLA DE RECHAZAR PING.......................................................45

FIGURA 24 REGLA PARA DESCARTAR PING...............................................................................46

FIGURA 25 LISTADO DE REGLAS PARA DESCARTAR PING......................................................48

FIGURA 26 RESPUESTA A UN PING DESPUÉS DE LA REGLA PARA DESCARTAR.................48

FIGURA 27 FTP SIN SER INTERVENIDO POR EL FIREWALL......................................................49

FIGURA 28 REGLA PARA DESCARTAR FTP.................................................................................50

FIGURA 29 LISTADO DE REGLAS PARA DESCARTAR FTP........................................................51

FIGURA 30 RESPUESTA A INTENTO DE CONEXIÓN FTP............................................................51

FIGURA 31 ASIGNACIÓN DE IP POR MEDIO DEL SERVIDOR DE DIRECCIONES.....................52

FIGURA 32 PRUEBA DEL SERVIDOR PROXY...............................................................................53

III

Page 12: tesis pos grado de ingenieria
Page 13: tesis pos grado de ingenieria

INDICE DE TABLAS

TABLA 1 TABLA DE COSTOS ACTUALIZADOS............................................................................54

1

Page 14: tesis pos grado de ingenieria

INTRODUCCIÓN

En la actualidad, debido a la gran importancia y al posicionamiento fundamental

que han alcanzado las comunicaciones como base para el buen desarrollo y

posterior desempeño de todo tipo de empresas, se hace necesario el uso de

equipos con diferentes tecnologías y funciones que en conjunto proporcionen el

ambiente adecuado para el transporte de información vital para una organización.

En el mercado se ofrecen aparatos independientes para cada etapa del proceso

de creación de una red; como lo son enrutadores, firewall, servidores de

direcciones; generando así, un costo proporcional al tamaño y nivel de tecnología

seleccionados por el usuario o limitado por los recursos disponibles para este fin.

Sin embargo, uno de los inconvenientes que actualmente viven los usuarios de

este tipo de equipos es que para obtener la totalidad de los servicios requeridos,

deben acudir a varios proveedores, los cuales aportan su parte, pero

implícitamente están generando una dependencia de los mismos en caso de

presentarse daños o requerir mantenimiento en general de los dispositivos, ya que

han sido fabricados con componentes y partes patentadas de uso exclusivo de los

proveedores.

Sucede que en las pequeñas y medianas organizaciones, a menudo, se requiere

establecer una red local para la comunicación de los miembros de la empresa o

simplemente es un grupo de usuarios que necesitan el servicio de Internet; para

esto se necesitan dispositivos y servicios en especial que permiten la conección a

varios computadores usando una única conexión a Internet, facilian el crecimiento

de la red, proporcionan seguridad en las conecciones a la vez que permiten tener

un control sobre los sitios y la información transeferida; para ello es necesario

buscar una solución viable, de bajo costo, y de sencillo uso que permita establecer

2

Page 15: tesis pos grado de ingenieria

el buen funcionamiento de la red. Una alternativa será la de integrar en un solo

equipo, los servicios y dispositivos, habitualmente encontrados en el esquema de

una red estándar.

En el mercado actual, una solución de este tipo es el Ringdale's Proxy Router and

DHCP Server1 con características similares a la del dispositivo propuesto, esta por

el orden de los $465 dólares, es decir unos $1.030.000 pesos colombianos, sin

vincular gastos por importación o intermediarios, sin contemplar que este

dispositivo es muy aproximado al desarrollado en este trabajo de grado, pero con

ciertos aspectos que no incluye el Ringdales’s Proxy router y que si contempla el

LXRouter como los son fácil configuración vía WEB, acceso a 3 puertos, firewall,

entre otros además de que no existiría problema por las licencias de software ya

que es libre, y todo por un precio apreciablemente menor (observar la tabla de

costos), teniendo en cuenta que esto seria el desarrollo total, se apreciaría

claramente en la comercialización de la solución.

La alternativa que se plantea a este tipo de inconvenientes (como lo son el contar

con varios equipos para solventar las necesidades básicas en la instalación de

una red LAN), es la integración de servicios y funciones en un solo dispositivo,

creado a partir de piezas de fácil obtención en el mercado. Es por esto que se

decide implementar la solución propuesta en un equipo de cómputo convencional.

1 http://www.ringdale.com/products/st/asp/control.wizmoreinfo/id.10213/po./en/default.htm

3

Page 16: tesis pos grado de ingenieria

1.1 OBJETIVO GENERAL

Diseñar un prototipo de enrutador fácilmente configurable a través de una interfaz

web, ofreciendo aplicaciones adicionales al encaminamiento de paquetes como lo

son el filtrado de conexiones y la optimización del tráfico web.

1.2 OBJETIVOS ESPECÍFICOS

• Implementar los algoritmos de enrutamiento necesarios para desarrollar

un sistema con capacidad de realizar NAT (Network Address

Translation) en un equipo de cómputo convencional cuyas interfaces de

red sean soportadas por Linux 2.4.

• Diseñar una interfaz cómoda y sencilla para el usuario mediante la cual

se pueda configurar el dispositivo, aprovechando los beneficios y la

claridad que ofrece un entorno web.

• Incorporar el filtrado de paquetes (Statefull Packet Inspection) al

conjunto de funciones desarrolladas para el proyecto.

• Desarrollar un sistema de reset que permita volver a la configuración por

defecto.

4

Page 17: tesis pos grado de ingenieria

2 METODOLOGÍA PARA EL DESARROLLO DEL LXROUTER

Para lograr los objetivos planteados desde el principio y avanzar de una manera

adecuada en el desarrollo del trabajo de grado, se debe definir un proceso de

desarrollo de software. Se tomo una metodología de trabajo en la cual se hacen

claras unas etapas:

2.1 Etapa de Ingeniería

2.1.1 Fase de Concepción

Se define una alternativa económica para la administración y seguridad de una

red LAN en una PYME. Se identifica y especifica los requerimientos de uso que

satisfagan las necesidades de red a través de las experiencias laborales, tomando

las más comunes e importantes. Se definen también los posibles inconvenientes

que se podrían presentar a nivel de lenguajes de programación y configuración del

hardware en Linux, junto con simplificar al mínimo la interfaz web para la fácil

utilización por parte del usuario.

Se propone el esquema del sistema en el bloque de firewall, NAT y servicios

adicionales y estos tres en paralelo con la Interfaz Web.

2.1.1.1 Planeación de las Fases y de las Iteraciones

A partir de los usos se determina que NAT es el bloque de más opciones y que

podría presentar mayor dificultad, de esta forma se escogieron que las opciones

principales serán Dirección (Origen, Destino, Cambio), Protocolos (TCP, UDP,

5

Page 18: tesis pos grado de ingenieria

ICMP), y Puertos y/o códigos. Para SNAT como para DNAT. Se procederá de la

misma forma para firewall, para los servicios adicionales PROXY (Memoria a

utilizar, Tamaño del cache), DHCP (Dominio, Interfaz y Rango de Direcciones).

Las pruebas planteadas al momento son de funcionamiento más que de

capacidad y valores límite del sistema.

2.1.2 Fase de Elaboración

Se analiza cómo las opciones de uso seleccionadas afectan el desenvolvimiento

de un usuario inexperto en la interfaz web implementando una serie de ayudas

(activación y desactivación de campos) para hacer la correcta configuración del

enrutador.

A pesar de las incertidumbres generadas por los posibles errores que puede

cometer un usuario inexperto, se halló solución a la mayoría, siendo viable el

continuar con el proyecto. Se hace más sencillo desarrollar los demás bloques

dado a que su complejidad es menor y en el caso de firewall los campos y ayudas

de usuario son muy similares a las de NAT.

2.2 Etapa de Producción

2.2.1 Fase de Construcción

6

Page 19: tesis pos grado de ingenieria

Los tiempos se fueron reduciendo en comparación a los estimados la comenzar,

junto con los costos de elaboración, principalmente por que se uso código abierto

lo que simplifico la solución de problemas del mismo a través de Internet y las

distintas páginas que ofrecen soporte y ayuda para el código abierto2

2.2.2 Fase de Transición

Mediante la fase de prueba se detectan errores de interpretación de la sintaxis en

Linux, los cuales se corrigen, debido a que generalmente son una línea o un

comando mal utilizado.

Para la prueba de rendimiento del enrutador con el Servidor Proxy funcionando,

se utilizó la herramienta HttpTrafficGenerator3 para generar tráfico http y

monitorear a la vez el rendimiento de la máquina.

El rendimiento de la máquina se monitoreo con la herramienta TOP que viene con

la distribución de Linux que estamos usando.

Las pruebas se hicieron desde dos máquinas conectadas directamente al

enrutador, desde las cuales se corria en simultáneo el programa generador de

tráfico variando la cantidad de paquetes por milisegundo en cada máquina y

obteniendo los casos que se verán descritos en la parte de pruebas.

2 Ver bibliografía3 http://www.nsauditor.com/

7

Page 20: tesis pos grado de ingenieria

3 ESPECIFICACIONES DEL ENRUTADOR IP (LXROUTER)

3.1 Generalidades

Este proyecto consiste básicamente en un dispositivo para enrutar tráfico IP4

capaz de ofrecer funcionalidades5 iguales y en algunos casos mejores en relación

a las propuestas comerciales hoy en día existentes, manteniendo un precio

notablemente reducido y teniendo en mente que el mercado objetivo al que se

desea llegar (en el caso hipotético de que se pueda comercializar a plenitud el

producto) son las pequeñas y medianas empresas con necesidades de

comunicación prioritarias a través de Internet y que deseen además obtener

servicios de seguridad como firewall’s6 contando con recursos limitados.

Para este fin, se ha subdividido el proyecto en tres partes principales:

• NAT (Traducción de direcciones de red)7

Básicamente, esta parte consiste en permitir el acceso a Internet de forma

controlada a los clientes ubicados en la red interna, al mismo tiempo que es útil

para regular la forma en la que los usuarios externos usan los servicios

establecidos en la red interna.

• FIREWALL (Cortafuegos)

El modo de operación establecido en este segmento del proyecto se basa en el

rechazo o admisión de paquetes con base en sus direcciones de origen o destino,

o sus puertos. En general se carece de información de contexto, las decisiones

son tomadas sólo con base en la información del paquete en cuestión. En función

del enrutador, el filtrado se puede hacer a la entrada, a la salida o en ambos

lados.

4 Para mayor información ver Anexo 1 Glosario5 NAT, Firewall, Servidor Proxy, configuración vía WEB6 Se explica el término a continuación7 En el numeral 2.2.3 se explica su funcionamiento

8

Page 21: tesis pos grado de ingenieria

• SERVICIOS ADICIONALES8 (Servidor DHCP, Servidor Proxy y Módulo

Switch)

3.1.1 Servidor DHCP

La utilidad de este tipo de servidores dentro de este proyecto, se basa en la

posibilidad de suministrar direcciones IP de forma dinámica, a los usuarios

pertenecientes a la red, agilizando así el proceso de configuración de equipos.

3.1.2 Servidor Proxy

Con este servidor se busca optimizar el ancho de banda disponible para el tráfico

de HTTP y HTTPS (Web y Web seguro respectivamente) haciendo uso del

sistema de caché que este servidor proporciona almacenando la información

solicitada con más frecuencia por parte de los usuarios.

3.1.3 Módulo de SwitchCon la implementación de este módulo, que es transparente para los usuarios y

demás dispositivos incluidos en el proyecto, se pretende ampliar la capacidad de

conexiones directas sobre el esquema de red que ofrece este dispositivo.

En la actualidad existen algunos proyectos de los grupos desarrolladores de la

comunidad Linux en Internet, la mayoría en fase de desarrollo, relacionados con el

8 Ver Glosario

9

Page 22: tesis pos grado de ingenieria

tema tratado en este trabajo de grado, los cuales vamos a mencionar a

continuación:

LEAF (Linux Embedded Appliance Firewall)9

Los aspectos más llamativos de este proyecto son:

•Usa una versión de Linux muy compacta que puede ser contenida en una unidad

de almacenamiento de 1.44Mb, por lo tanto no requiere disco duro.

•El hardware usado es comercial, de bajo costo y muy fácil de conseguir.

•Se pueden adicionar servicios como VPN y SSH2*.

Dentro de los requerimientos mínimos de esta versión se puede encontrar un

procesador 486DX33 con 16Mb de memoria RAM si deseamos usar la versión

"floppy" o 24Mb si usamos la versión "cdrom"; dos tarjetas de red para usuarios

cable/DSL o una sola tarjeta de red si el usuario usa modem/ISDN para hacer las

conexiones de red necesarias. Lo anterior es lo básico para su funcionamiento, no

necesita teclado ni monitor. Una vez configurado y puesto en funcionamiento el

dispositivo, no es necesario volver a hacer cambios durante mucho tiempo,

únicamente se debe reiniciar si se desea actualizar el sistema.

Para tener una idea de como LEAF puede alcanzar un rendimiento tan alto sin

importar el hardware que se utiliza, es importante tener en cuenta que para los

sistemas 486, la velocidad típica de enrutamiento es de 3 a 6 MBits/s, lo cual es

mas que suficiente para el promedio de una conexión tipo cable-modem/xDSL10,

9 Linux Embedded Appliance Firewallhttp://sourceforge.net/docman/display_doc.php?docid=8794&group_id=13751* Para mayor información ver Anexo 1 Glosario10 Variación de DSL, puede ser ADSL, CDSL, FeeDSL, HDSL, entre otras* Para mayor información ver Anexo 1 Glosario

10

Page 23: tesis pos grado de ingenieria

En el caso de los usuarios con conexión PPPoE o una puerta de enlace con

VPN*, la velocidad de transmisión se incrementa si se usan sistemas con

procesador Pentium I, los cuales, además de lo anterior, poseen ranuras PCI* lo

cual permite el uso de MODEM y tarjetas de red económicas y fáciles de

configurar.

La mayor diferencia entre LEAF y las distribuciones corrientes de Linux, es que la

primera corre el sistema en un disco virtual en RAM, lo cual es rápido y seguro

para evitar la perdida de datos en los discos de configuración e inicio si el sistema

llegara a colisionar; si esto llega a ocurrir, bastaría simplemente con reiniciar el

sistema, el cual volvería a su configuración original. En caso de daño en el

hardware, como se utiliza hardware genérico y comercial, su reemplazo es fácil de

obtener.

Actualmente se encuentran dos variaciones derivadas del proyecto LEAF,

Dachtein y Oxygen, además de variaciones que usan como base el LEAF, que

permiten encontrar documentación sobre los aspectos comunes con el dispositivo

propuesto, estos son:

Bering (LEAF-2.4.16 w/Shorewall)

PacketFilter

LRP -The Original

Echowall Firewall

Seattle Firewall

RCF Firewall

Shorewall Firewall

11

Page 24: tesis pos grado de ingenieria

12

Page 25: tesis pos grado de ingenieria

3.2 IMPLEMENTACIONES DEL ENRUTADOR IP (LXROUTER)

Aunque anteriormente se nombraron las partes fundamentales del proyecto es

necesario hacer énfasis la forma mediante la cual se desarrollaron:

• Para el desarrollo de NAT y FIREWALL se usaron las capacidades

contempladas en el Kernel de Linux V.2.4 a través de la interfaz ofrecida

por el software conocido como IPTABLES11 .

• Para llevar a cabo el Servidor de Direcciones (DHCP), se estudian las

posibles soluciones que ofrecen un mejor compromiso entre sencillez de

implementación y facilidad de uso, teniendo en cuenta que los recursos

disponibles para ser ejecutado son bastante limitados. Se llega a la

conclusión que dicho compromiso se daba casi en su totalidad con el uso

del software de código abierto DNSMASQ12 .

• SQUID13 fue la herramienta seleccionada para la instauración del Servidor

Proxy, debido a que el usuario final no tendrá que intervenir muchos de sus

parámetros de configuración, brindando así, un ambiente amable y

eficiente.

• Para la interfaz Web, se decidió utilizar varios lenguajes de programación

debido a las ventajas que unos ofrecen sobre otros, es el caso de PHP14

para la creación de tablas dinámicas y Apache15 para su hospedaje en el11 http://netfilter.org/12 http://www.thekelleys.org.uk/dnsmasq/doc.html13 http://www.squid-cache.org/ http://squid.visolve.com/squid/sqguide.htm http://www.icewalkers.com/Linux/Software/54580/Squid.html14 http://www.php.net/15 http://apache.org/

13

Page 26: tesis pos grado de ingenieria

Enrutador, JavaScript16 para el uso de menús selectivos por parte del

cliente y HTML17 como la base para reunir los mencionados anteriormente,

además de BASH18 y AWK196 para ejecutar los comandos de sistema.

• Dentro de la interfaz WEB se contempló la posibilidad de un pequeño

asistente de configuración, que le permite al usuario nuevo iniciar el uso del

Enrutador IP sin ninguna restricción.

• El Switch se desarrolló a partir de un arreglo de 3 tarjetas de red,

configuradas de manera adecuada, tal que se permitiera el acceso a cada

una de ellas respondiendo a una misma dirección IP y MAC.

• Contemplando la posibilidad de que el usuario configurara de manera

equivocada el Enrutador IP, se desarrolló la forma mediante la cual, la

máquina puede retomar los valores que por defecto utiliza para su normal

funcionamiento, es por esto que se lleva a cabo la programación de un

Script (restaurar_script.sh) que lo que hacen es simplemente descomprimir

los archivos de configuración original previamente guardados y

sobreescribir los archivos de configuración actualmente en uso con la

información contenida en los archivos de configuración original. Este Script

será ejecutado después de ser usada la combinación de las teclas CTRL-

ALT-SUPR.

16 http://www.gamarod.com.ar/javascript/menu.asp http://www.w3schools.com/js17 Ver Glosario18 http://www.gnu.org/19

14

Page 27: tesis pos grado de ingenieria

3.3 SÍNTESIS DEL ENRUTADOR IP (LXROUTER)

El Enrutador IP será el encargado de establecer los parámetros de conexión entre

un grupo de computadores comunicados entre sí (LAN) y el acceso a Internet.

Para ello cuenta con módulos como los son el Switch, Firewall, NAT, Servidor de

Direcciones (DHCP) y el Servidor Proxy; los cuales evalúan los criterios de

conexión dados por el usuario administrador del Enrutador IP a través la Interfaz

WEB.

INTERNET

Enrutador IP

SWITCHFIREWALL

NATDHCP

PROXY

LANINTERFAZ

WEB

Módulo de Configuración

Módulo de Funcionamiento

15

Page 28: tesis pos grado de ingenieria

Figura 1 Diagrama general de funcionamiento.

3.4 MÓDULO DE CONFIGURACIÓN

En esta parte se encontrará la forma mediante la cual el usuario personalizará la

configuración de los diferentes servicios que presta el Enrutador IP, dependiendo

de las necesidades que presente. Para ello se ha dispuesto un asistente de

configuración rápida y básica.

3.5 MÓDULO DE FUNCIONAMIENTO

En esta parte, básicamente se comentará la forma en que el Enrutador IP ejecuta

las funciones para las cuales fue diseñado.20

3.5.1 SWITCH

El esquema de funcionamiento del Switch consiste en el uso de un programa

(Bridge Utils21) a nivel de sistema operativo con el fin vincular las 3 tarjetas de red

al arreglo que se desea formar, logrando de esta manera que cada uno de los

respectivos puertos por tarjeta se comporten de la misma forma que lo harían en

cualquier otro Switch comercial.

A través de este programa es posible hacer que el arreglo de tarjetas de red

respondan a una misma dirección tanto IP como MAC, logrando de esta manera

que el tráfico destinado a una interfaz de red sea dirigido a ésta y no a todas en

simultáneo evitando así posibles colisiones.

20 Ir al ANEXO: “Manual de Usuario”21 http://bridge.sourceforge.net/

16

Page 29: tesis pos grado de ingenieria

Figura 2 Diagrama de Switch.

En la figura se aprecia que si uno de los clientes (MAC 1), desea comunicarse con

otro (MAC 3), el sistema sabe en que localización física se encuentra,

estableciendo de esta forma la conexión directa, a diferencia de un HUB que

enviaría la conexión primero a los clientes intermedios hasta llegar al destino

(MAC 1 a MAC 2 a MAC 3).

3.5.2 FIREWALL

Mediante este módulo es posible filtrar las conexiones originadas tanto de dentro

hacia afuera como de afuera hacia adentro del Enrutador IP basados en

parámetros como el protocolo (TCP22 - UDP23) y su puerto de origen o destino, o

código ICMP24. Permitiendo de esta forma aceptar o descartar dicha conexión.

22 http://es.tldp.org/Tutoriales/doc-servir-web-escuela/doc-servir-web-escuela-html/proto.html

23 http://neo.lcc.uma.es/evirtual/cdd/tutorial/transporte/udp.html

24 http://www.htmlweb.net/redes/tcp_ip/capa_3/red_5.html

IN OUT

17

Page 30: tesis pos grado de ingenieria

Tal filtrado consiste en aceptar, descartar o rechazar la conexión descrita a través

de los diferentes parámetros ya mencionados. Vale la pena aclarar que la

diferencia entre los dos últimos consiste en que mientras rechazar envía una señal

de control a quien originó la conexión explicando que ésta no pudo ser realizada,

la acción de descartar simplemente anula dicho intento de conexión sin avisar

previamente a ninguna parte. Por motivos de seguridad, la acción que se debe

elegir si se desea eliminar una conexión es descartar, pues si se escoge rechazar

se está dando conocimiento a un posible atacante sobre la existencia de la red

que se desea proteger, mientras que de la otra forma los paquetes se pierden

aparentemente sin razón alguna, de la misma manera que ocurre si el enrutador

se encuentra apagado o simplemente no existe. Una vez aclarado este aspecto se

desea recordar que la opción rechazar solo ha sido contemplada por motivos de

flexibilidad ante los requerimientos propios de cada usuario.

Ahora bien, para continuar con la configuración del módulo de firewall se presenta

cual es la diferencia entre una regla y una política. Básicamente una regla

describe una conexión en función de ciertos parámetros (dirección de origen, de

destino, protocolo, puerto de origen, de destino o código, según sea necesario) y

establece una acción a ejercer con la misma, es decir, si por ejemplo se adiciona

una regla en la cual se describe una dirección de origen y un puerto de destino, y

existe una conexión que cumpla dichos criterios, entonces el firewall ejerce la

acción que para dicha regla había sido propuesta por el usuario. Sin embargo, si

no existe una regla para dicha conexión, entonces se ejecuta la política. Esta

política consiste en ejecutar la misma acción de una regla, pero al ser la más

general de todas siempre debe ejecutarse de última. Este evento es de notable

importancia, pues de él depende que el firewall funcione de la manera esperada.

Dicha característica es consecuencia de la forma en la cual trabaja el módulo, ya

que este revisa cada una de las reglas en el mismo orden en que fueron

ingresadas y de la misma manera las ejecuta hasta llegar a la política. Sin

embargo, si el usuario desea borrar una regla por estar en desacuerdo con ella, o

por haberla ingresado de manera errónea, puede hacerlo a través de la interfaz

18

Page 31: tesis pos grado de ingenieria

Web, la cual a su vez modificará un archivo de texto que posteriormente será

procesado a través de un script en lenguaje AWK25, para finalmente generar las

reglas en lenguaje SHELL26 que serán interpretadas por el sistema.

Dicho proceso se ejecuta usando el software IPTABLES27 versión 1.2.11 para

Kernel 2.4.29 disponible para Slackware Linux v.10.1

A continuación se presenta el diagrama en bloques que describe de una manera

mas clara el funcionamiento del firewall.

25 http://www.gnu.org/software/gawk/gawk.html26 http://www.gnu.org/software/bash/bash.html27 http://netfilter.org/

19

Page 32: tesis pos grado de ingenieria

Figura 3 Diagrama de Firewall.

20

Page 33: tesis pos grado de ingenieria

Figura 4 Diagrama Filtrado de IP.

21

Page 34: tesis pos grado de ingenieria

3.5.3 NAT

Normalmente, los paquetes viajan en una red desde su origen a su destino a

través de varios enlaces diferentes. Ninguno de estos enlaces altera realmente el

paquete: simplemente lo envían un paso adelante.

Si uno de estos enlaces hiciera NAT, podría alterar el origen o destino del paquete

según pasa a través suyo. Normalmente, el enlace que esté haciendo NAT

recordará cómo manipuló el paquete, para hacer la acción inversa con el paquete

de respuesta, de manera que todo funciona como se espera.

Las razones principales para el uso de NAT son:

Conexiones con módem a Internet

La mayoría de los PSI (Proveedor de Servicios de Internet) dan una sola

dirección IP cuando se conecta con ellos. Puede enviar paquetes con

cualquier dirección, pero sólo obtendrá respuesta a los paquetes con esa IP

de origen. Si desea utilizar varias máquinas diferentes (como una red

casera) para conectar a Internet a través de un enlace, necesita NAT.

Este es, el uso más común de NAT hoy en día, conocido normalmente

como “Enmascaramiento” (masquerading) en el mundo de Linux. También

llamado SNAT, porque se cambia la dirección de origen (source) del primer

paquete.

Varios servidores

Puede que se quiera cambiar el destino de los paquetes que entran en su

red, con frecuencia esto se debe, a que sólo tiene una dirección IP, pero se

desea que la gente sea capaz de llegar a las máquinas detrás de la IP que

tiene a la IP «real». Si se rescribe el destino de los paquetes entrantes, se

podrá conseguir.

Una variante común de esto es el balanceo de carga, en la cual se toma un

cierto número de computadores, repartiendo los paquetes entre ellos. Este

22

Page 35: tesis pos grado de ingenieria

tipo de NAT se llamó reenvío de puerto (port-forwarding) en anteriores

versiones de Linux.

En los siguientes bloques se ilustra el funcionamiento de la parte de NAT.

Primero se muestra el esquema general y global de NAT:

Figura 5 Diagrama general de NAT.

Aquí los paquetes o en general la información viene del firewall, una vez lo cruza

entra a NAT, específicamente a DNAT, aquí es donde se evalúan los aspectos

concernientes al destino de los paquetes o la conexión; ejecuta las reglas y

políticas que se hayan configurado, incluso también existe la posibilidad de que el

paquete pase sin tocarlo; posteriormente entra a SNAT, y allí es donde se

evalúan los aspectos concernientes al origen de los paquetes o la conexión; y de

23

Page 36: tesis pos grado de ingenieria

allí sale a los demás servicios adicionales que se ofrecen y que el usuario a su

gusto configura.

24

Page 37: tesis pos grado de ingenieria

Bloque de D-NAT (NAT de Destino) :

Figura 6 Diagrama general de DNAT.

25

Page 38: tesis pos grado de ingenieria

Cuando se habla de aplicar una regla, es la que el usuario ha especificado, y

cuando se habla de política, es aquella que se aplica a los paquetes que no se

están especificando y se aplica una configuración por defecto, generalmente es

dejar intacto el paquete.

Posteriormente se evalúa y se pregunta por la Dirección, Puerto y Protocolo. En

las reglas se especifican las tres características, si en algún momento el paquete

no cumple con alguna se descarta la aplicación de la regla que se ha configurado,

y se le aplica la política por defecto, y no se sigue evaluando los demás

parámetros, es decir el paquete tiene que cumplir con todos los aspectos que se

han especificado.

26

Page 39: tesis pos grado de ingenieria

Bloque de S-NAT (NAT de Origen) :

Figura 7 Diagrama general de SNAT.

27

Page 40: tesis pos grado de ingenieria

Primero se describe una conexión a través de los parámetros IP de origen, puerto

y protocolo. Si esta conexión reune completamente dichos parámetros, se

procede a ejecutar la acción de DNAT la cual consiste en cambiar la dirección de

destino hacia la que se dirigen los paquetes.

3.5.4 SERVIDOR DE DIRECCIONES (DHCP)

Figura 8 Diagrama general de DHCP.

Mediante este servicio se proporcionara al cliente la información de configuración

(dirección IP, Máscara de red, dirección de broadcast) dinámicamente desde un

28

Page 41: tesis pos grado de ingenieria

servidor de protocolos. Se utiliza posteriormente la herramienta DNSMASQ, la

cual permite determinar parámetros como autorización para acceder al servicio y

tiempo de asignación además de los anteriormente nombrados.

3.5.5 SERVIDOR PROXY

Figura 9 Diagrama general de funcionamiento.

Básicamente el servicio de PROXY se implementa para disminuir el tiempo de

espera por parte de los usuarios al acceder a algún tipo de información que

recientemente fue solicitada, además de proporcionar un control sobre los

usuarios que acceden a Internet. La herramienta a utilizar será SQUID, mediante

la cual se permite seleccionar el puerto a usar para la conexión, la memoria

destinada al almacenamiento de datos en disco y en memoria RAM, integrar el

servicio de Firewall al proceso en cuestión y establecer reglas de control.

29

Page 42: tesis pos grado de ingenieria

En algunas ocasiones es necesario simular que cada paquete que pase por la

máquina Linux esté destinado a un programa en la propia máquina. Esto es lo que

se conoce como proxy transparente. La parte transparente se debe a que la red

nunca tendrá por qué enterarse de que está comunicándose con un proxy, a

menos, claro, que el proxy no funcione.

Se puede configurar Squid para que trabaje de esta manera, y a esto se le llamó

redirección o proxy transparente en anteriores versiones de Linux.

Las reglas específicas para que funcionen en la implementación desarrollada son:

iptables –t nat –A PREROUTING –i br0 –p tcp –dport 80 –j REDIRECT –to-port

3128

iptables –t nat –A PREROUTING –i br0 –p tcp –dport 443 –j REDIRECT –to-port

3128

Con esto se permite que cualquier intento de acceso a los puertos 80 y 443

(protocolo TCP) sean redireccionados al Servidor Proxy, logrando de esta forma la

implementación del Proxy Transparente.

30

Page 43: tesis pos grado de ingenieria

4 PROBLEMAS ENCONTRADOS

4.1 NAT

Orden de Reglas y Políticas: Al diseñar la interfaz Web no se tuvo en cuenta que

las reglas que se introducen para la configuración, deben listarse de las más

especifica a la más general, ya que el programa usado (IPTABLES), para efectuar

estos cambios lo requiere así, de otra forma las reglas especificas que estén

después de una mas general, aunque se cargaran y las aceptara el programa, no

tendrán efecto deseado de configuración, y será prácticamente como si no se

hubieran configurado.

Interfaz Web: Al comenzar la programación de la interfaz Web en los lenguajes

htm, php y javascript; se presentaron inconvenientes por falta de conocimiento

más extenso de los lenguajes de programación utilizados, posteriormente, debido

a la sintaxis del interprete de comandos de Linux, no se permitía configurar el

dispositivo si se entraba datos en campos incorrectos.

Debido a esto se hace necesario el desarrollo de una matriz de campos, que

active o desactive los campos que correspondan entre si y al final generen una

configuración satisfactoria, evitando mezclar parámetros que no tienen nada que

ve entre sí, como por ejemplo lo son protocolo TCP y Códigod ICMP.

Sintaxis de Linux: Al querer introducir la dirección por la cual se desea cambiar la

conexión, el intérprete de comandos no aceptaba como correcta la configuración,

por sintaxis.

Como solución; la dirección por la cual se van a cambiar las direcciones de origen

o destino deben entregarse como IP, a la vez debido a esto se debe habilitar los

puertos de DNS para que a través de este se interpreten las demás direcciones

como hostname y la regla se pueda adicionar.

31

Page 44: tesis pos grado de ingenieria

Adicionalmente múltiples problemas de menor complejidad, que se corrigieron en

el momento en el que surgían; en aspectos como el orden en que se introducen y

capturan los datos para permitir un proceso más sencillo al momento de manipular

la información y entregarla al intérprete de comandos como una instrucción y que

la sintaxis sea aceptada como válida.

4.2 Tráfico Real

Según se pudo apreciar en las pruebas realizadas con respecto al tráfico HTTP

que aún a 4000 solicitudes por segundo y usando un sistema Proxy para acelerar

el mencionado tráfico, la cantidad de recursos disponibles en el LXRouter nunca

fue inferior al 70%, lo cual indica claramente que la cantidad de usuarios puede

incrementarse de forma notable y el sistema continuará respondiendo de la

manera adecuada (ágil y robusta) antes los requerimientos hechos.

4.3 Servidor de Direcciones DHCP y Modulo Switch

El inconveniente encontrado consistió en que se estaba tratando de asignar

direcciones IP a los clientes que así lo solicitaban, pero estas se encontraban

fuera del rango que se había determinado en el Servidor de Direcciones, razón

por la cual era imposible otorgar las direcciones a quienes las requerían. La

solución fue configurar la interfaz de Switch (arreglo de tarjetas) con una dirección

IP y mascara de red dentro del rango de direcciones que ofrecería el Servidor de

Direcciones. Por esa razón se concluyó que es necesario asignar

automáticamente como dirección IP del Switch la primera dirección IP del rango

de direcciones del Servidor DHCP.

32

Page 45: tesis pos grado de ingenieria

4.4 Shell Scripts28 y Servidor WEB

En esta ocasión el problema radicó en que ciertos comandos son de uso

restringido y no cualquier usuario puede ejecutarlos, debido a esto, varios de los

programas realizados (Shell Scripts) no corrían de la manera adecuada, razón por

la cual se busco una alternativa que permitiera ejecutar dichos comandos a

cualquier usuario, en este caso al usuario del Servidor WEB. Dicho programa es

conocido con el nombre de SUDO29 el cual es de libre distribución y viene incluido

por defecto con la versión de Linux que actualmente se esta usando.

4.5 Circuito de Reset

Inicialmente se tenía dispuesta la elaboración de un circuito de reset por

hardware, esto para que el LXROUTER fuera definitivamente solo una torre (sin

periféricos) y diera la verdadera apariencia de un router comercial. Se elaboraron

los Scripts necesarios para la restauración de la maquina a su configuración por

defecto. Después de hacerse la primera restauración, se notó que en el proceso

de inicio de la maquina, aparecía un estado de donde no podía continuar sin el

teclado conectado, propio del procedimiento que realizan la mayoría de Tarjetas

Madre (Board) al iniciar el sistema. Por esta razón se hacia inútil la elaboración del

Circuito de Reset por Hardware y la solución mas viable fue la configuración de

una secuencia de teclas (CTRL+ALT+SUPR) que realizaran la misma función del

circuito de Reset Original, sin el inconveniente de la desconexión de periféricos.

Adicionalmente se pensó en utilizar el Circuito de Reset propio de la torre para el

mismo objetivo, pero nuevamente se caía en el mismo problema de desconexión

de periféricos.

Una tercera alternativa era dar la señal de reset por el puerto serial, siendo en

este caso el empleo de capacidad de procesamiento desperdiciado al estar

28 Programas para ser ejecutados por el interprete de comandos o Shell29 http://www.courtesan.com/sudo/

33

Page 46: tesis pos grado de ingenieria

monitoreando continuamente si existía la señal de reset y sin contar con el

persistente problema de desconexión de periféricos.

34

Page 47: tesis pos grado de ingenieria

5 FUTUROS PROYECTOS

5.1 VPN

VPN (Virtual Private Network): Es una red privada, fue construida sobre la

infraestructura de una red pública (recurso público, sin control sobre el acceso de

los datos), normalmente Internet. Es decir, en vez de utilizarse enlaces dedicados

(como el X.25 y Frame Relay) para conectar redes remotas, se utiliza la

infraestructura de Internet, una vez que las redes están conectadas es

transparente para los usuarios.

5.2 MANEJO DE ANCHO DE BANDA FRACCIONADO POR IP

Haciendo uso de las facultades contempladas en el kernel de Linux es posible

administrar el ancho de banda a través de la herramienta conocida como TC

(Traffic Control), la cual permite modificar el canal asignado a cada IP, rango de

direcciones IP, o incluso puerto y protocolo según se requiera en un horario

especificado por el usuario. Todo esto partiendo de algoritmos de grafos como

CBQ (Class-Based Queueing30) o HTB (Hierachical Token Bucket31) que facilitan

un poco su implementación, pero que igualmente demandan mucho mas tiempo

en el desarrollo de una interfaz sencilla al usuario poco conocedor.

30 http://www.icir.org/floyd/cbq.html31 http://sourceforge.net/projects/htbinit/

35

Page 48: tesis pos grado de ingenieria

6 ANÁLISIS DE RESULTADOS

6.1 PRUEBAS DE SOLICITUDES HTTP SIN EL SERVIDOR PROXYACTIVADO

Recursos disponibles con 4000 solicitudes HTTP por segundo (2 PC´s directamente conectados

2000+2000)

848688909294

1 2 3 4 5 6 7 8 9 10

Tiempo en segundos

Porc

enta

je d

e re

curs

os

disp

onib

les

Series1

Promedio:89.09%

Figura 10 Recursos disponibles con 4000 solicitudes

Recursos disponibles con 2000 solicitudes HTTP por segundo (2 PC´s directamente conectados

1000+1000)

85

90

95

100

1 2 3 4 5 6 7 8 9 10

Tiempo en segundos

Porc

enta

je d

e re

curs

os

disp

onib

les

Series1

Promedio:92.04%

Figura 11 Recursos disponibles con 2000 solicitudes

36

Page 49: tesis pos grado de ingenieria

Recursos disponibles con 1000 solicitudes HTTP por segundo (1 PC directamente

conectado)

919293949596

1 2 3 4 5 6 7 8 9 10

Tiempo en segundos

Porc

enta

je d

e re

curs

os

disp

onib

les

Series1

Promedio:94.78%

Figura 12 Recursos disponibles con 1000 solicitudes

6.2 PRUEBAS DE SOLICITUDES HTTP CON EL SERVIDOR PROXYACTIVADO

Recursos disponibles con 4000 solicitudes HTTP por segundo (2 PC´s directamente

conectados 2000+2000)

60

65

70

75

80

1 2 3 4 5 6 7 8 9 10 11

Tiempo en segundos

Por

cent

aje

de

recu

rsos

di

spon

ible

s

Series1

Promedio:70.8%

Figura 13 Recursos disponibles con 4000 solicitudes

37

Page 50: tesis pos grado de ingenieria

Recursos disponibles con 2000 solicitudes HTTP por segundo (2 PC´s directamente

conectados 1000+1000)

70

75

80

85

90

1 2 3 4 5 6 7 8 9 10 11

Tiempo en segundos

Porc

enta

je d

e re

curs

os

disp

onib

les

Series1

Promedio:79.63%

Figura 14 Recursos disponibles con 2000 solicitudes

Recursos disponibles con 1000 solicitudes HTTP por segundo (1 PC directamente

conectado)

87888990919293

1 2 3 4 5 6 7 8 9 10 11

Tiempo en segundos

Porc

enta

je d

e re

curs

os

disp

onib

les

Series1

Promedio:91.36%

Figura 15 Recursos con 1000 solicitudes

Como conclusión de éstas pruebas podemos aclarar que obviamente el tiempo de

respuesta para el usuario disminuye, pero lo más importante es que a pesar de

que se ejecuta el Servidor Proxy, el rendimiento de la máquina se mantiene muy

por encima del promedio, o sea, sus recursos no se ven afectados.

38

Page 51: tesis pos grado de ingenieria

6.3 NAT

• Se desea que un cliente de la red interna que se dirija a la página de ISTEC

se le reenvié a la página de Triton de ingeniería electrónica, esto se debe

hacer en DNAT:

I. Para este caso se debe agregar una regla en la que se obliga a

enmascarar la conexión y la oriente por el puerto 53, que es el DNS,

debido a que istec.javeriana.edu.co es un nombre y NAT trabaja en

términos de las IP, debemos pasar la conexión por el puerto DNS para

que se encargue de traducir el nombre a IP. Se usa la página de usuarios

avanzados

Figura 16 Ejemplo SNAT.

39

Page 52: tesis pos grado de ingenieria

En la grafica se ilustra que en origen se introduce la IP que posee el cliente

de la red interna, en destino se coloca la IP del servidor DNS de la

Javeriana, protocolo UDP o TCP; en ambos el puerto 53 es para DNS, y en

puerto de destino el 53.

II. Ahora se debe enmascarar la conexión para que tenga salida y acceso a

la red. De lo contrario su conexión estaría bloqueada. En origen la IP del

cliente interno, en destino la dirección de la página de triton, y no es

necesario adicionar mas campos.

Figura 17 Ejemplo Enmascaramiento.

III. Ahora si para hacer la traducción deseada: solo es necesario usar los

campos de direcciones, en origen la IP del cliente de red interna, destino

40

Page 53: tesis pos grado de ingenieria

la dirección de ISTEC y en cambiar por la dirección IP de

triton.javeriana.edu.co.

Figura 18 Ejemplo de DNAT.

• Dado el caso en el cual se desee abrir el puerto TCP 139 del LXROUTER y

redireccionarlo al puerto 22 TCP de un servidor ubicado dentro de la red

interna, el procedimiento a seguir seria el siguiente:

41

Page 54: tesis pos grado de ingenieria

Figura 19 Ejemplo de DNAT.

6.4 FIREWALL

Básicamente se comprobó la funcionalidad del mismo a través de la interfaz Web

usando reglas y comprobando su efectividad al aceptar, descartar o rechazar

conexiones tanto desde la red externa al LXROUTER como desde la red interna.

En este orden de ideas se contemplaron algunos casos de posible ocurrencia;

basados en ellos, se diseñaron los procedimientos que se presentan a

continuación:

42

Page 55: tesis pos grado de ingenieria

6.4.1 Rechazar Ping32

Aquí se muestra la respuesta del LXROUTER antes de ejecutar la regla que debe

cancelar el ping (Figura 15).

Figura 20 Ping sin ninguna regla

Ahora bien, se introduce la siguiente regla (Figura No.21): que permite rechazar

todo paquete destinado a lxrouter.javeriana.edu.co con protocolo ICMP y código 8

32 http://www.iana.org/assignments/icmp-parameters

43

Page 56: tesis pos grado de ingenieria

Figura 21 Regla para rechazar ping

Se procede a verificar que efectivamente la regla ha sido ejecutada por el

LXROUTER haciendo clic en “Ver Reglas”

44

Page 57: tesis pos grado de ingenieria

Figura 22 Listado de regla para rechazar ping

Una vez comprobado esto, se realiza la misma prueba de ping y se observa el

siguiente resultado (Figura No. 23):

Figura 23 Respuesta a la regla de rechazar ping

45

Page 58: tesis pos grado de ingenieria

Según se puede apreciar en la Figura No. 23, ahora la respuesta del LXROUTER

es enviar un mensaje de error a quien realizaba el ping y se rehúsa a responderlo

de la manera habitual. Con esto queda comprobado que efectivamente el

dispositivo funciona de la manera esperada bajo el criterio que esta prueba ofrece.

6.4.2 Descartar Ping33

Para realizar esta prueba se borraron todas las reglas existentes en el firewall y se

procedió a verificar que el LXROUTER respondía sin problemas al ping realizado

desde una máquina cliente, obteniendo de esta forma el mismo resultado

favorable presentado en la Figura No.20

Una vez hecho esto, si ingresó una regla mediante la cual fuera posible descartar

todo paquete dirigido hacia lxrouter.javeriana.edu.co con protocolo ICMP y código

8. Quedando esta de la siguiente manera (Figura No. 24):

Figura 24 Regla para descartar ping

33 http://www.iana.org/assignments/icmp-parameters

46

Page 59: tesis pos grado de ingenieria

Ahora bien se procede a verificar que efectivamente la regla ha sido ejecutada por

el LXROUTER haciendo clic en “Ver Reglas” (Figura No. 25)

47

Page 60: tesis pos grado de ingenieria

Figura 25 Listado de reglas para descartar ping

Finalmente se procede a probar la regla enviando un ping desde la misma

máquina cliente y se revisa la respuesta obtenida (Figura No. 26):

Figura 26 Respuesta a un ping después de la regla para descartar

48

Page 61: tesis pos grado de ingenieria

Según se puede observar tras realizar la prueba, el LXROUTER efectivamente

anuló por completo los paquetes descritos por la regla, al grado de ofrecer la

misma respuesta que si el dispositivo se encontrar apagado, lo cual constata que

efectivamente realiza la acción ordenada.

6.4.3 Descartar FTP34

Para este caso se muestra como inicialmente la conexión desde un cliente

funciona sin ningún problema (Figura No. 27) antes de añadir la regla que tendrá

como fin bloquear el acceso a FTP en el LXROUTER:

Figura 27 FTP sin ser intervenido por el firewall

Ahora bien, se procede a ingresar la regla (Figura No. 28):

34 http://www.faqs.org/rfcs/rfc959.html

49

Page 62: tesis pos grado de ingenieria

Figura 28 Regla para descartar FTP

Luego de esto, se verifica que efectivamente la regla ha sido ejecutada por el

LXROUTER haciendo clic en “Ver Reglas” (Figura No. 29)

50

Page 63: tesis pos grado de ingenieria

Figura 29 Listado de reglas para descartar FTP

Finalmente, se prueba la conexión FTP desde el mismo cliente hacia el

LXROUTER y se obtiene el siguiente resultado (Figura No. 30):

Figura 30 Respuesta a intento de conexión FTP

51

Page 64: tesis pos grado de ingenieria

Según se puede apreciar, la conexión falló y no pudo establecerse, tal como era

de esperarse en consecuencia a la regla que previamente se había ingresado.

6.5 SERVIDOR DE DIRECCIONES

Para comprobar la funcionalidad del Servidor de Direcciones (DHCP),

simplemente se conecta un cliente a una de las interfaces configuradas como

Switch. Se solicita una dirección IP y se verifica que la misma este dentro del

rango que previamente se había suministrado a través de la interfaz WEB.

Figura 31 Asignación de IP por medio del Servidor de Direcciones

52

Page 65: tesis pos grado de ingenieria

6.6 SERVIDOR PROXY

Para comprobar el correcto funcionamiento de este servicio, se procede a

configurar el uso de Servidor Proxy en el navegador, como se vio en el Manual de

Usuario, y luego se procede a buscar una dirección no existente.

Debido a que no se esta enmascarando por defecto, es decir, esta no es la

política aplicada, la única forma de navegación que resta a los clientes es a través

de servidor Proxy, dado que al navegar hacia una página existente, no se produce

ningún error (como es de esperarse), se hace necesario navegar a una que no

exista para verificar el estado del Proxy. Es esto lo que se presenta a

continuación:

Figura 32 Prueba del Servidor Proxy

53

Page 66: tesis pos grado de ingenieria

7 ANALISIS DE COSTOS

Tabla 1 Tabla de costos actualizados

RECURSOSHUMANOS

HORAS XPERSONA

VALORHORA TOTAL

Director trabajo degrado 17 semanas * 2h $50,000 $1,700,000

Desarrolladores17 semanas *40h

*3 $10,000 $20,400,000TOTAL RECURSOS HUMANOS $22,100,000

EQUIPO CANTIDADVALORUNIDAD TOTAL

Componentes Varios Varios - $30,000CPU 1 $700,000 $700,000

Tarjetas de Red PCI 3 $7,000 $21,000Computador en Alquiler 1 - $600,000

TOTAL EQUIPO $1,351,000

PAPELERÍA CANTIDADVALORUNIDAD TOTAL

Papel 2*500 hojas $8,000 $16,000Fotocopias 1000 $35 $35,000Empaste 3 $4,000 $12,000Cartucho 2 $60,000 $120,000

Disco Compacto 10 $1,000 $10,000Diskette 10 $1,000 $10,000

TOTAL PAPELERIA $203,000LICENCIAS DESOFTWARE CANTIDAD

VALORUNIDAD TOTAL

Linux 2.4 1 $0.00 $0.00Apache 1 $0.00 $0.00

PHP 1 $0.00 $0.00SSL 1 $0.00 $0.00

TOTAL LICENCIAS DE SOFTWARE $0.00SERVICIO DEINTERNET

VALORUNIDAD TOTAL

Cablenet 4 Meses $88,000 $352,000TOTAL SERVICIOS INTERNET $352,000

COSTOS INDIRECTOS CANTIDADVALORUNIDAD TOTAL

Energía 1000 horas $161 $161,000Transporte 600 viajes $1,000 $600,000TOTAL COSTOS INDIRECTOS $761,000

OTROS Imprevistos $0

TOTAL OTROS $0

54

Page 67: tesis pos grado de ingenieria

TOTAL COSTOS $24,767,000

Los costos tuvieron una reducción significativa del 48.43% al disminuir en el

tiempo planeado para el desarrollo del trabajo de grado, gracias al esfuerzo de los

integrantes y el entusiasmo colocado en el desarrollo del mismo.

Debido a que no se compró la tarjeta multiethernet presupuestada al principio y se

logró desarrollar el proyecto con tarjetas de red PCI facilitadas por el laboratorio

de la carrera de ingeniería electrónica.

55

Page 68: tesis pos grado de ingenieria

8 CONCLUSIONES

• Es de vital importancia el orden en que se establezcan las reglas de NAT,

debido a que si se llegara a establecer una regla mas general antes de una

mas especifica, esta ultima pierde toda validez.

• Se alcanzo el objetivo de reducir costos considerablemente a partir del uso

de software de libre distribución, sin comprometer de ninguna manera el

desempeño o la calidad de los servicios prestados.

• Es importante el uso de herramientas adecuadas como PHP, JavaScript,

AWK, Shell y HTML de acuerdo al objetivo que se busca, ya que cada una

de ellas puede aportar de una mayor forma en un campo especifico. No

existen herramientas generales.

• Las limitaciones impuestas por el hardware usado se ven disminuidas, en

gran parte debido al esquema de software propuesto para esta solución,

dando una mayor vida útil a un equipo de arquitectura X86 que en

condiciones de equipo de escritorio resultaría obsoleto, mientras que como

servidor posee una capacidad plenamente vigente.

56

Page 69: tesis pos grado de ingenieria

9 BIBLIOGRAFIA

[1] ANÓNIMO, “Linux Máxima Seguridad Edición Especial”

Prentice Hall

[2] BANDEL David, NAPTER Robert, “Linux Edición Especial 6ta Edición”

Prentice Hall

[3]PRESSMAN Roger S, “Ingeniería del Software, Un enfoque práctico” Cuarta

Edición

Mc Graw Hill

[4] TANENBAUN Andrew S, “Computer Networks” Fourth Edition

Prentice Hall PTR

[5] VÀZQUEZ PÉREZ Xosé. IP Masquerade. [artículo de Internet]

http://www.insflug.org/detalle.php3?comoID=7 [consulta: 1 de abril de 2005]

[6] RUSSELL Paul. Netfilter. [artículo de Internet] http://netfilter.org/ [consulta:

10 de abril de 2005]

[7] HUBERT Bert. Linux Advanced Routing and Traffic Control. [artículo de

Internet] http://lartc.org/ [consulta: 15 de abril de 2005]

[8] GNU. The Linux Documentation Project. [artículo de Internet]

http://www.tldp.org/ [consulta: 15 de abril de 2005]

[9] W3SCHOOLS ONLINE WEB TUTORIALShttp://www.w3schools.com/

57

Page 70: tesis pos grado de ingenieria

10 ANEXOS

10.1 Codigos ICMP mas usados

ICMP Tipo ICMP Uso del código 0 0 Respuesta de eco 8 0 Solicitud de eco 3 0 Destino no accesible - Red no accesible 3 2 Destino no accesible - Protocolo no accesible 3 3 Destino no accesible - Puerto no accesible

3 4Destino no accesible - Fragmentación necesaria y

establecer el indicador no fragmentar 4 0 Flujo de origen 5 1 Redirigir - Datagramas redirigidos para el host 9 0 Anuncio de enrutador 10 0 Solicitud de enrutador 11 0 Tiempo excedido - Caducidad de TTL

11 1Tiempo excedido - Caducidad de reensamblaje

de fragmentación 12 0 Problema del parámetro

58

Page 71: tesis pos grado de ingenieria

10.2 Glosario

DHCP(Protocolo Dinámico de Configuración de Equipo): Es un protocolo de

comunicaciones que permite a los administradores de red gestionar y automatizar

la asignación de direcciones IP en una red. Sin DHCP, cada dirección IP debe

configurarse manualmente en cada computador y, si el computador se mueve a

otro lugar en otra parte de la red, se debe configurar otra dirección IP diferente. El

DHCP le permite al administrador supervisar y distribuir de forma centralizada las

direcciones IP necesarias, y automáticamente asignar y enviar una nueva IP si el

computador es conectado en un lugar diferente de la red.

Dirección IP (Protocolo de Internet): Es la dirección numérica de un computador

en Internet. Cada dirección IP se asigna a un computador conectado a Internet y

por lo tanto es única. Consiste en un número de 32 bits que suele representarse

como cuatro octetos separados por un punto, como 150.214.90.66.

DSL(Línea del Subscriptor Digital): es una tecnología que toma los datos

digitales, no requiere convertirlos a análogos. Los datos digitales se transmiten

directamente al computador tal como se hace con los datos análogos.

Una línea de DSL puede llevar datos y señales de voz.

Ethernet: Protocolo del nivel de enlace originalmente desarrollado por Xerox y

que está muy difundido en las redes de área local y en otros tipos de redes,

permitiendo la transmisión de datos en un rango de 10 Mbit/s a 1Gbit/s.

Gateway: Dispositivo que conecta dos o más redes permitiendo que la

información de una pase a otra (u otras) según algún criterio, realizando las

conversiones de datos que sean necesarias.

HTTP (HyperText Transfer Protocol ): Es el método utilizado para transferir

archivos hipertexto por Internet. En Internet, las páginas escritas en HTML utilizan

59

Page 72: tesis pos grado de ingenieria

el hipertexto para enlazar con otros documentos. Al pulsar en un hipertexto, se

salta a otra página Web, archivo de sonido, o imagen.

ISDN(Integrated Services Digital Network): En español, las siglas son RDSI.

Las líneas ISDN son conexiones realizadas por medio de líneas telefónicas

ordinarias para transmitir señales digitales en lugar de análogas, permitiendo que

los datos sean transmitidos más rápidamente que con un módem tradicional. Las

señales a transportar por la red telefónica usando un mismo canal son voz y datos

(textos, gráficas, videoconferencia, etc.)

LAN (Local Area Network): Red de datos de alta velocidad y baja tasa de error

que cubre una pequeña área geográfica. Las redes LAN conectan estaciones de

trabajo, periféricos, terminales y otros equipos dentro de un edificio u otra área

geográfica limitada.

NAT (Traducción de Direcciones de Red): Su función es rescribir encabezados

de paquetes después de pasar por el cortafuegos y haber sido recibidos por el

enrutador, estos encabezados pueden ser escritos a medida que salen o entran al

enrutador e implica el cambio de la dirección original del sistema que inicia la

conexión por la dirección externa del cortafuegos.

PCI (Peripheral Component Interconnect): Especificación creada por Intel para

la conexión de periféricos a computadores personales. Permite la conexión de

hasta 10 periféricos por medio de tarjetas de expansión conectadas a un bus

local. La especificación PCI puede intercambiar información con la CPU a 32 o 64

bits dependiendo del tipo de implementación.

Proxy: Máquina o sistema intermediario que almacena los URI (Uniform Resource

Identifirer) de las últimas peticiones a los recursos mas solicitados y que son

60

Page 73: tesis pos grado de ingenieria

almacenadas para posteriores requerimientos, minimizando el acceso a los

recursos remotos y, por tanto, optimizando el rendimiento del conjunto.

Shell: Elemento de software, que puede ser un programa independiente o

constituir un elemento básico de un sistema operativo. Proporciona una

comunicación directa entre el usuario y el propio sistema operativo, facilitando así,

la ejecución de órdenes o comandos del sistema y de los programas que se

ejecutan en él. Con un shell se busca un uso más simple, generalmente mediante

la utilización de menús, cajas de diálogo y ayudas acerca de su uso o de la

sintaxis de órdenes. Se trata, en definitiva, de la parte del sistema que se muestra

al usuario final, para que interactúe con él.

SSH2(Secure Shell): SSH es un protocolo que permite la conexión a sistemas

*NIX (Linux, Unix, etc) de forma segura. Esto se logra estableciendo un canal

encriptado de comunicación entre el cliente y el servidor mediante el modelo de

intercambio de claves públicas y privadas. Ya que el tráfico está encriptado, no

hay manera de robar información utilizando un sniffer o rastreador. Además ofrece

la ventaja de comprimir la comunicación, haciéndola más ágil.

Actualmente hay dos protocolos de SSH, SSH1 y SSH2 siendo SSH1 el más

veloz y SSH2 el más seguro.

Traffic Shaping (Conformado de tráfico) : Es un mecanismo para controlar el

flujo de datos en una interfaz determinada.

VPN (Virtual Private Network): Es una red privada, fue construida sobre la

infraestructura de una red pública (recurso público, sin control sobre el acceso de

los datos), normalmente Internet. Es decir, en vez de utilizarse enlaces dedicados

(como el X.25 y Frame Relay) para conectar redes remotas, se utiliza la

infraestructura de Internet, una vez que las redes están conectadas es

transparente para los usuarios.

61