Вам нужно использовать политику на основе маршрутизации. Что-то вроде
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 после этого не использует таблицу по умолчанию, поэтому, если вам нужны другие маршруты (например, шлюз по умолчанию), вам необходимо добавить их и в таблицу.