I'v read a lot of samples about iproute2 configuration with two isp's, where describe how to setup source routing based on ip source address. This is very good, but how to setup iproute if not need base IP source address but need INTERFACE source?

Let me explain what i want:
I have a router (linuxbox with 3 ethernet cards) with connections to 2 ISP.

#ifconfig
eth0: 197.54.13.112/30
eth2: 17.12.21.47/30
eth1: 192.168.100.1/24

#ip rule ls
0: from all lookup local
32758: from 197.54.13.112 lookup 112
32764: from 17.12.21.47 lookup 47
32766: from all lookup main
32767: from all lookup default

#ip route sh table 112
default via 197.54.13.113 dev eth0

#ip route sh table 47
default via 17.12.21.48 dev eth2

Also I have default gw to second ISP:
route add default gw 17.12.21.48

Everything works fine - if the IP packet comes from internet to 197.54.13.112 address it is routing back to eth0 and the same situation with eth2 - this is very good!


But now I am plannig to add NEW network: 156.17.17.0/24, the main feature of this network that it is Provider Independed Network and this network visible from BOTH ISPs simultaneously. I setup this new network as alias on eth1 interface - eth1:1. And now if the packets for 156.17.17.0/24 network comes from isp1 - the answer packets go via eth2 (isp2) - becouse default gw 17.12.21.48. This is not normal situation - but how to resolve it with iproute - i don't know