você precisa de regras ip + iptables e tabelas de rota ip. 2 tabelas de rotas:
1st -- with default output via tun1.
2nd -- with default output via tun2.
Quando o pacote é recebido no tun1 - > iptables mangle marcam como 0x1, Então, a regra ip a encaminha via marca 0x1 para a primeira tabela de rotas. Então, quando a resposta for dada, o pacote passará pela interface recebida, não pelo padrão.
Mesma lógica para o tun2.
Eu não sei, se isso ajudar, mas tente também com rp_filter = 0 (esta opção do kernel para responder no pacote de interface foi recebida, ajuda com a LAN)
Eu fiz algo parecido, aqui está o artigo ive encontrado e repostado no meu antigo lj. Ainda não encontrei fonte.