Linux ip route matching the source ip

Solution 1:

Yes that's called source routing :

ip rule add from 10.0.0.10 table toto

ip route add default via 88.88.88.88 dev eth1 table toto

You can have more informations here :

source routing in the lartc guide

Solution 2:

Any routing decisions based not on destination IP address called PBR (policy-based routing). Usually, PBR is implemented via firewall, so look for possibility to change out interface for packet in iptables.