Probably better to post this to netdev?
SNAT'ing locally sourced traffic? That's pretty nasty.
Look into using 'ip rule' and a second routing table.
http://lartc.org/howto/lartc.rpdb.html
You will still need use iptables/MARK to do L4 (tcp/udp/etc) policy
routing though, however now you can dump the ugly SNATing.
Cheers
--
Alexander Clouter
.sigmonster says: Where do your SOCKS go when you lose them in th' WASHER?
--