Відповіді:
Вам потрібно використовувати маршрутизацію на основі політики. Щось подібне
ip rule add from <source>/<mask> table <name>
ip route add 1.2.3.4/24 via <router> dev eth4 table <name>
<name>
або ім'я таблиці, вказане в, /etc/iproute2/rt_tables
або ви можете використовувати числовий ідентифікатор ...
Це в значній мірі говорить про те, що весь трафік від 1.2.3.4/24
буде спрямований за допомогою таблиці маршрутизації <name>
. IIRC він не використовує таблицю за замовчуванням після цього, тому якщо вам потрібні інші маршрути (тобто шлюз за замовчуванням), вам потрібно також додати їх до таблиці.
http://wiki.wlug.org.nz/SourceBasedRouting
На цьому сайті є хороший приклад маршрутизації на основі джерела.
ip route add default dev eth4 table <name>
(table
директива має йти в кінці, я думаю, як і в першій команді ... такожdefault
можна замінити підмережу, як у вашому прикладі) )