viernes, 2 de marzo de 2012

Compartir internet con Linux o crear una subred (iptables)

Cuando tenemos la posibilidad de ocupar un linux dentro de nuestras dependencias u oficina, disponemos de  la facilidad de ocupar muchas herramientas y generar alternativas  varias dentro de todas las funciones disponibles de un linux.

Para comprender mas la definicion anterior  mostraré un caso particular, donde tenemos un servidor Linux con 2 tarjetas de red  donde queremos obtener provecho de crear una subred o compartir internet desde un punto de red :

Descripcion: 

interface Eth0 con ip 192.168.237.229, recibe internet desde un router,switch,hub,etc.

Interface Eth1 con ip  192.30.20.10, segunda tarjeta de red donde redireccionaremos el trafico de internet que llega a Eth0.

-Esta subred puede aumentar su volumen agregando una antena wifi y/o mas interfaces Ethernet o conectando un router a la interface eth1, todo depende de lo que quieras hacer.

La configuracion que se debe realizar en el servidor para compartir internet:

#!/bin/sh
## SCRIPT de IPTABLES - Compartir Internet con ETH1
##
## -Ncw -
#Comaparte internet de eth0 a eth1
#192.30.20.0/24 corresponde a la subred donde se va a compartir el internet
#

echo -n " Aplicando Reglas de Firewall..."

## FLUSH de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

## Establecemos politica por defecto
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

# El localhost se deja (por ejemplo conexiones locales a mysql)
/sbin/iptables -A INPUT -i lo -j ACCEPT

# Al firewall tenemos acceso desde la red local
iptables -A INPUT -s 192.30.20.0/24 -i eth0 -j ACCEPT

# Al firewall tenemos acceso desde la red local
iptables -A INPUT -s 192.30.20.0/24 -i eth1 -j ACCEPT

#Empezamos a realizar el Puente desde eth0
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

#Direccionamos el Puente a eth0
iptables -A INPUT -s 192.30.20.0/24 -i eth1 -j ACCEPT


#Se ejecuta la Orden
echo 1 > /proc/sys/net/ipv4/ip_forward

echo " OK . Verifique que lo que se aplica con: iptables -L -n"

# Fin del script

--

Si lo que deseas es compartir internet mediante una antena wifi solo basta cambiar la interface eth1 por wlan0 (wlan0 generalmente es la interface que se genera al añadir una antena wifi a algún linux, aunque depende de los drivers que  instalemos).

descarga desde aca :aquí

--
Ncw




8 comentarios:

  1. Excelente aporte, lo probaré muy pronto

    ResponderEliminar
  2. si puedes subir de nuevo el archivo o solamente pegando el script en la terminal funciona

    ResponderEliminar
    Respuestas
    1. guarda el script en un archivo (ej:archivo.sh), dale permiso de ejecucion (chmod +x archivo.sh )y correlo con sh archivo.sh

      Eliminar
  3. 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

    ResponderEliminar
    Respuestas
    1. sería bueno que dieras mayor ejemplo; me puedes encontrar en irc freenode canal #debian-es como ncw2233 o waflessnet , todos trataremos de ayudarte,
      Saludos.

      Eliminar
  4. consulta, la IP de c/u de las placas de red hay que ponerla a mano?

    yo estoy tatando de compartir internet desde un telefono haciendo tether!

    ResponderEliminar
    Respuestas
    1. Tienes que colocar la IP estatica entre el PC con internet y el PC o maquina que quieres darle internet.
      Saludos

      Eliminar
  5. Hola, sin la conexión de Internet en el servidor esta obtenida por un servidor externo squid por puerto 80, es posible compartirla a la subred por medio de iptables? (sin configurar el proxy en los equipos de las subred) Gracias

    ResponderEliminar