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
#comenzamos 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