O seguinte funciona muito bem para mim, não tenho certeza se é perfeito, mas parece sensato o suficiente.
iptables -A FORWARD -i eth0 -o tun+ -j ACCEPT
iptables -A FORWARD -i eth0 -o tun+ \! -d 178.79.178.75 -j DROP
Simples para quem sabe, indecifrável para quem não ...
Estou executando o openVPN em (hipotético) 66.66.66.66, eu quero FORWARD tráfego de entrada, chegando na interface eth0 para interface tun0.
Também seria bom filtrar - com base no endereço IP de destino. Eu estou fazendo o NAT mais tarde, mas gostaria de bloquear mais cedo, sempre que possível.
Então, no prato principal ...
Isso funciona:
#Enable forwarding from eth0 to tun0
iptables -A FORWARD -i eth0 -o tun+ -j ACCEPT
Mas isso não passa nenhum pacote:
#Stricter version
iptables -A FORWARD -i eth0 -o tun+ --dst 66.66.66.66 -j ACCEPT
Estou sendo inaceitavelmente tola?