Saturday, November 6, 2010

Guia para configurar Dansguardian en Modo Transparente


Saludos mis estimados lectores, hoy les voy a mostrar como podemos configurar nuestro Dansguardian en modo transparente, osea que no tengamos que configurar a nuestros clientes para filtrar su contenido, me voy a suponer que ya han logrado configurar correctamente Squid (Guia Basica de Squid), DansGuardian (Guia de Dansguardian) y que tengan conocimiento de Dhcp Server en Linux, ya que son pre-requisitos para realizar correctamente esta guia, todavía no he creado una guia para la implementación de un cortafuegos con Shorewall, así que usare iptables directamente para esta guía.


Para configurar este servicio en modo transparente, necesitaremos lo siguiente:

a) Router con acceso a internet
b) Switch para nuestra red local
c) Servidor con dos interfaces de red

Nuestro servidor tendra dos interfaces de red, ya que una la utilizaremos para que se conecte al router, y la otra para que se conecte a el switch, y asi se comunique con los demas computadores, en mi caso la interfaz de red que se comunica con el router es la eth0, y la que se comunica con las otras computadoras es la eth1.

Mi router tiene la ip 192.168.1.1, y le asigna mediante dhcp una IP Fija (192.168.1.100) a la interfaz de red eth0 de mi servidor, este tiene configurado un servidor dhcp que por medio de la interfaz eth1 le asigna IP a los demas computadores de la red local.

Veamos esta gráfica para mayor entendimiento:



Le asignamos una IP Fija a la interfaz eth1 de la siguiente manera:

A) Si es en distribuciones basadas en Red Hat:

1-Abrimos el archivo /etc/sysconfig/network-scripts/ifcfg-eth0
2-Editamos el archivo:


DEVICE=eth0
HWADDR=00:11:11:74:be:5e (Mac Addres de tu interface)
ONBOOT=yes
BOOTPROTO=dhcp
TYPE=Ethernet
NAME="System eth0"


4-Abrimos el archivo /etc/sysconfig/network-scripts/ifcfg-eth1
5-Editamos el archivo:


DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
TYPE=Ethernet
NAME="System eth1"
IPADDR=10.0.0.1
NETMASK=255.0.0.0
PREFIX=8

6-Reiniciamos el servicio con el comando "service network restart"


B) Si es en distribuciones basadas en Debian:

1-Abrimos el archivo /etc/network/interfaces.
2-Editamos el archivo:


auto lo
     iface lo inet loopback

auto eth0
     iface eth1 inet dhcp

auto eth1
     iface eth0 inet static
     address 10.0.0.1
     netmask 255.0.0.0


3-Reiniciamos el servicio con el comando "/etc/init.d/network restart"


El siguiente paso seria configurar el servidor dhcp (Si no tienes conocimiento de este servicio, te recomiendo esta guia de AlcanceLibre), editando el archivo de configuracion correspondiente con el siguiente contenido:


server-identifier servidor.localnet;
ddns-update-style interim;
ignore client-updates;
authoritative;
default-lease-time 900;
max-lease-time 7200;
option ip-forwarding on;
option domain-name "localnet";



shared-network miredlocal {
        subnet 10.0.0.0 netmask 255.0.0.0 {
                option routers 10.0.0.1;
                option subnet-mask 255.0.0.0;
                option broadcast-address 10.0.0.254;
                option domain-name-servers 192.168.1.1;
                option ntp-servers 10.0.0.1;
                range 10.0.0.5 10.0.0.100;
                }
}

En domain-name-server ponemos la IP de nuestro router, o nuestro servidor DNS, en mi caso es la 192.168.1.1, y luego reiniciamos el servicio dhcp con el comando "/etc/init.d/dhcpd restart".

Debemos configurar IPtables realizando los siguientes comandos:

iptables -Z
iptables -F
iptables -X
iptables -t nat -A PREROUTING -s 10.0.0.0/8 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A POSTROUTING -o eth1 -s 10.0.0.0/8 -j MASQUERADE

Con los primeros tres comandos hemos eliminado todas las reglas activas en iptables, y luego hemos añádido dos reglas: la primera redirige el trafico proveniente del puerto 80, del protocolo tcp, de la red 10.0.0.0 a el puerto 8080, que es el por donde tenemos configurado que DansGuardian escuche, y la otra linea enmascara nuestra red para que salga a internet por la interfaz eth1 (La que esta conectada a nuestro router).

Y finalmente activamos Ip Forwarding con el siguiente comando:

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

Y luego modificamos el archivo /etc/sysctl.conf para que sea permanente, editando la siguiente linea:

net.ipv4.ip_forward = 1

Y listo, tendremos nuestro servidor de filtrado de contenido funcionando de forma transparente, cualquier duda o aporte puedes comentarlo, y te ayudare tan pronto pueda, hasta la proxima.

0 comentarios:

Post a Comment