Sunteți pe pagina 1din 35

Universidad Tcnica Federico Santa Mara Sede Via del Mar Jos Miguel Carrera Ingeniera (E) en Sistemas

s Computacionales

Informe final trabajo de investigacin prctico Laboratorio de Redes de Computadores

Integrantes: Diego Lpez: lopezv.diego@gmail.com Brian Romn: broman.89@gmail.com Grupo: 02 Profesor: Sergio Riquelme B. Ayudante: Alfredo Rojas I.

2011

RESUMEN

Keywords: Estructura de red, Linux Knoppix, DHCP, DNS Cach, Iptables.

El presente trabajo tiene por objetivo implementar una estructura de red definida al inicio de la asignatura de Laboratorio de Redes de Computadores, la cual se detallar en las pginas siguientes, utilizando slo el software incluido en el cd de Linux Knoppix en el equipo que cumplir la funcin de servidor.

Para poder llevar adelante dicha implementacin se requerir poner en prctica los conocimientos adquiridos durante la asignatura y la investigacin personal de los puntos que se estime necesario.

El equipo servidor deber proveer el servicio de DHCP a los equipos clientes (conexin inalmbrica), servicio DNS Cach y manejar a travs de scripts la

habilitacin/denegacin a los servicios de ftp, ssh y http para los equipos que pertenecen a la red local.

NDICE

RESUMEN SIGLAS Y SIMBOLOGA INTRODUCCIN

1. ESTRUCTURA Y FUNCIONAMIENTO DE LA SOLUCIN PROPUESTA 1.1. Estructura 1.2. Funcionamiento 1.3. Protocolos 1.4. Servicios

2. SCRIPTS Y ARCHIVOS DE CONFIGURACIN 2.1. Archivos de configuracin 2.2. Scripts

3.

PRINCIPALES

COMANDOS,

PROGRAMAS

APLICACIONES

UTILIZADOS 3.1. Comandos 3.2. Programas o aplicaciones

BIBLIOGRAFA

NDICE DE FIGURAS

Figura 1: Diagrama bsico de la red a implementar Figura 2: Diagrama de red propuesta Figura 3: Modelo OSI y protocolos usados Figura 4: Banda 2.4 2.5 Ghz y canales asociados Figura 5: Frames Ethernet Figura 6: Cabecera IPv4 Figura 7: Cabecera TCP Figura 8: Cabecera UDP Figura 9: Ejemplo de DNS Figura 10: Red con NAT Figura 11: archivo dhcpd.conf por defecto, visto con editor nano Figura 12: Tiempo de consulta utilizando DNS Cach

NDICE DE TABLAS

Tabla 1: Comparacin de estndares WLAN ms usados Tabla 2: Scripts para iptables y sus acciones

SIGLAS Y/O SIMBOLOGA


A. SIGLA

AP CSMA/CD

: Access Point (Punto de Acceso) : Carrier Sense Multiple Access with Collision Detection (Acceso Mltiple por Deteccin de Portadora con Deteccin de Colisiones)

DHCP

: Dynamic Host Configuration Protocol (Protocolo de Configuracin Dinmica de Host)

DNS Eth0 FTP HTTP

: Domain Name System (Sistema de Nombres de Dominio) : Interfaz de red nmero 0 : File Transfer Protocol (Protocolo de Transferencia de Archivos) : Hypertext Transfer Protocol (Protocolo de Transferencia de Hipertexto)

ISO

: International Organization for Standardization (Organizacin Internacional para la Estandarizacin)

IP ISP LAN MAC MTU NAT NEXT OSI SSH SSID TCP UDP URL UTP WLAN

: Internet Protocol (Protocolo de Internet) : Internet Service Provider (Proveedor de Servicio de Internet) : Local Access Network (Red de rea Local) : Media Access Control (Control de Acceso al Medio) : Maximum Transfer Unit (Unidad de Transferencia Mxima) : Network Address Translation (Traduccin de Direcciones de Red) : Near End CrossTalk (Paradiafona o Diafona de Extremo Cercano) : Open System Interconnection (Interconeccin de Sistemas Abiertos) : Secure Shell (Intrprete de rdenes Segura) : Service Set Identifier : Transmission Control Protocol (Protocolo de Control de Transmisin) : User Datagram Protocol (Protocolo de Datagramas de Usuario) : Unshielded Twisted Pair (Par Trenzado no Blindado) : Wireless LAN (Red de rea Local Inalmbrica)

B. SIMBOLOGA

Mbps Ghz

: Mega bit por segundo : Giga Hertz

Introduccin
Se pide implementar una estructura de red utilizando el software incluido en Linux Knoppix en el equipo servidor de manera que ste pueda cumplir con los siguientes requerimientos: Los equipos conectados a la red local a travs del servidor deben poder acceder a internet y sus parmetros de red ser gestionados en forma dinmica por este ltimo El equipo servidor debe proveer el servicio de DNS Cach, ser para la LAN un servidor DNS. El equipo servidor deber contar un servicio de cortafuego bsico utilizando iptables. Debe habilitar/restringir a todos los equipos de la red local a los siguientes protocolos: ftp, http, ssh (todos, algunos, uno) Los filtros del firewall se manejan mediante scripts y no deben ocupar la fuerza bruta.

La estructura bsica de la red a implementar es la siguiente:

Figura 1: Diagrama bsico de la red a implementar / Fuente: instrucciones iniciales del trabajo

1. ESTRUCTURA Y FUNCIONAMIENTO DE LA SOLUCIN PROPUESTA

1.1. Estructura

La estructura de red a implementar es la que se muestra en la siguiente figura:

Figura 2: Diagrama de red propuesta / Fuente: Elaboracin propia

Esta red est compuesta por un equipo servidor, el cual operar con sistema operativo Linux Knoppix 5.1.1. Dicho servidor cuenta con dos tarjetas de red, identificadas como eth0 y eth1 por el sistema operativo. Por eth0 se realiza toda comunicacin (entrada y salida de informacin) hacia internet. Por su parte, eth1 permite comunicar al servidor con el Access Point (AP), y a travs de ste con toda la red local (LAN). Ambas tarjetas de red poseen direcciones de IP estticas, tal como se muestra en la figura.

Existe tambin un Access Point conectado a la eth1 del equipo servidor. La funcin del AP es proveer conexin inalmbrica a los equipos conectados a travs de l. El Access Point opera como DHCP Client, es decir, el equipo servidor le entrega una IP disponible.

Finalmente, la estructura de red, estar conformada por los equipos clientes, es decir, aquellos equipos que se conectan inalmbricamente a la LAN a travs del AP y cuyos

parmetros de red son gestionados por el equipo servidor, a travs del servicio DHCP, el cual se explicar oportunamente. La red local tendr los siguientes parmetros: Red: 192.168.1.0/24 Puerta de enlace: 192.168.1.1 (eth1 del servidor) IPs disponibles para los clientes: desde 192.168.1.2 hasta 192.168.1.10 Direccin de broadcast: 192.168.1.11

1.2. Funcionamiento1

La red funcionar de la siguiente manera: el equipo servidor posee conectividad completa, tanto para la red local (192.168.1.0/24) a travs de eth1 conectada al AP, como para internet a travs de eth0.

Para conectarse inalmbricamente a la red local, los equipos clientes se conectarn a travs del servidor, quien les asignar por un tiempo determinado una direccin IP privada del tipo 192.168.1.xxx, donde xxx pueden ser valores entre 2 y 10, y otros parmetros de red. Lo anterior lo realiza a travs del servicio de DHCP. En Linux Knoppix funciona a travs del servicio dhcp3-server. Dicha direccin IP no les permite salir a internet, pues se trata de una direccin privada y es preciso traducir esta direccin en una vlida (IP pblica) para poder acceder a internet. El proceso que hace esta traduccin se conoce como NAT (Network Address Translation). Es importante destacar que la LAN que se est creando (192.168.1.0) est inserta dentro de otra LAN (10.3.12.0), lo cual implica que en alguna parte de esta ltima red se vuelve a realizar NAT para poder convertir efectivamente esta IP en una pblica, de manera de poder acceder a internet. Sin embargo, este proceso, escapa a lo comprendido en este trabajo.

Cada vez que un equipo consulte por la IP asociada a una direccin URL, el servidor verificar si l tiene dicha informacin y en caso de tenerla responder a la consulta. En caso contrario, har la consulta a los servidores DNS (y stos a los que sean necesarios), y una vez obtenida la informacin, responder la consulta y guardar la informacin para una futura consulta similar. De manera que cuando se consulte nuevamente por esta informacin, ser el servidor DNS de la red local quien responder, con lo cual se optimizan los tiempos de respuesta a estas peticiones.

En esta seccin se explicar el funcionamiento general de la red y de los servicios necesarios para cumplir con los requerimientos especificados en los objetivos. Mayores detalles de la configuracin de estos servicios se explicarn en la seccin correspondiente.

Este servicio se conoce como DNS Cach, ya que el servidor de la LAN acta como servidor DNS para dicha red local, tal como se explic anteriormente. En Linux Knoppix funciona a travs del servicio bind.

Adems, el servidor tendr activado un cortafuego bsico el cual por defecto permitir a los equipos de la red local el acceso a cualquier protocolo, incluido los que se pide administrar en este trabajo, a saber: http, ssh y ftp. A travs del uso de scripts tipo bash se podr cambiar esta configuracin, denegando a todos los usuarios el acceso a uno, algunos o todos los protocolos mencionados. En Linux Knoppix, el cortafuegos funciona a travs del servicio iptables.

1.3. Protocolos

Para una mejor comprensin, analizaremos los protocolos utilizados de acuerdo al modelo OSI2. No detallaremos todos los protocolos posibles a ser utilizados por una red, sino que nos concentraremos en aquellos que son fundamentales para la estructura de red a implementar y sus requerimientos.

Figura 3: Modelo OSI y protocolos usados / Fuente: elaboracin propia

Cable de red UTP cat 5: cable de red utilizado en redes Ethernet 802.3. Est compuesto por cuatro pares de conductores no blindados, diferenciados cada uno por un color (o par
2

Es un modelo de referencia de arquitectura de red creado por la Organizacin Internacional para la Estandarizacin (ISO)

de colores). Su ubicacin en los pines del conector rj-45 pueden ser de dos maneras, de acuerdo a la normativa vigente, aunque generalmente se suele usar la TIA/EIA 568B. Esta categora soporta redes Ethernet (10 Mbps), Fast Ethernet (100 Mbps) y ATM (155 Mbps) sobre cableado UTP. La certificacin del cableado de esta categora se basa en los siguientes parmetros: diagrama de cableado, largo del cableado (mx. 100 mts), atenuacin (perdida de seal producto de la frecuencia y largo del cable), NEXT (grado de acoplamiento de seales no deseadas desde un par adyacente).

Conexin Inalmbrica: Sistema de comunicacin de datos sin cables. Trabaja en base a radiofrecuencias, lo cual implica que en un mismo lugar y al mismo tiempo puede haber varias portadoras de radio funcionando a distinta frecuencia sin interferirse entre ellas. Por ejemplo, una Wireless Lan (WLAN) funcionando a una frecuencia X, y un sistema de telfonos inalmbricos funcionando a una frecuencia Y. Los estndares 802.11 b/g de conexiones inalmbricas trabajan en la banda de frecuencia 2.4 2.5 Ghz, en donde hay definidos 11 canales (13 en Europa) que pueden ser utilizados. Sin embargo, estos canales no son completamente independientes, ya que canales contiguos se superponen. As, en la prctica, solamente podemos ocupar 3 canales: 1, 6, 11 (1, 5, 9, 13 para Europa)

Figura 4: Banda 2.4 2.5 Ghz y canales asociados / Fuente: www.google.cl

IEEE 802.3: Estndar que define los patrones de la Ethernet, tanto a nivel fsico como a nivel de enlace de datos (subcapa MAC). Establece los cableados permitidos y las caractersticas que deben cumplir. En la capa de enlace de datos trabaja en base a CSMA/CD persistente-1 para mejorar el rendimiento de la red y as evitar el mayor nmero de colisiones, lo que implica retransmitir la informacin colisionada, con las respectivas consecuencias de rendimiento de la red. Este estndar establece el formato de los marcos (frames) en Ethernet, indicando el contenido de informacin presente en cada sector del marco, como tambin el largo de ellos:
10

Figura 5: Frames Ethernet / Fuente: asignatura redes de computadores

IEEE 802.11: al igual que su par en Ethernet, este estndar define los patrones de la WLAN en los dos primeros niveles del modelo OSI, es decir, capa fsica y enlace de datos (slo subcapa MAC). Entre estos patrones encontramos las bandas de frecuencias utilizadas por la WLAN, canales, velocidades de transmisin mxima, SSID, tipo de cifrado de datos, entre otros.

Dentro de este estndar encontramos sub-estndares asociados a las diferentes versiones de WLAN existentes. Hoy en da encontramos 3 principalmente: 802.11b, 802.11g y 802.11n

Tabla 1: Comparacin de estndares WLAN ms usados

802.11

Velocidad mxima (Mbps)

Frecuencia (Ghz) 2.4 2.4 2.4 5

Canales disponibles (Amrica) 11 11 11 8

b g n

11 54 600

IP (Internet Protocol): protocolo de internet no orientado a la conexin que permite el envo de paquetes o datagramas desde un emisor a un receptor, tanto en una red local como a travs de redes.

11

IP provee un servicio de envo de paquetes no fiable conocido como de mejor esfuerzo (best effort), es decir, har el mejor esfuerzo por entregar los paquetes pero no garantiza la entrega de los mismos, que los datos lleguen correctamente (sin daos) ni que lleguen en un orden determinado. Estos problemas son manejados por las capas superiores, por ejemplo, en la capa de transporte, TCP se encarga de los problemas de fiabilidad de los paquetes. Tambin provee direccionamiento de los paquetes a travs de un nmero IP.

Los paquetes que son transmitidos de un equipo a otro poseen un tamao mximo previamente negociado llamado MTU (Maximum Transfer Unit). Si un paquete supera este tamao, ser divido en las unidades que sea necesario para ser enviado al destinatario y ensamblados nuevamente cuando sea necesario.

Dependiendo de la versin IP utilizada, el datagrama poseer un encabezado que lo identificar. As por ejemplo, para nuestro caso, el encabezado de un datagrama con IPv4 sera de la siguiente forma:

Figura 6: Cabecera IPv4 / Fuente: asignatura redes de computadores

TCP (Transmission Control Protocol): el protocolo de control de transmisin permite garantizar que los paquetes sern entregados al destinatario sin errores y en el mismo orden en que fueron transmitidos o enviados. Este protocolo posee un mecanismo que le permite distinguir distintas aplicaciones dentro de una misma mquina a travs del uso de puertos o sockets.

A diferencia del protocolo IP, TCP es un protocolo orientado a la conexin (es necesario sincronizacin previa de los equipos antes de transmitir), lo que le permite ofrecer una entrega confiable de los datos a travs de herramientas de control de flujo y congestin.

12

Los paquetes enviados tambin deben poseer una cabecera del tipo TCP para identificar que dicho paquete est utilizando este protocolo de transporte (la otra posibilidad es el protocolo UDP)

Figura 7: Cabecera TCP / Fuente: asignatura de redes de computadores

UDP: protocolo de la capa de transporte del modelo OSI que se basa en la transmisin de datagramas. A diferencia de TCP, este protocolo no est orientado a la conexin, es decir, la transmisin de datos se realiza sin establecer una conexin previa, ya que el encabezado del datagrama cuenta con la informacin suficiente para llegar a destino (pero no se me garantiza que eso suceda). No provee control de flujo ni asegura que el paquete llegue a destino incorrupto.

Figura 8: Cabecera UDP / Fuente: asignatura de redes de computadores

HTTP: el protocolo de transferencia de hipertexto permite la transferencia de archivos entre un navegador (cliente) y un servidor web. De forma simple, el navegador realiza una solicitud http. El servidor al cual se le realiza la solicitud la procesa y responde a ella (respuesta http)

13

Por defecto ocupa el puerto 80. Trabaja con protocolo TCP/IP

Ejemplo: 1. Desde nuestro navegador escribimos www.jmc.usm.cl/index.html 2. El navegador solicita al servidor DNS la IP de www.jmc.usm.cl 3. El DNS devuelve la IP 200.1.25.3 4. El navegador se conecta a 200.1.25.3 en el puerto 80 y enva un GET /index.html 5. El servidor web le enva el archivo index.html y todas las imgenes que esta pgina contuviera 6. El navegador despliega el texto, las imgenes y todo lo recibido desde el servidor web 7. Se cierra la conexin (TCP)

SSH: est asociado tanto al protocolo como al programa que lo usa, y permite acceder de manera segura a estaciones remotas a travs de una red.

Por defecto, ocupa el puerto 22 y trabaja con protocolo TCP/IP

FTP: es un protocolo para la transferencia de archivos entre sistemas conectados a travs de una red TCP basados en la arquitectura cliente-servidor. Esto permite que un cliente se conecte a un equipo servidor para enviarle archivos o descargar archivos de l, independientemente del sistema operativo con el cual trabajen ambos equipos.

Por defecto, ocupa los puertos 20 (datos) y 21 (control). Trabaja con protocolo TCP/IP

DHCP: es un protocolo de red que permite a los clientes de una red IP obtener sus parmetros de configuracin de manera automtica. Para ello, hay un equipo servidor que posee una lista de direcciones IP y las va asignando dinmicamente en la medida que le son requeridas por diferentes equipos clientes, guardando esta informacin en otro archivo, de manera de tener siempre claridad las que direcciones IP estn ya asignadas, a quin se le asigno y el tiempo por el cual se le asign.

La asignacin de direcciones IP puede ser manual (se asigna una IP a un equipo determinado), dinmica (se le asigna una IP a un equipo por un tiempo limitado) o automtica (se le asigna una IP a un equipo hasta que ste la libere)

Por defecto, ocupa los puertos 67 (servidor) y 68 (cliente) y trabaja con los protocolos UDP e IP

14

DNS: protocolo utilizado para la resolucin de nombres de dominio. Los servidores DNS son los encargados de traducir los nombres reales a su correspondiente IP y viceversa. Dichos servidores responden a consultas de DNS realizadas por los clientes. Por ejemplo, cuando escribimos una URL en nuestro navegador es necesario traducir el nombre en su correspondiente ip para que nuestro equipo pueda comunicarse con dicho servidor web.

Por defecto, ocupa el puerto 53. Trabaja con protocolos TCP/UDP e IP

En el siguiente ejemplo se explica lo anterior:

1. El equipo cliente consulta al servidor DNS local por la ip asociada a la url cicada.cs.princeton.edu 2. El servidor local desconoce la ip asociada y le pregunta otro servidor DNS de mayor jerarqua (Root Name Server) 3. El Root Name Server le dice que el servidor DNS de princeton.edu tiene ip 128.196.128.233 4. El servidor DNS local le consulta por el nombre cicada.cs.princeton.edu 5. El servidor de princeton responde que el servidor DNS de cs.princeton.edu tiene ip 192.12.69.5 6. El servidor DNS local le consulta por el nombre cicada.cs.princeton.edu 7. El DNS asociado a cs.princeton.edu responde que la ip es 192.12.69.60 8. El servidor DNS local le entrega la informacin al equipo cliente

Figura 9: Ejemplo de DNS / Fuente: asignatura de redes de computadores

15

NAT: permite intercambiar paquetes entre redes que se asignan direcciones IP incompatibles. El caso ms comn del uso de NAT ocurre cuando tenemos equipos pertenecientes a una red local y necesitamos que ellos puedan acceder a internet. Como bien sabemos, la direccin privada no nos permite acceder a internet, sino que esto lo podemos hacer a travs de una IP pblica. Para ello necesitamos traducir las direcciones privadas en una (o varias) IP pblica.

La siguiente figura muestra un ejemplo de NAT: Tenemos dos clientes con IP privada (192.168.0.2 y 192.168.0.3) conectados a un Router que tiene NAT habilitado. Es decir, cuando uno de estos clientes enva paquetes fuera de la red local, al llegar al Router la IP de origen (192.168.0.x) es traducida por una IP pblica del tipo 206.245.160.x

Figura 10: Red con NAT / Fuente: www.google.cl

1.4. Servicios

Para satisfacer los requerimientos anteriormente mencionados fue necesario configurar y habilitar cuatro servicios en el equipo servidor:

Networking: servicio que por defecto viene activado y que permite configurar el hardware de red presente en el equipo, el servidor en nuestro caso. Si el equipo accede a internet va DHCP, como suele ocurrir con nuestro ISP (VTR, Claro, Telmex), la configuracin es automtica. Pero, como en nuestro caso, las IP del servidor, tanto para eth0 como eth1, son estticas, es necesario configurar manualmente los parmetros de red.

16

Archivos que fueron configurados: /etc/network/interfaces /etc/resolv.conf 3

Dhcp3-server: la configuracin y habilitacin del servicio de DHCP permitir al servidor asignar dinmicamente direcciones IP a los equipos clientes que se conecten a la LAN a travs de l. Junto con entregarle una direccin IP, el servidor entregar a cada equipo otros parmetros de red necesarios para una correcta configuracin (dns, mscara de red, puerta de enlace)

Archivos que fueron configurados: /etc/dhcp3/dhcpd.conf

Importante mencionar que en la ruta /var/lib/dhcp3/ se encuentra el archivo dhcpd.leases, el cual contiene informacin sobre las direcciones IP que el servidor ha concedido. Parte de esta informacin es la que se muestra en el siguiente ejemplo:

lease 192.168.1.5{

// Indica la IP que ha sido asignada

starts 1 2011/05/23 10:18:29; // Fecha y hora del inicio de asignacin ends 1 2011/05/24 10:28:29;
}

// Fecha y hora del trmino de asignacin

hardware ethernet 00:90:96:25:f1:54; // MAC asociada a la IP asignada

Bind: este servicio permite al servidor actuar como servidor DNS, DNS Cach para nuestro caso. El servicio funciona a travs del demonio named. La primera vez que se consulta por una direccin no hay mayor cambio en los tiempos de respuesta, pues el servidor DNS Cach no posee en su base de datos la informacin que se le solicita y por tanto tiene que reenviar la consulta a los servidores DNS externos. Sin embargo, la segunda vez (y las siguientes tambin) que se realice esta misma consulta el servidor DNS Cach ser el que responda a la consulta, reduciendo considerablemente los tiempos de respuesta.

Por ejemplo, cuando por consola consultamos por primera vez por la direccin www.google.com, el sistema nos arroj un tiempo de respuesta (Query Time) de 76

Normalmente en este archivo se colocan los servidores DNS de nuestro ISP o de nuestra organizacin. Sin embargo, debido que el equipo servidor de DHCP actuar tambin como servidor DNS, dicho archivo har referencia al localhost o direccin de loopback, y las referencias a los servidores DNS estarn incorporadas en la configuracin del servidor DNS (archivo named.conf.options)

17

mseg. Sin embargo, al realizarse nuevamente la consulta el tiempo de respuesta fue de 2 mseg., ya que esta ltima vez fue el DNS Cach quien respondi a nuestra consulta.

Archivos que fueron configurados: /etc/bind/named.conf.options /etc/resolv.conf

Iptables: este servicio acta como cortafuegos en el equipo servidor y puede tener distintos niveles de control: de la red local hacia internet, de internet hacia la red local, dentro de la red local, permisos especficos para un equipo, etc. Los distintos filtros con los que cuenta el servicio de cortafuegos implementado en esta red sern manejados a travs de diferentes scripts.

Tabla 2: Scripts para iptables y sus acciones

Nombre del script iptables_allow.sh

Acciones asociadas Habilita a los usuarios de la red local a acceder a los protocolos de ftp, ssh, http y https.

iptables_deny.sh

Prohibe a los usuarios de la red local a acceder a los protocolos de ftp, ssh, http y https.

iptables_ftp.sh

Habilita a los usuarios de la red local a acceder slo al protocolo ftp.

iptables_ssh.sh

Habilita a los usuarios de la red local a acceder slo al protocolo ssh.

iptables_http.sh

Habilita a los usuarios de la red local a acceder slo al protocolo http y https.

iptables_ftp-ssh.sh

Habilita a los usuarios de la red local a acceder a los protocolos de ftp y ssh, negndoles el acceso a los protocolos de http y https.

iptables_http-ftp.sh

Habilita a los usuarios de la red local a acceder a los protocolos de http, https y ftp, negndoles el acceso al protocolo ssh.

iptables_http-ssh.sh

Habilita a los usuarios de la red local a acceder a los protocolos de http, https y ssh, negndoles el acceso al protocolo ftp.

Es importante destacar que cada script, adems de la habilitacin/denegacin a los protocolos descritos, habilita el enmascaramiento y forwarding necesarios para acceder a internet desde la red local.

18

2. Scripts y archivos de configuracin utlizados


2.1. Archivos de configuracin

resolv.conf

# Insert nameservers here nameserver 127.0.0.1 // LOCALHOST

dhcpd.conf

# CONFIGURACION DE LA RED LOCAL subnet 192.168.1.0 netmask 255.255.255.0{ # PUERTA DE ENLACE option routers 192.168.1.1; # DIRECCION DE BROADCAST option broadcast-address 192.168.1.11; # IP DEL DNS option domain-name-servers 192.168.1.1; # RANGO DE IP DISPONIBLES PARA ASIGNAR range 192.168.1.3 192.168.1.10; # TIEMPO DE ASIGNACION POR DEFECTO [SEG] default-lease-time 43200; # TIEMPO DE ASIGNACION MAXIMO [SEG] max-lease-time 86400; }

19

interfaces

# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)

# The loopback interface # automatically added when upgrading auto lo iface lo inet loopback

# CONFIGURACION DE LA TARJETA DE RED ETH0 (INTERNET)

allow-hotplug eth0 # IP ESTATICA PARA ETH0 iface eth0 inet static # IP ASIGNADA address 10.3.12.162 # PUERTA DE ENLACE gateway 10.3.12.1 # DIRECCION DE BROADCAST broadcast 10.3.12.255 # MASCARA DE LA RED netmask 255.255.255.0 pre-up ifconfig eth0 up

# CONFIGURACION DE LA TARJETA DE RED ETH1 (RED LOCAL)

allow-hotplug eth1 # IP ESTATICA PARA ETH1 iface eth1 inet static # IP ASIGNADA address 192.168.1.1 # PUERTA DE ENLACE gateway 10.3.12.162 # DIRECCION DE BROADCAST broadcast 192.168.1.11 # MASCARA DE LA RED netmask 255.255.255.0 pre-up ifconfig eth1 up

20

named.conf.optiones

options { directory "/var/cache/bind";

// If there is a firewall between you and nameservers you want // to talk to, you might need to uncomment the query-source // directive below. Previous versions of BIND always asked // questions using port 53, but BIND 8.1 and later use an unprivileged // port by default.

// query-source address * port 53;

// If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0's placeholder.

# SERVIDORES DNS [NO LOCAL] forwarders { 200.1.21.80; 200.1.21.150; };

auth-nxdomain no; listen-on-v6 { any; }; };

# conform to RFC1035

21

2.2. Scripts

iptables_allow.sh

#!/bin/sh # IPTABLES HABILITA PROTOCOLOS DE HTTP, FTP, SSH A LA RED LOCAL echo "Aplicando reglas..." ## FLUSH de reglas iptables -F iptables -X iptables -Z iptables -t nat -F ## Polticas por defecto iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT

## Inicio del filtraje ## eth0 para salida a internet y eth1 para la red local

# Se habilita el localhost /sbin/iptables -A INPUT -i lo -j ACCEPT

# Acceso al firewall desde la red local iptables -A INPUT -s 192.168.1.0/24 -i eth1 -j ACCEPT

# Habilitacin de protocolo Http para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 80 -j ACCEPT # Habilitacin de protocolo ftp para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 20 -j ACCEPT iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 21 -j ACCEPT # Habilitacin de protocolo ssh para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eh1 -p tcp --dport 22 -j ACCEPT # Enmascaramiento de red y forwarding para la salida a internet de la red local iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward # Mensaje final echo "PROTOCOLOS HTTP, SSH Y FTP HABILITADOS" # Fin del script
22

iptables_deny.sh

#!/bin/sh # IPTABLES DENIEGA PROTOCOLOS DE HTTP, FTP, SSH A LA RED LOCAL echo "Aplicando reglas..." ## FLUSH de reglas iptables -F iptables -X iptables -Z iptables -t nat -F

## Polticas por defecto iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT

## Inicio del filtraje ## eth0 para salida a internet y eth1 para la red local

# Se habilita localhost iptables -A INPUT -i lo -j ACCEPT

# Acceso al firewall desde la red local iptables -A INPUT -s 192.168.1.0/24 -i eth1 -j ACCEPT

# Denegacin de protocolo Http para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 80 -j DROP # Denegacin de protocolo ftp para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 20 -j DROP iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 21 -j DROP # Denegacin de protocolo ssh para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eh1 -p tcp --dport 22 -j DROP # Enmascaramiento de red y forwarding para la salida a internet de la red local iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward # Mensaje final echo "PROTOCOLOS HTTP, SSH y FTP DENEGADOS" # Fin del script

23

iptables_ftp.sh

#! /bin/sh # IPTABLES HABILITA SOLO FTP echo "Aplicando reglas: Habilitando FTP..." ## FLUSH de reglas iptables -F iptables -X iptables -Z iptables -t nat -F

## Polticas por defecto iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT

## Inicio del filtraje ## eth0 para salida a internet y eth1 para la red local

# Se habilita localhost iptables -A INPUT -i lo -j ACCEPT

# Acceso al firewall desde la red local iptables -A INPUT -s 192.168.1.0/24 -i eth1 -j ACCEPT

# Denegacin de servicio Http para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 80 -j DROP # Habilitacin de servicio ftp para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 20 -j ACCEPT iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 21 -j ACCEPT # Denegacin de servicio ssh para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eh1 -p tcp --dport 22 -j DROP # Enmascaramiento de red y forwarding para la salida a internet de la red local iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward

# Mensaje final echo -n "Servicio FTP habilitado" # Fin del script


24

iptables_ftp-ssh.sh

#!/bin/sh # IPTABLES HABILITA FTP Y SSH echo "Aplicando reglas..." ## FLUSH de reglas iptables -F iptables -X iptables -Z iptables -t nat -F

## Polticas por defecto iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT

## Inicio del filtraje ## eth0 para salida a internet y eth1 para la red local

# Se habilita localhost iptables -A INPUT -i lo -j ACCEPT

# Acceso al firewall desde la red local iptables -A INPUT -s 192.168.1.0/24 -i eth1 -j ACCEPT

# Denegacin de protocolo Http para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 80 -j DROP # Habilitacin de protocolo ftp para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 20 -j ACCEPT iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 21 -j ACCEPT # Habilitacin de protocolo ssh para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eh1 -p tcp --dport 22 -j ACCEPT # Enmascaramiento de red y forwarding para la salida a internet de la red local iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward

# Mensaje final echo "PROTOCOLOS FTP, SSH HABILITADOS" # Fin del script
25

iptables_http.sh

#!/bin/sh # IPTABLES HABILITA SOLO HTTP echo "Aplicando reglas: Habilitando protocolo HTTP..." ## FLUSH de reglas iptables -F iptables -X iptables -Z iptables -t nat -F

## Polticas por defecto iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT

## Inicio del filtraje ## eth0 para salida a internet y eth1 para la red local

# Se habilita localhost iptables -A INPUT -i lo -j ACCEPT

# Acceso al firewall desde la red local iptables -A INPUT -s 192.168.1.0/24 -i eth1 -j ACCEPT

# Habilitacin de protocolo Http para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 80 -j ACCEPT # Denegacin de protocolo ftp para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 20 -j DROP iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 21 -j DROP # Denegacin de protocolo ssh para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 22 -j DROP # Enmascaramiento de red y forwarding para la salida a internet de la red local iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward

# Mensaje final echo "PROTOCOLO HTTP HABILITADO" # Fin del script


26

iptables_http-ftp.sh

#!/bin/sh # IPTABLES HABILITA HTTP Y FTP echo "Aplicando reglas..." ## FLUSH de reglas iptables -F iptables -X iptables -Z iptables -t nat -F

## Polticas por defecto iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT

## Inicio del filtraje ## eth0 para salida a internet y eth1 para la red local

# Se habilita localhost iptables -A INPUT -i lo -j ACCEPT

# Acceso al firewall desde la red local iptables -A INPUT -s 192.168.1.0/24 -i eth1 -j ACCEPT

# Habilitacin de protocolo http para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 80 -j ACCEPT # Habilitacin de protocolo ftp para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 20 -j ACCEPT iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 21 -j ACCEPT # Denegacin de protocolo ssh para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eh1 -p tcp --dport 22 -j DROP # Enmascaramiento de red y forwarding para la salida a internet de la red local iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward

# Mensaje final echo "PROTOCOLOS HTTP Y FTP HABILITADOS" # Fin del script
27

iptables_http-ssh.sh

#!/bin/sh # IPTABLES HABILITA HTTP Y SSH echo "Aplicando reglas..." ## FLUSH de reglas iptables -F iptables -X iptables -Z iptables -t nat -F

## Polticas por defecto iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT

## Inicio del filtraje ## eth0 para salida a internet y eth1 para la red local

# Se habilita localhost iptables -A INPUT -i lo -j ACCEPT

# Acceso al firewall desde la red local iptables -A INPUT -s 192.168.1.0/24 -i eth1 -j ACCEPT

# Habilitacin de protocolo Http para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 80 -j ACCEPT # Denegacin de protocolo ftp para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 20 -j DROP iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 21 -j DROP # Habilitacin de protocolo ssh para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eh1 -p tcp --dport 22 -j ACCEPT # Enmascaramiento de red y forwarding para la salida a internet de la red local iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward

# Mensaje final echo "PROTOCOLOS HTTP Y SSH HABILITADOS" # Fin del script
28

iptables_ssh.sh

#!/bin/sh # IPTABLES HABILITA SOLO SSH echo "Aplicando reglas: Habilitando SSH..." ## FLUSH de reglas iptables -F iptables -X iptables -Z iptables -t nat -F

## Polticas por defecto iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT

## Inicio del filtraje ## eth0 para salida a internet y eth1 para la red local

# Se habilita localhost iptables -A INPUT -i lo -j ACCEPT

# Acceso al firewall desde la red local iptables -A INPUT -s 192.168.1.0/24 -i eth1 -j ACCEPT

# Denegacin de protocolo http para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 80 -j DROP # Denegacin de protocolo ftp para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 20 -j DROP iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -p tcp --dport 21 -j DROP # Habilitacin de protocolo ssh para la red local iptables -A FORWARD -s 192.168.1.0/24 -i eh1 -p tcp --dport 22 -j ACCEPT # Enmascaramiento de red y forwarding para la salida a internet de la red local iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward

# Mensaje final echo "PROTOCOLO SSH HABILITADO" # Fin del script


29

inicio.sh

#!/bin/sh

# SCRIPT PARA COPIAR LOS ARCHIVOS DE CONFIGURACION AL EQUIPO SERVIDOR Y SUBIR SERVICIOS

# COPIA LOS ARCHIVOS DE CONFIGURACION A SUS RESPECTIVAS RUTAS cp dhcpd.conf /etc/dhcp3/ cp interfaces /etc/network/ cp resolv.conf /etc/ cp named.conf.options /etc/bind/

# INICIO DE LOS SERVICIOS

# REINICIO DEL SERVICIO DE RED /etc/init.d/networking restart ifup eth0 ifup eth1

# INICIO DEL SERVICIO DE DHCP /etc/init.d/dhcp3-server start

# INICIO DEL SERVICIO DE DNS /etc/init.d/bind9 start

# HABILITACION DE FORWARDING iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward

30

3. Principales comandos, aplicaciones o programas utilizados


3.1. Comandos iptables F iptables X iptables Z iptables t nat F

Estos cuatro comandos realizan acciones de flush o de vaciado a las tablas y contadores que utiliza iptables. La primera elimina las cadenas existentes de la tabla por defecto (filter table); la segunda regla elimina todas las cadenas definidas por el usuario; la tercera, vuelve a cero el byte y contadores de paquetes, y la ltima regla, elimina las cadenas de la tabla nat. iptables A FORWARD s 192.168.1.0/24 i eth1 p tcp dport 80 j ACCEPT

Comando para iptables que permite agregar una regla a la tabla de filtraje (filter table) en la cual se permite a los equipos de la red local (192.168.1.0/24) acceder al protocolo http, cuyo puerto por defecto es el 80. Sintaxis similar se utiliza para habilitar el acceso a los protocolos ftp y ssh.

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE

Comando para iptables que agrega una regla a la tabla nat (nat table) y permite realizar enmascaramiento a los paquetes de los equipos de la red local, de manera que dichos equipos puedan acceder a internet y comunicarse con equipos que estn fuera de la red local (por ejemplo, para acceder a un sitio web, a un servidor ftp, etc.)

echo 1 > /proc/sys/net/ipv4/ip_forward

Habilita el forwarding en el equipo servidor, de manera que los paquetes puedan pasar de una tarjeta de red a otra, de eth1 a eth0 o viceversa, segn sea el caso.

/etc/init.d/nombre_servicio accin

Comando utilizado para realizar una accin (start, restart, stop, status) sobre un servicio determinado identificado por nombre_servicio. En nuestro caso fueron los servicios de dhcp, dns, red y firewall, a travs de sus respectivos identificadores: dhcp3-server, named, networking, iptables.

31

nano nombre_archivo

Comando que abre el archivo llamado nombre_archivo con el editor de texto nano para su visualizacin y eventual modificacin. ./nombre_script.sh

El programa bash ejecuta las instrucciones contenidas dentro del script nombre_script.sh Importante: el script debe encontrarse en el directorio en el que nos encontramos al momento de ejecutar este comando. Por ejemplo: si nos encontramos en /home/knoppix/ y escribimos ./prueba.sh , el script prueba.sh debe encontrarse en /home/knoppix/

mount /dev/sdb1 /mnt/sdb1

El comando mount permite montar dispositivos y particiones para que puedan ser usadas por el sistema operativo. En nuestro caso montamos el pendrive, identificado por Linux Knoppix como sdb1, en la ruta /mnt/sdb1 Una vez montado el pendrive se procede a ejecutar el script inicio.sh el cual copia los archivos de configuracin necesarios a sus rutas respectivas. Luego inicializa los servicios de red, dhcp y dns, dejando configurada la red y 100% operativa, de manera que puedan empezar a conectarse los equipos inalmbricos a la red local. Este script, como tambin los que se ocuparn para iptables, se encuentran en la siguiente ruta: /mnt/sdb1/scripts/

3.2. Programas o aplicaciones

Nano: editor de texto para sistemas UNIX. El manejo de nano es a travs del teclado, ms especficamente, a travs del uso de la tecla control (CTRL). Por ejemplo, al presionar control+O se guarda el archivo abierto y con control+X se sale del editor.

32

Figura 11: archivo dhcpd.conf por defecto, visto con editor nano / Fuente: elaboracin propia

Bash: programa cuya funcin es interpretar rdenes y ejecutarlas. Su nombre es un acrnimo de Bourne-Again Shell. En general los scripts (conjunto de rdenes) pueden ser ejecutadas por bash sin realizar modificaciones, salvo excepciones.

En nuestro caso, a travs de bash se ejecutarn el script de inicio y los scripts de control de iptables. Para ello, la primera lnea de los scripts tendr la siguiente forma: #!/bin/bash #!/bin/sh La extensin de los archivos de scripts ser .sh y tendrn activado el bit de ejecucin. Se ejecutan mediante el comando: ./nombre_script.sh

Bind: servidor de DNS desarrollado por la Internet Systems Consortium. Actualmente se utiliza Bind9, versin escrita desde cero debido a algunos problemas que presentaba sus antecesores y para poder incorporar DNS Security Extensions (DNSSEC). Bind9 funciona a travs del demonio named. Entre sus opciones est la posibilidad de configurar un servidor DNS Cach, de manera de optimizar los tiempos de respuesta a consultas DNS por parte de los equipos de la red local.

33

Figura 12: Tiempo de consulta utilizando DNS Cach / Fuente: www.google.com

Dhcp3-server: servidor DHCP desarrollado por la Internet Systems Consortium, el cual permite al equipo que acta como servidor de este servicio gestionar la entrega de direcciones IP y parmetros de red a los equipos de la red local que se conectan a travs suyo. Si bien, la versin de Linux Knoppix utilizada en el equipo servidor ocupa la versin 3.x de dhcp-server, en la actualidad est disponible la versin 4.x.

Linux Knoppix: Para el equipo servidor se utiliz el Live CD de Linux Knoppix en su versin 5.1.1 (del 4 de enero del 2007). Knoppix es una distribucin de Linux basada en Debian, cuya interfaz grfica por defecto es KDE. Sin embargo, para la administracin del servidor se utiliz siempre el modo consola.

34

Bibliografa

MARABOLI ROSSELOT, Marcelo. Redes de Computadores [Diapositivas], Via del Mar, Chile. Material parte de la asignatura de Redes de Computadores dictada en la UTFSM, Sede Via del Mar, el 2 Semestre del 2010.

Yaez, Ricardo. MAN-ES, Gua de instalacin Debian GNU/Linux [en lnea]. Consultado el 02 de mayo de 2011. Disponible en <http://man-es.debianchile.org/bind.html> ALTADILL IZURRA, Pello Xabier. Manual prctico de iptables [en lnea]. Consultado el 06 de abril de 2011 Disponible en <http://www.pello.info/filez/firewall/iptables.html>

35

S-ar putea să vă placă și