Policy Routing Madness !

Hello,

I have MT with 4 Network Cards :

1 Net Public1
2 Net Public2
3 Net Private1
4 Net Private2

I use Masquerade on the Public interfaces :
/ip firewall nat add chain=srcnat action=masquerade out-interface=Public1
/ip firewall nat add chain=srcnat action=masquerade out-interface=Public2

I have some servers on Public1 Network, and want :
Private1 to go out on Public1
Private2 to go out on Public2
Private1 to see servers on Public1 net
Private2 to see servers on Public1 net
Private1 to see Private2; Private2 to see Private1

If I use Policy Routing, Private2 can see servers on Public1 net only going thru the Public2 and all the Internet :confused:
If make some simple Mangle roules to avoid that…MSN doesn’t work anymore :frowning:
It seems if I use Mangle to make Policy Routing the MT ignore DAC (direct conected networks).
Any body Help?
Thanks, sory for bad english.

In mangle chain prerouting create routing marks and use special routing mark for specific subnet. First get rid of the client-client traffic, by accepting it before marking!