How to route only specific subnet (source ip) to a particular interface?
I know I can do easily by destination IP by using something like
route add 188.8.131.52/24 dev eth4
but I do not see how can route based on source IP.
You need to use policy based routing. Something kind of like
ip rule add from <source>/<mask> table <name> ip route add 184.108.40.206/24 via <router> dev eth4 table <name>
<name> is either table name specified in
/etc/iproute2/rt_tables or you can use numeric id ...
This pretty much says, that all traffic from
220.127.116.11/24 will be routed using routing table
<name>. IIRC it doesen't use the default table after going through this, so if you need other routes (ie. default gateway), you need to add them to the table as well.