Ambas as configurações são praticamente as mesmas com algumas nuances.
iface lo inet loopback
dns-nameservers 127.0.0.1
pre-up iptables-restore < /etc/network/iptables.rules
Esta configuração irá garantir que, mesmo que o seu cabo eth0 esteja desligado durante a inicialização, você ainda terá um resolvedor de DNS e um conjunto de regras de firewall (é difícil se livrar do dispositivo de rede de loopback?). Claro que este exemplo presume que você terá um serviço de resolução de DNS em execução localmente.
Não vejo nenhum problema com a configuração de um dispositivo de ponte. Esta configuração deve funcionar sem nenhum problema, mas você não acha realmente necessário no seu caso, a menos que você esteja planejando algo que vai usá-la (máquinas virtuais KVM, por exemplo).
No primeiro caso, as regras do iptables são escritas para um script de shell e é por isso que sua sintaxe parece diferente de /etc/network/iptables.rules, que deve ser usada com o iptables-restore.
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 172.16.0.1/24 ! -d 172.16.0.1/24 -j MASQUERADE
COMMIT
Há apenas uma regra aqui e ela permite que a sub-rede 172.16.0.0/24 seja mascarada.
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
As regras acima permitem que qualquer subnet proveniente de eth1 a eth0 seja mascarada com alguma filtragem envolvida.
Pessoalmente prefiro ir com uma mistura de configurações acima.