Como compartir una conexión con IPTables

26 de marzo de 2009
Bueno primero mostrar lo que queremos y lo que tenemos:

este es el esquema basico de lo que queremos hacer, ahora con que disponemos:
  • 1 Ordenador con dos interfaces fast ethernet y sistema operativo Ubuntu 8.10 (llamaremos server)
  • 2 Ordenadores con una interfaz fast ethernet y sistema operativo Windows xp cada uno (llamaremos pc1 y pc2)
  • 1 Switch o HUB
  • 1 Modem Router o Modem (el cual nos provee nuestro ISP)
siguiente, en la maquina 'server' nos aseguramos que tenga instalado el iptables, de no ser asi tecleamos en consola:
sudo apt-get install iptables
ahora por medio del network manager vamos a configurar eth0 y eth1 (las tarjetas de red).
eth0 la dejamos en modo dinamico o dhcp, esta ira conectada directamente al modem router.
eth1 la asignamos una dirección estatica (para este ejemplo trabajaremos con la dirección de red 192.168.1.0) IP = 192.168.1.2, Mascara de Subred = 255.255.255.0 y Puerta de enlace = 0.0.0.0; esta tarjeta de red ira conectada hacia el switch (nuestra red privada).
ahora las maquinas pc1 y pc2 le asignamos las direcciones ip 192.168.1.3 y 192.168.1.4 respectivamente, mascara de subred = 255.255.255.0 y Puerta de enlace = 192.168.1.2 (la direccion de nuestra maquina server) a ambas maquinas.
conectamos todas las maquinas en switch y probamos conectividad, tecleamos en consola de la maquina server:
ping 192.168.1.3
y
ping 192.168.1.4

si todo sale bien nos debe mostrar que esta enviando paquetes y el tiempo de entrega de estos podemos terminar el comando con ctrl+c.
ahora crearemos un pequeño script con lo siguiente (se puede usar el editor de notas o cualquier editor preferido):
iptables --flush
iptables -A INPUT -i eth1 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth1 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
guardamos el archivo con cualquier nombre pero con extencion .sh (ejemplo: internetsharing.sh) en la carpeta /home/usuario.
-----------lo siguiente es todo desde consola-------------------
ahora copiamos el archivo al directorio /etc/init.d:
sudo cp /home/usuario/internetsharing.sh /etc/init.d/internetsharing.sh
le damos permisos de ejecucion al script con:
sudo chmod 555 /etc/init.d/internetsharing.sh

y por ultimo ejecutamos ese script con:
sudo sh /etc/init.d/internetsharing.sh
listo ahora solo nos falta un paso, agregar los DNS a las maquinas pc1 y pc2.
en la maquina server tecleamos en consola lo siguiente:
cat /etc/resolv.conf
esto nos mostrara las direciones DNS que utiliza la maquina server agregamos las dos primeras en las maquinas pc1 y pc2:
en Windows XP : vamos a panel de control --> conexiones de red --> conexion de area local
--> protocolo internet (TCP/IP) le damos propiedades y en usar las siguientes direcciones DNS colocamos las dos primeras direcciones que nos arrojo el comando anterior en la maquina server.

y listo ya podremos disfrutar de una conexion compartida.
vale la aclaracion que de este modo no hemos configurado ninguna politica de seguridad ni implementado un firewall para protegernos (cosas necesarias) pero mas adelante se explicaran con estos metodos.

1 comentarios:

  • Rubén Cortés

    buenassssss ..... sabes tengo un problema estoy tratando de compartir internet a mi ps3 mediante iptables y nat en ubuntu,tengo una adaptador wifi(capta internet) conectado a mi pc(ubuntu), el pc conectado a mi ps3 mediante un cable de red cruzado, usando un script con iptables y nat logro conseguir enviar internet desde wlan0 (interfaz de red inalambrica) a mi eth0 (interfaz de area local), pero cuando paso a mi ps3 y le doy probar conexion a internet comprueba la ip hasta ahí bien pero al probar la conexion manda error y al revisar mi pc esta desconectada la red compartida solo esta conectada wlan0........ nose si sepas sobre esto de compartir internet a ps3 en ubuntu pero cualquier cosa se agradece....... a todo esto ocupo wicd como gestor de redes, OS BackTrack 5 r3 GENOME 64bit

  • Publicar un comentario