Seu roteamento dos pacotes através de eth1 ou eth0. tabelas mangle deve abordar isso. Para fazer isso, eu tive que marcar os pacotes e configurar regras para lidar com isso. Primeiro, adicione uma regra que torne os pacotes de rota do kernel marcados com 2 através da tabela
ip rule add fwmark 2 table 3
Adicione uma rota para redirecionar o tráfego em uma interface diferente, supondo que o gateway seja 10.0.0.1:
ip route add default via 10.0.0.1 table 3
Liberar seu cache de roteamento.
ip route flush cache
Agora, defina uma regra de firewall para marcar os pacotes designados:
iptables -t mangle -A OUTPUT -p tcp --dport 465 -j MARK --set-mark 2
Finalmente, relaxe a validação da origem do caminho inverso. Alguns sugerem que você o defina como 0, mas 2 parece uma escolha melhor de acordo com https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt
. Se você ignorar isso, receberá pacotes (isso pode ser confirmado usando tcpdump -i tap0 -n
), mas os pacotes não serão aceitos. O comando para alterar a configuração para que os pacotes sejam aceitos:
sysctl -w net.ipv4.conf.tap0.rp_filter=2
Referência: http://serverfault.com/questions/345111/iptables-target-to-route-packet-to-specific-interface