O que você está querendo é chamado de roteamento de políticas ( ou roteamento baseado em regras ) , onde o processo de roteamento olha para algo diferente do destino (além do destino) para sua tomada de decisão. Isso pode ser feito com ip
usando o comando rule
:
# echo '1 tunroute' >> /etc/iproute2/rt_tables
# ip rule add from 12.12.12.12/24 table tunroute
# ip route add default via {tun0-address} dev tun0 table tunroute
Você só precisa executar o primeiro comando uma vez, pois ele estabelece um alias; tecnicamente, você não precisa se quiser usar apenas números de tabelas.