Ubuntu como pasarela de red

ubuntu-serverUbuntu Router Internet Gateway (2 tarjetas ethernet)

En este articulo vamos a mostrar como configurar ubuntu como pasarela de red de internet. Funcionará exactamente igual que cualquier router que se pueda comprar en una tienda, pero con la particularidad que tu maquina ubuntu será más funcional y ofrecerá opciones de seguridad extras.

Que necesitarás para construir tu router ubuntu:
1.    una computadora
2.    Al menos dos tarjetas ethernet.
3.    Un repartidor de red u otro ordenador con una tarjeta de red si sólo contamos con otra máquina.
4.    Ubuntu Server (10.04 LTS en el momento en que se escribe este artículo)
5.    Putty (si accedes desde windows) o una consola ssh para acceder al servidor si accedes desde windows.

Cómo se hace:

Lo primero que haremos es una instalación fresca de Ubuntu Server, pero seleccionando solo la opción Open SSH server en las opciones de instalación.

Tras finalizar la instalación y reiniciar la computadora, necesitaremos darle un password al usuario root.

sudo passwd root

Después de activar el password del super-administrador (root) vamos a actualizar la distribución ubuntu. Introduce los siguientes comandos para actualizar el sistema operativo y el resto de programas.

apt-get update
apt-get upgrade

Cuando se complete el proceso de actualización, reinicia la máquina.

reboot

Configurar las tarjetas de red

como usuario root

nano /etc/network/interfaces

En el ejemplo que sigue a continuación mi eth0 representa el interface de red que conecta con internet, y el interface eth1 la que conecta con el resto de la red (ya sea a través de un repartidor de red o con un cable cruzado a otro ordenador). Si conectamos el eth1 a un repartidor de red, este se conectará al resto de dispositivos de la red como sistemas de juegos, resto de computadoras, routers inalambricos, … He añadido el siguiente código en el archivo /etc/network/interfaces:

auto eth1
iface eth1 inet static
address 192.168.10.1
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255

Después reiniciamos la red:

/etc/init.d/networking restart

El siguiente paso no es necesario, pero quiero darle un nombre a mi pasarela de red para más adelante instalar apache y tener mi propio servidor web, ya sea para la intranet o para internet.

Modificamos o añadimos las siguientes líneas a /etc/hosts

127.0.0.1        localhost.localdomain    localhost
192.168.10.11    homeserver.gateway.2wire.net    homeserver

Y añadimos el nombre de la pasarela al archivo /etc/hostname con los siguientes comandos.

echo homeserver.gateway.2wire.net > /etc/hostname
/etc/init.d/hostname.sh start
hostname
hostname -f

Una vez que hayas completado todos estos pasos puedes acceder a tu pasarela linux ya sa a través de putty en windows, o la consola de Linux u OSX. Pero como aún no hemos configurado el servidor dhcp debemos darle una ip fija al terminal desde el que vamos a teclear los comandos ssh y conectarlo al siwtch. La configuración de la ip podría ser:

ip: 192.168.10.12
subred: 255.255.255.0
gateway: 192.168.10.11

Una vez que hayas elegido con que programa acceder al servidor SSH, ingresa como root. Es el momento de instalar algo de software que necesitaremos para configurar la pasarela.

apt-get install dhcp3-server bind9 vim perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl

Activar el reenvio de paquetes (packet forwarding)

El reenvío de paquetes es necesario para que el resto de ordenadores de la red distintos de la pasarela puedan acceder a internet.
Editamos el archivo /etc/sysctl.conf y modificamos algunas líneas.
vi /etc/sysctl.conf
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
echo 1 > /proc/sys/net/ipv4/ip_forward
Install Webmin
Webmin es un excelente programa que usaremos para configurar nuestra pasarela ubuntu y otras muchas opciones de nuestro servidor facilmente utilizando un servidor web desde cualquier navegador de tu elección.
Primero descargamos el software necesario
wget http://ftp.debian.org/pool/main/libm/libmd5-perl/libmd5-perl_2.03-1_all.deb
wget http://mesh.dl.sourceforge.net/project/webadmin/webmin/1.520/webmin_1.520_all.deb
Después instalamos el software con
sudo dpkg -i *.deb
Si no terminara la instalación por que tiene dependencias no instaladas ejecutamos
sudo apt-get -f install
Configurar el servidor Dhcp
Ingresamos con nuestro navegador en webmin en la dirección https://192.168.10.11:10000, ingresamos el usuario y el password.
Nos vamos a la sección DHCP del la sección servidores y pulsamos el enlace “Añadir una nueva subred” e introducimos …

Network address – 192.168.10.0
Netmask – 255.255.255.0
Address ranges -192.168.10.100 – 192.168.10.200
Una vez que hayas dado click en el boton de crear, deberías vez un icono que se lee como 192.168.10.0, dale click en el nuevo icono y después click en el botón de Editar las opciones de cliente.
Subnet mask – 255.255.255.0
Default routers – 192.168.10.1
Broadcast address – 192.168.10.255
DNS servers – 192.168.10.1

Después de introducir todo esto en la ventana de opciones de cliente, dale al botón salvar por segunda vez lo que te devolverá la sección principal de la ventana del servidor DHCP. Ahora haz click en el botón del iniciar el servidor, si no ves errores, entonces todo va bien.
Configurar el cortafuegos.
También desde webmin entramos en “Red”, “Cortafuegos Linux”  y :
1º. Seleccionamos la opción Hacer una traducción de dirección de red en la interfaz externa eth0
2º. Cuando aparece la pantalla de configuración en la sección mostrando firewall seleccionamos “Filtrado de paquetes filter” y añadimos ñas siguientes reglas
Input:
Si interfaz de entrada es lo
Si interfaz de entrada es eth0 y el estado de conexion es ESTABLISHED,RELATED
Si interfaz de entrada es eth1

Forward:
Si interfaz de entrada es eth0 y output interface is eth1 y el estado de conexion es ESTABLISHED,RELATED
Si interfaz de entrada es br0 y output interface is eth0

Si queréis dejar algun puerto abierto para un servidor web, ftp, etc.. debéis hacerlo en la sección input. Por ejemplo:
Si protocolo es TCP y el puerto destino es 80

Gracias a  http://www.server-servers.com/ubuntu-internet-gateway-and-router/

2 respuestas a «Ubuntu como pasarela de red»

    1. Bueno, eso de obsoleto… La 12.04 es LTS, y las primeras versiones de cualquier distro de Ubuntu, siempre han dado problemas (aunque salgan como alfas son betas). Yo ahora mismo estoy instalando la 14.04.1 (que no es lo mismo que la 14.04 que era la que había cuando salió el tuto). Por lo demás hay pequeñas variaciones que incluiré en tutos posteriores. La más importante es que ahora el directorio para las web es /var/www/html y antes era /var/www… y algunas cosillas mas que incluiré cuando tenga un ratillo XD. Saludos! Ahhh y XRDP no funciona con el nuevo Ubuntu Unity, hay que montar xubuntu lo que de momento no me hace ninguna gracia.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.