Pomocí iproute2 můžete udělat něco takového:
echo "1 admin" >> /etc/iproute2/rt_tables
echo "2 users" >> /etc/iproute2/rt_tables
ip rule add from 192.168.122.40/32 dev eth0 table admin
ip rule add from 192.168.123.41/32 dev eth1 table users
ip route add default via 192.168.122.1 dev eth0 table admin
ip route add default via 192.168.123.1 dev eth1 table users
Nyní budete mít dvě směrovací tabulky se dvěma bránami.
Tento jev se nazývá unicast rpf (reverse path forwarding) jako standardní, ale v Linuxu filtr zpětné cesty. Toto můžete zakázat bez jakýchkoli důležitých negativních důsledků (pokud nejste poskytovatel internetových služeb a router).
echo 0 > /proc/sys/net/ipv4/conf/default/rp_filter
Pak by váš příklad měl fungovat tak, jak chcete.