Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/11/2002, 08:58
Avatar de Ferdy
Ferdy
Colaborador
 
Fecha de Ingreso: junio-2001
Ubicación: España
Mensajes: 1.430
Antigüedad: 23 años, 5 meses
Puntos: 0
Os pego uno un poquillo más elaborado y que funciona tb para las conexiones FTP y el envío de ficheros por DCC (por IRC)
Código:
#!/bin/bash
##
# ROUTER script
##
# Definimos las variables 
INTERNA="eth1"
EXTERNA="eth0"

INSMOD="/sbin/insmod"
IPTABLES="/sbin/iptables"

echo "Iniciando la conexión compartida a Internet"
echo "    Interfaz interna: $INTERNA"
echo "    Interfaz externa: $EXTERNA"
echo "    Cargando los modulos..."

LISTAMODULOS="ip_tables ip_conntrack ip_contrack_ftp ip_conntrack_irc ip_table_nat ip_nat_ftp ip_nat_irc"

for mod in $LISTAMODULOS
do
        echo "        Cargando: $mod"
        if [ -f /lib/modules/`uname -r`/kernel/net/ipv4/netfilter/$mod.o ];
        then
                $INSMOD $mod
        fi
done

echo "    Hecho."
echo "    Habilitando el reenvio de paquetes"
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "    Activando las reglas de IPTABLES"

# Ponemos las reglas por defecto

$IPTABLES -P INPUT ACCEPT
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD
$IPTABLES -t nat -F

# Habilitamos el tráfico por NAT
$IPTABLES -A FORWARD -i $EXTERNA -o $INTERNA -m \ 
                state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTERNA -o $EXTERNA -j ACCEPT
$IPTABLES -A FORWARD -j LOG

# Encendemos el SNAT (MASQUERADE) en $EXTERNA
echo "    Habilitando SNAT en $EXTERNA"
$IPTABLES -t nat -A POSTROUTING -o $EXTERNA -j MASQUERADE
Espero que os sirva. Por cierto epple una de las cosas que tienes que hacer es cerrar el tráfico FORWARD y solo habilitar para las conexiones ESTABLISHED y RELATED

Salu2.Ferdy
__________________
Born to be free
Por una sociedad del conocimiento libre