El router ADSL está conectado a un switch y por lo tanto a través de múltiples utilidades es fácil conocer su dirección IP y configurar nuestro equipo como puerta de enlace, con el consiguiente acceso libre a Internet y a la descarga masiva. Es decir nos encontramos con un esquema del tipo:
Este esquema no permite controlar el tráfico de red puesto que los PCs tienen acceso directo al router.
Situando el servidor entre la red y el router, todo el tráfico hacia Internet pasa por el servidor lo que nos permitirá analizarlo, generar estadísticas, filtrar accesos, instalar un proxy-caché, etc., de forma sencilla y centralizada.
Para posibilitar que nuestro servidor Linux sea capaz de comportarse como un router y hacer de puerta de enlace para los PCs de nuestra red local, será necesario crear un script que configure el cortafuegos iptables para que realice NAT desde dentro de la red local hacia Internet.
// Activar el enrutamiento en un sistema LinuxPosteriormente tendríamos que configurar el filtrado de paquetes para que acepte el redireccionamiento de paquetes desde dentro hacia fuera de nuestra red y mediante NAT permita que los PCs de la red interna naveguen con la dirección IP 'publica' del servidor. Supongamos que el router Linux tiene una tarjeta (eth0) conectada a la red local (192.168.0.254/255.255.255.0) y que tenemos una tarjeta (eth1) conectada al router, con la ip 10.0.0.1, los comandos a ejecutar serían:# echo "1" > /proc/sys/net/ipv4/ip_forward
// Haciendo NAT en el servidor# iptables -A FORWARD -j ACCEPT
# iptables -t nat -A POSTROUTING -s 192.168.0.254/24 -o eth1 -j SNAT -to-source 10.0.0.1
Podríamos realizar un script que activara el enrutamiento y el NAT y otro para desactivarlo:
// activar-enrutamiento.shecho "1" > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.254/24 -o eth1 -j SNAT -to-source 10.0.0.1
// desactivar-enrutamiento.shecho "0" > /proc/sys/net/ipv4/ip_forward