Não há maneira prática de selecionar rotas diferentes em uma base aplicativo por aplicativo ou processo a processo. (O Linux tinha um por vez: iptables --cmd-owner
, mas isso desapareceu no kernel 2.6.14). Consulte Linux: restringindo a saída com base em um aplicativo .
Você pode selecionar rotas diferentes, usuário a usuário, com iptables --uid-owner
ou selecionar rotas diferentes para máquinas virtuais diferentes. Assim, dados seus requisitos, você pode usar iptables
, contanto que você execute o proxy como um usuário dedicado.
ip rule add fwmark 1 table 1
ip route add 0.0.0.0/0 table 1 dev tun0
iptables -t mangle -A OUTPUT -m owner --uid-owner proxy -j MARK --set-mark 1
Consulte Conexão de rede dupla para obter explicações.