Para que las reglas de iptables se carguen al inicio, copiaremos el script en /etc/init.d y lo ponemos por default:

sudo cp firewall.sh /etc/init.d/
sudo update-rc.d firewall.sh defaults

Mi script firewall.sh:

#!/bin/sh

#-s Especifica una dirección de origen
#-d Especifica una dirección de destino
#-p Especifica un prototocolo
#-i Especifica un interface de entrada
#-o Especifica un interface de salida
#-j Especifica la acción a ejecutar sobre el paquete
#--sport Puerto de origen
#--dport Puerto de destino

#Borrar todas las reglas

iptables -F
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -F -t nat
iptables -X

#Politica general.Cerramos todo.

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

###OTRAS PROTECCIONES####

#Quitamos los pings.
#/bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

#No respondemos a los broadcast.
#/bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

#Para evitar el spoofing nos aseguramos de que la dirección
#origen del paquete viene del sitio correcto.
for interface in /proc/sys/net/ipv4/conf/*/rp_filter; do
/bin/echo "1" > ${interface}
done

#Los ICMPs redirigidos que pueden alterar la tabla de rutas.
for interface in /proc/sys/net/ipv4/conf/*/accept_redirects; do
/bin/echo "0" > ${interface}
done

#No guardamos registros de los marcianos.
/bin/echo "1" > /proc/sys/net/ipv4/conf/all/log_martians

# Asegurar, aunque no tenga soporte el nucleo, q no hay forward.
/bin/echo "0" > /proc/sys/net/ipv4/ip_forward

###Reglas de los puertos####

iptables -A INPUT -p icmp -i eth0 -j ACCEPT
iptables -A INPUT -p udp -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 113 --tcp-flags SYN SYN -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 1025:65535 --tcp-flags ACK ACK -i eth0 -j ACCEPT

# Permitimos que se conecten a nuestro servidor web.
#iptables -A INPUT -m state --state NEW -p TCP --dport 80 -j ACCEPT

#Abrimos ssh a la red.
iptables -A INPUT -p tcp --destination-port 22 -i eth0 -j ACCEPT

#Permitimos la comunicación con el servidor dns
#iptables -A INPUT -p UDP --dport 53 -j ACCEPT
#iptables -A INPUT -p TCP --dport 53 -j ACCEPT

#Permitimos uso de ftp.
#iptables -A INPUT -p TCP --dport 21 -j ACCEPT

#Permitimos acceso pop3.
#iptables -A INPUT -p TCP --dport 110 -j ACCEPT

#Permitimos uso de smtp
#iptables -A INPUT -p TCP --dport 25 -j ACCEPT

#Permitimos acceso imap.
#iptables -A INPUT -p TCP --dport 143 -j ACCEPT
#iptables -A INPUT -p UDP --dport 143 -j ACCEPT

#Permitimos todo el trafico de la LAN
iptables -A INPUT -s 192.168.2.101 -i eth0 -j ACCEPT
iptables -A INPUT -s 192.168.2.100 -i eth0 -j ACCEPT

#Dejamos a localhost, para mysql, etc..
iptables -A INPUT -i lo -j ACCEPT