Risposte:
È necessario utilizzare il routing basato su criteri. Qualcosa di simile
ip rule add from <source>/<mask> table <name>
ip route add 1.2.3.4/24 via <router> dev eth4 table <name>
<name>
è il nome della tabella specificato in /etc/iproute2/rt_tables
oppure è possibile utilizzare l'id numerico ...
Questo dice praticamente che tutto il traffico proveniente 1.2.3.4/24
verrà instradato utilizzando la tabella di routing <name>
. IIRC non utilizza la tabella predefinita dopo aver attraversato questo, quindi se hai bisogno di altri percorsi (ad es. Gateway predefinito), devi aggiungerli anche alla tabella.
http://wiki.wlug.org.nz/SourceBasedRouting
Questo sito ha un bell'esempio di routing basato sull'origine.
ip route add default dev eth4 table <name>
(latable
direttiva dovrebbe andare alla fine penso, proprio come nel primo comando ...default
può anche essere sostituita da una sottorete, proprio come nel tuo esempio )