domingo, 7 de septiembre de 2008

Configurar gateway en linux para compartir internet

Esta vez me vi en la necesidad de configurar mi Ubuntu como gateway, esto para compartir internet con otra laptop de mi casa con el fin de hacer pruebas para configurar un firewall, para bloquear messenger en una red del trabajo. Debes de contar con 2 tarjetas de red en el servidor Linux.

La conexion de red es como lo muestra la siguiente figura.


A continuacion pongo la configuracion de mi modem 2wire y de mis tarjetas de red respectivamente.

MODEM 2WIRE
Private Network
Router Address: 192.168.1.254
Subnet Mask: 255.255.255.0
DHCP Range: 192.168.1.64 - 192.168.1.253

Tajetas de red de ubuntu

Tarjeta eth0 conectada al modem 2Wire (Internet)

auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.1.254

Tarjeta eth1 conectada a la red privada (Red local)

auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0

Ahora necesitamos instalar los siguientes paquetes:

$sudo apt-get install iptables

Ahora vamos a crear nuestro script para nuestro firewall.

$sudo gedit /etc/init.d/iptablesconfig

dentro escribimos las siguientes lineas:

#!/bin/sh
echo -n "Iniciando Gateway… "
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

echo "1" > /proc/sys/net/ipv4/ip_forward
echo "\n...Gateway Iniciado."


Guardamos los cambios y le damos permisos de ejecucion:
$ sudo chmod -v 755 /etc/init.d/iptablesconf

el modo de «iptablesconf» cambia a 0755 (rwxr-xr-x) Lo ejecutamos:
$ sudo /etc/init.d/iptablesconf

si todo ha ido bien veremos este mensaje:
* Iniciando Gateway…
* ...Gateway Iniciado.

Ahora utilizamos el siguiente comando para que script se cargue cada vez que arranque el sistema:

$ sudo update-rc.d iptablesconf start 20 2 .

#### ATENCIÓN AL PUNTO DEL FINAL, HAY QUE PONERLO ####
Adding system startup for /etc/init.d/iptablesconf …
/etc/rc2.d/S20iptablesconf -> ../init.d/iptablesconf

Ahora podemos probar si todo funciona, nos vamos a los otros PCs y configuramos la red con ips estaticas (por ej 192.168.0.2 , 192.168.0.3 , etc..) y su correspondiente mascara de subred (255.255.255.0 para el ejemplo) utilizamos como puerta de enlace el pc que comparte la conexión (192.168.0.1 en el ejemplo) y como servidores dns utilizamos los mismos que tenga configurados el pc que da acceso a internet, que podemos verlos utilizando

$ cat /etc/resolv.conf

Esta configuracion la hice y me funciono al toque, solo tuve que poner los DNS en el segundo pc, porque tenia internet, hacia ping al primer pc, hacia ping a internet, pero no entraba a las paginas por sus nombres, solo por sus IPs.


Para que los clientes queden configurados de manera automatica necesitamos un configurar un servidor DNS y DHCP en nuestro servidor linux... Esto lo pondre en futuras configuraciones...

Chiao!!!

No hay comentarios: