Se eu entendi corretamente, você precisa de um roteamento baseado em política, principalmente roteamento baseado em origem. Aqui está um howto simples para fazer exatamente isso.
A idéia é que o roteamento tradicional faça sua escolha de roteamento observando o campo de endereço de destino no cabeçalho IP e comparando-o com sua tabela de roteamento. O roteamento baseado em política pode examinar outros campos ou até mesmo outros itens, como portas TCP. No caso de roteamento baseado em origem, ele olha para o campo de endereço de origem no cabeçalho IP.