Red para proxy transparente
Premisas.
1) Se entenderá en todo momento que el sistema
instalado es Ubuntu 12.04 Server con la opción LAMP instalada y
configurada.
2) El sistema tendrá dos tarjetas de red, eth0 y
eth1. La tarjeta de red eth1 estará conectada directamente al
router y la tarjeta eth0 estará conectada a un switch.
3)
La red interna (las máquinas contectadas al switch) tendrá ip en
el formato 192.168.2.X
4) La red externa (la que conecta con el
router) tendrá ip en el formato 192.168.1.X
Configurando la
red
Para que la red conectada a eth0 pueda acceder a internet (que
está en eth1) debemos habilitar el “ip forwarding”. Editaremos
el siguiente archivo:
sudo nano /etc/sysctl.conf
Y nos aseguramos de que esta activado, recordemos que 1 es
activado y 0 desactivado.
net.ipv4.ip_forward=1
También necesitaremos decirle al sistema que aplique un par de
reglas para que cuando reciba un intento de acceder a una web lo
redireccione a Dansguardian para que lo analice y permita o no el
acceso. Hay muchas maneras de hacer esto pero a mi me gusta crear un
pequeño script que arranque al inicio del sistema.
Crearemos un fichero llamado reglas_iptables en /etc/init.d
sudo nano /etc/init.d/reglas_iptables
y le añadiremos las siguientes líneas:
#! /bin/sh
iptables -F
iptables -t nat -A
PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port
8080
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Guardamos y le damos permiso de ejecución:
sudo chmod +x /etc/init.d/reglas_iptables
Crearemos un enlace simbólico en /etc/rc2.d/ para que se ejecute
al iniciar.
sudo ln -sf /etc/init.d/reglas_iptables
/etc/rc2.d/S20reglas_iptables
Ahora configuraremos las tarjetas de red (si es que aún no lo
habeis hecho ya). Esto lo hacemos editando el fichero interfaces.
sudo nano /etc/network/interfaces
Y dejándolo como sigue:
auto eth1
iface eth1 inet static
address
192.168.1.2
netmask 255.255.255.0
network
192.168.1.0
broadcast 192.168.1.255
gateway
192.168.1.1
dns-nameservers 8.8.8.8
#Segunda tarjeta red
auto eth0
iface eth0 inet
static
address 192.168.2.1
netmask 255.255.255.0
network
192.168.2.0
broadcast 192.168.2.0
Con estos cambios le hemos dicho al sistema que la tarjeta eth1
que poseera la direccion ip 192.168.1.2, se conectará al router que
tiene la ip 192.168.1.1 y usará los servidores de nombres (dns) de
google, que son 8.8.8.8. Esta tarjeta es la que da acceso a
internet.
Tambien le decimos que la tarjeta eth0 poseerá la
dirección 192.168.2.1, esta tarjeta es la que se comunica con
nuestra red interna.
Dicho esto solo queda reiniciar el equipo o los servicios y
cruzar los dedos para que no me haya equivocado al escribir este
pequeño y básico tutorial.
Reiniciamos servicios
sudo service squid restart
sudo service dansguardian
restart
sudo /etc/init.d/reglas_iptables
1) Se entenderá en todo momento que el sistema instalado es Ubuntu 12.04 Server con la opción LAMP instalada y configurada.
2) El sistema tendrá dos tarjetas de red, eth0 y eth1. La tarjeta de red eth1 estará conectada directamente al router y la tarjeta eth0 estará conectada a un switch.
3) La red interna (las máquinas contectadas al switch) tendrá ip en el formato 192.168.2.X
4) La red externa (la que conecta con el router) tendrá ip en el formato 192.168.1.X
Configurando la red
Para que la red conectada a eth0 pueda acceder a internet (que está en eth1) debemos habilitar el “ip forwarding”. Editaremos el siguiente archivo:
sudo nano /etc/sysctl.confY nos aseguramos de que esta activado, recordemos que 1 es activado y 0 desactivado.
net.ipv4.ip_forward=1También necesitaremos decirle al sistema que aplique un par de reglas para que cuando reciba un intento de acceder a una web lo redireccione a Dansguardian para que lo analice y permita o no el acceso. Hay muchas maneras de hacer esto pero a mi me gusta crear un pequeño script que arranque al inicio del sistema.
Crearemos un fichero llamado reglas_iptables en /etc/init.d
sudo nano /etc/init.d/reglas_iptablesy le añadiremos las siguientes líneas:
#! /bin/sh
iptables -F
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Guardamos y le damos permiso de ejecución:
sudo chmod +x /etc/init.d/reglas_iptablesCrearemos un enlace simbólico en /etc/rc2.d/ para que se ejecute al iniciar.
sudo ln -sf /etc/init.d/reglas_iptables /etc/rc2.d/S20reglas_iptablesAhora configuraremos las tarjetas de red (si es que aún no lo habeis hecho ya). Esto lo hacemos editando el fichero interfaces.
sudo nano /etc/network/interfacesY dejándolo como sigue:
auto eth1
iface eth1 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 8.8.8.8
#Segunda tarjeta redCon estos cambios le hemos dicho al sistema que la tarjeta eth1 que poseera la direccion ip 192.168.1.2, se conectará al router que tiene la ip 192.168.1.1 y usará los servidores de nombres (dns) de google, que son 8.8.8.8. Esta tarjeta es la que da acceso a internet.
auto eth0
iface eth0 inet static
address 192.168.2.1
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.0
Tambien le decimos que la tarjeta eth0 poseerá la dirección 192.168.2.1, esta tarjeta es la que se comunica con nuestra red interna.
Dicho esto solo queda reiniciar el equipo o los servicios y cruzar los dedos para que no me haya equivocado al escribir este pequeño y básico tutorial.
Reiniciamos servicios
sudo service squid restart
sudo service dansguardian restart
sudo /etc/init.d/reglas_iptables
No hay comentarios:
Publicar un comentario