I have a 3 interface Mikrotik
E1: 192.168.1.0/24
E2: 172.16.1.0/24
E3: Connection to my DSL modem using PPPoE
And a one interface router on E2 with a default route to the E2 interface of the Mikrotik
I have SrcNAT configured to masquerade all traffic that traverses the pppoe interface
All works fine and I can browse the internet. Problem starts when I configure mangle (PBR) and send all port 80 traffic coming on interface E1 and sending it to my second router connected on E2. The second router has a default route to send traffic back to the Mikrotik router via E2. So the traffic path is user to E1, E2 to Router-2, Router-2 to E2, PPPoE to Internet
When this happens the Mikrotik router does not invoke the srcNAT chain when the packet goes from E2 to PPPoE. It is invoke from E1 to E2, but since SrcNAT is not configured on that outgoing interface it does not NAT, which is expected. However it shold nat after postrouting from E2 to PPPoE
See the log
00:02:06 firewall,info prerouting: in:E1 out:(none), src-mac c8:bc:c8:f0:0a:c0, proto TCP (SYN), 192.168.1.252:54769->38.113.1.225:80, len 52
00:02:06 firewall,info dstnat: in:E1 out:(none), src-mac c8:bc:c8:f0:0a:c0, proto TCP (SYN), 192.168.1.252:54769->38.113.1.225:80, len 52
00:02:06 firewall,info forward: in:E1 out:E2, src-mac c8:bc:c8:f0:0a:c0, proto TCP (SYN), 192.168.1.252:54769->38.113.1.225:80, len 52
00:02:06 firewall,info postrouting: in:(none) out:E2, proto TCP (SYN), 192.168.1.252:54769->38.113.1.225:80, len 52
00:02:06 firewall,info srcnat: in:(none) out:E2, proto TCP (SYN), 192.168.1.252:54769->38.113.1.225:80, len 52
00:02:06 firewall,info prerouting: in:E2 out:(none), src-mac 00:50:73:26:e3:c0, proto TCP (SYN), 192.168.1.252:54769->38.113.1.225:80, len 52
00:02:06 firewall,info forward: in:E2 out:pppoe-out1, src-mac 00:50:73:26:e3:c0, proto TCP (SYN), 192.168.1.252:54769->38.113.1.225:80, len 52
00:02:06 firewall,info postrouting: in:(none) out:pppoe-out1, proto TCP (SYN), 192.168.1.252:54769->38.113.1.225:80, len 52