Configurar un firewall de manera simple con ufw

He encontrado este programa para gestionar el firewall y me ha parecido muy bueno. Este es ufw.

Para instalarlo (está en Squeeze y Sid), aptitude install ufw.
Para ponerlo en funcionamiento a través de SSH, haremos lo siguiente:

ufw default deny
ufw logging on
ufw allow ssh/tcp
ufw enable

Si no lo hacemos por SSH y no queremos abrir ese puerto, omitiremos la línea ufw allow ssh/tcp

Para abrir rangos de puertos:

ufw allow proto tcp to any port 1000:2000

Para permitir un rango de IPs:

ufw allow from 1.2.0.0/16 to any port 1234

Hay ejemplos en español en la Wikipedia: http://es.wikipedia.org/wiki/Uncomplicated_Firewall
O en inglés: https://help.ubuntu.com/community/UFW

Cargar reglas iptables automáticamente

Una vez que se apliquen reglas en iptables, se perderán cuando se reinicia el sistema. Para que se mantengan (una vez aplicadas las que queremos), deberemos hacer lo siguiente:

iptables-save > /etc/firewall.conf

Crearemos el archivo /etc/network/if-up.d/iptables y dentro pondremos:

#!/bin/sh
iptables-restore < /etc/firewall.conf

Sólo falta hacerlo ejecutable y listo:

chmod +x /etc/network/if-up.d/iptables

Cualquier cambio que queramos hacer será modificando el archivo /etc/firewall.conf o ejecutando las reglas por comandos y salvarlas de nuevo como al principio:

iptables-save > /etc/firewall.conf

Fuente: http://rackerhacker.com/2009/11/16/automatically-loading-iptables-on-debianubuntu/