Problema resolvido.
Eu tentei definir a regra ip para toda a rede 172.31.0.0/20, isso está errado.
Quando eu uso ip privado da interface de rede secundária, tudo funciona bem.
ip route add default via 172.31.10.172 dev eth1 table out
ip rule add from 172.31.10.172 table out
em que 172.31.10.172 é ip privado da interface de rede eth1
Em vez de "ip rule add from 172.31.0.0/20 sair da tabela ..."
P.S. Muito obrigado a Tomas Nevar