Não se trata de marcar pacotes com o iptables, mas de usar duas tabelas de roteamento distintas. Você precisa fazer isso porque você terá dois gateways padrão, e isso só é possível se você tiver duas tabelas de roteamento totalmente distintas, com regras apropriadas definindo quando aplicar cada uma.
O procudere normal para configurar um sistema de tabela de dois roteiros é o seguinte:
Primeiro, crie duas tabelas (substitua NAME1 e NAME2 por nomes que significam algo para você, mesmo com IP1, DEV1 e assim por diante):
echo 200 <NAME1> >> /etc/iproute2/rt_tables
echo 201 <NAME2> >> /etc/iproute2/rt_tables
Adicione um gateway a cada tabela de roteamento (se necessário):
ip route add <NET1> dev <DEV1> src <SRC1> table <NAME1>
ip route add <NET2> dev <DEV2> src <SRC2> table <NAME2>
Em seguida, uma rota padrão:
ip route add default via <IP1> table <NAME1>
ip route add default via <IP2> table <NAME2>
Em seguida, as regras para selecionar a tabela de rotas com base no endereço de origem:
ip rule add from <IP1> table <NAME1>
ip rule add from <IP2> table <NAME2>
No seu caso, isso é ainda mais simples porque iniciar a VPN configurará automaticamente a tabela de roteamento principal para você, e você só precisa fazer isso para a outra tabela de roteamento. Na regra acima, IP1 deve ser o endereço IP da interface tun / tap e IP2 o endereço IP da outra interface (que pode ser eth0 ou wlan0, ou qualquer outro).
Como para outras aplicações que iniciam uma conexão do seu pc, você terá que apenas vinculá-las a qualquer NIC.
EDITAR:
Agora que vejo a imagem da configuração que você está tentando realizar, vejo que a solução que propus acima não está correta, porque você não deseja ter todo o tráfego roteado através da VPN, apenas aquela destinada à outra LAN. Isso é muito mais fácil .
Esqueça tudo sobre duas tabelas de roteamento e o roteamento de políticas. Apague a segunda tabela de roteamento. Inicie sua VPN, certifique-se de que nem o cliente nem o servidor contenham uma instrução contendo as palavras redirect-gateway df1 . Em seguida, em seu servidor inicial, emita os seguintes comandos como sudo:
ip route add 192.168.57.0/24 via 192.168.162.5
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
enquanto no seu roteador de trabalho, problema, novamente como sudo, esses dois comandos:
ip route add 192.168.112.0/24 via 192.168.162.9
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
As capitais, quando presentes, são necessárias.