IPTABLES-NAT

YGCaceres en ecg.moa.minbas.cu YGCaceres en ecg.moa.minbas.cu
Jue Sep 22 17:42:23 CLT 2005



Saludos 


En el siguiente scritp me da unos herrores que no se como solucionar el
mismo lo corro en FC4 y nada no me funciona. El error me lo da cargando los
módulos necesarios, me dice que no encuentra el directorio o algo así. Que
puede ser?
 

----------------------------------------------------------------------------

#!/bin/bash

IPTABLES=/sbin/iptables
# Interfaz conectada a internet
EXT="eth0"
# Interfaz conectada a la red interna
INT="eth1"

case "$1" in
        start)
                # Cargamos los módulos necesarios
                echo "Setting firewall rules..."
                echo -n "Loading kernel modules: "
                /sbin/insmod -q -s ip_tables
                /sbin/insmod -q -s ip_conntrack
                /sbin/insmod -q -s ip_conntrack_ftp
                /sbin/insmod -q -s ip_conntrack_irc
                /sbin/insmod -q -s iptable_nat
                /sbin/insmod -q -s ip_nat_ftp
                echo "done"

                # Activamos el IP forwarding
                echo -n "Activating IP Forwarding support: "
                echo "1" > /proc/sys/net/ipv4/ip_forward
                echo "done"

                # Eliminamos las reglas anteriores
                echo -n "Deleting firewall rules: "
                $IPTABLES -F INPUT
                $IPTABLES -F OUTPUT
                $IPTABLES -F FORWARD
                $IPTABLES -F
                $IPTABLES -t nat -F
                echo "done"

                echo -n "Activating NAT: "
                $IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/24 -d
0.0.0.0/0 -o $EXT -j MASQUERADE
                echo "done"

                echo -n "Activating ICMP echo request: "
                $IPTABLES -A INPUT -i $EXT -p ICMP -j ACCEPT
                echo "done"

                echo -n "Setting firewall port rules: "

                # 21: ftp
                $IPTABLES -A INPUT -i $EXT -p TCP --dport 21 -m state
--state NEW -j ACCEPT
                $IPTABLES -A INPUT -i $EXT -p TCP --dport 2100 -m state
--state NEW -j ACCEPT

                # 22: ssh
                $IPTABLES -A INPUT -i $EXT -p TCP --dport 22 -m state
--state NEW -j ACCEPT

                # 25: smtp
                $IPTABLES -A INPUT -i $EXT -p TCP --dport 25 -m state
--state NEW -j ACCEPT

                # 80: apache
                $IPTABLES -A INPUT -i $EXT -p TCP --dport 80 -m state
--state NEW -j ACCEPT

                echo "done"

                echo -n "Final approach: "
                # Aceptamos paquetes de una conexión ya establecida
                $IPTABLES -A INPUT -p TCP -m state --state RELATED -j ACCEPT

                # Rechazamos los de conexiones nuevas
                $IPTABLES -A INPUT -i $EXT -m state --state NEW,INVALID -j
DROP

                # Rechazamos conexiones de forwarding no establecidas
                $IPTABLES -A FORWARD -i $EXT -m state --state NEW,INVALID -j
DROP

                echo "done"
                ;;

        stop)
                echo -n "Stopping firewall: "
                $IPTABLES -F INPUT
                $IPTABLES -F OUTPUT
                $IPTABLES -F FORWARD
                $IPTABLES -F
                $IPTABLES -t nat -F
                echo "done"
                ;;

        restart)
                $0 stop
                echo -n "Sleeping a few seconds before setting the rules
again: "
                sleep 2
                echo "done"
                $0 start
                ;;

        status)
                $IPTABLES -L
                $IPTABLES --table nat --list --exact --verbose --numeric
--line-numbers
                ;;

        *)
                echo "Usage: $0 {start|stop|restart|status}"
                exit 1
esac
exit 0




Más información sobre la lista de distribución Linux