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