Configurar Linux como router
Configurar
Linux como router
Configurar
y activar un equipo como enrutador en Ubuntu o Debian
Activación del enrutamiento en Linux
Las funciones de enrutamiento
mediante NAT son realizadas por el cortafuegos que analizará los paquetes
provenientes de la red local interna cuyo destino sea Internet y los modificará
convenientemente para que salgan hacia Internet como si fueran emitidos por el
servidor. A partir del nucleo 2.4 de Linux, el cortafuegos empleado es
iptables.
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.
Creación del script para activar
enrutamiento
Para activar el enrutamiento en un
sistema Linux, tan solo basta con poner a ‘1’ la variable ip_forward del
sistema, es decir, basta con ejecutar desde una consola de root:
echo “1” >
/proc/sys/net/ipv4/ip_forward
Posteriormente 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
(172.16.15.1/255.255.255.0) y que tenemos una tarjeta (eth1) conectada al
router, con la ip 192.168.36.140, los comandos a ejecutar serían:
// Haciendo NAT en el servidor
# iptables -A FORWARD -j ACCEPT
# iptables -t
nat -A POSTROUTING -s 172.16.15.0/24 -o eth1 -j SNAT –to 192.168.36.140
En
nuestro caso, como el interfaz de salida (
eth1 ) salimos por DHCP, habrá que poner lo siguiente
# iptables -t
nat -A POSTROUTING -s 172.16.15.0/24 -o eth1 -j MASQUERADE
Podríamos realizar un script que
activara el enrutamiento y el NAT y otro para desactivarlo:
// activar-enrutamiento.sh
echo “1” >
/proc/sys/net/ipv4/ip_forward
iptables -A
FORWARD -j ACCEPT
iptables -t
nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE
// desactivar-enrutamiento.sh
echo “0” >
/proc/sys/net/ipv4/ip_forward
en / :
¿Como hacerlo ?
#sudo nano activar-enrutamiento.sh
escribimos :
echo “1” >
/proc/sys/net/ipv4/ip_forward
iptables -A
FORWARD -j ACCEPT
iptables -t
nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE
salimos y hacemos :
#sudo update-rc.d activar-enrutamiento.sh defaults
#sudo mv activar-enrutamiento.sh /etc/init.d/
# cd /etc/init.d
# chmod 744 activar-enrutamiento.sh
Para activar el enrutamiento en el
servidor :
# sudo /etc/init.d/activar-enrutamiento.sh
Para desactivar, hacer el
fichero desactivar-enrutamiento.sh con el contenido :
echo “0” >
/proc/sys/net/ipv4/ip_forward
con el mismo procedimiento
Cuando activamos el enrutamiento ( #
/etc/init.d/activar-enrutamiento.sh ) los clientes pueden salir a
través de nuestro server-router a internet, si lo desactivamos ( # /etc/init.d/desactivar-enrutamiento.sh ) los clientes n podrán
salir
Comentarios
Publicar un comentario