Vous devez utiliser le routage basé sur des règles. Quelque chose comme
ip rule add from <source>/<mask> table <name>
ip route add 1.2.3.4/24 via <router> dev eth4 table <name>
<name>
est l'un ou l'autre des noms de table spécifiés dans /etc/iproute2/rt_tables
ou vous pouvez utiliser un identifiant numérique ...
Cela signifie à peu près que tout le trafic provenant de 1.2.3.4/24
sera acheminé à l'aide de la table de routage <name>
. IIRC n'utilise pas la table par défaut après avoir parcouru ceci, donc si vous avez besoin d'autres routes (c'est-à-dire la passerelle par défaut), vous devez également les ajouter à la table.
http://wiki.wlug.org.nz/SourceBasedRouting
Ce site a un bel exemple de routage basé sur la source.