Isso não faz sentido:
iptables -A OUTPUT -p tcp -m state --state ESTABLISHED -j ACCEPT
deve ser
iptables -A FORWARD -m state --state ESTABLISHED -j ACCEPT
e deve ser a primeira regra FORWARD. A criação de log provavelmente deve ser limitada a novas conexões:
iptables -A FORWARD -s 172.16.0.1/32 -m conntrack --ctstate NEW -j LOG --log-prefix "** TRACING FORWARD CHAIN **"
Editar 1
Caso este sistema não seja o gateway para 10.0.0.100 (o gateway padrão ou pelo menos o gateway para 172.16.0.0), você também precisará do SNAT:
iptables -t nat -A POSTROUTING -s 172.16.0.1/32 -d 10.0.0.100 -j SNAT --to-source 10.0.0.x # the eth0 IP
Use o tcpdump para verificar quais pacotes deixam o sistema via eth0 e quais voltam.