Eu fiz assim:
Criei dois SCRIPTS em /etc/firewall. Um para definição das regras e outro para carregamento dos módulos e execução das regras. No arquivo de definição de regras irei demonstrar somente uma, devido a particularidade das mesmas...

Antes de mais nada, habilite o roteamento, pois o firewall nada mais é do que um roteador controlado: em /etc/sysctl.conf: net.ipv4.ip_forward = 1.
Esta forma de habilitar o roteamento é a melhor, pois se algum serviço de rede parar o roteamento continua ativo.

Vamos lá então:

1) REGRAS.sh
#!/bin/sh
#IP Masquerade
iptables -t nat -A POSTROUTING -s $LAN_IP -o $WAN_NIC -j MASQUERADE
#Demais regras das outras Chains

---

2) Execute e teste as regras
$ sh REGRAS.sh
$ iptables -t nat -L
$ iptables -L

---

3) Salve as regras
$ iptables-save > /etc/firewall/regras
---

4) Para que as regras salvas sejam recarregadas na inicialização do sistema, utilize o sistema SysV do Debian Linux, e se o seu runlevel padrão for o 2 defina um link para o script de carregamento descrito abaixo:
Link para inicialização: /etc/rc2.d/S92iniciafirewall
arquivo: iniciafirewall.sh
#!/bin/sh
modprobe iptable_nat
iptables-restore < /etc/firewall/regras
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

Pronto.
Lembre-se de nunca editar nenhum script no wordpad ou notepad, pois o vi possui assinatura. Qualquer dúvida me retorne o e-mail
Evandro
evandroaps@yahoo.com.br