Respostas:
Você precisa usar o roteamento baseado em políticas. Algo como
ip rule add from <source>/<mask> table <name>
ip route add 1.2.3.4/24 via <router> dev eth4 table <name>
<name>
é o nome da tabela especificado em /etc/iproute2/rt_tables
ou você pode usar o ID numérico ...
Isso praticamente diz que todo o tráfego 1.2.3.4/24
será roteado usando a tabela de roteamento <name>
. Como o IIRC não usa a tabela padrão depois de passar por isso, se você precisar de outras rotas (por exemplo, gateway padrão), precisará adicioná-las à tabela também.
http://wiki.wlug.org.nz/SourceBasedRouting
Este site tem um bom exemplo de roteamento baseado em fonte.
ip route add default dev eth4 table <name>
(table
directiva deve ir no final eu acho que, assim como no primeiro comando ... tambémdefault
pode ser substituída por uma sub-rede, assim como no seu exemplo )