This is the routing table in my system:
[admin@MikroTik] ip route> print detail Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf 0 ADC dst-address=85.xx.xx.xx/30 prefsrc=85.xx.xx.xx interface=1-2 Bond scope=10 target-scope=0 1 ADC dst-address=192.168.1.0/24 prefsrc=192.168.1.254 interface=3-Internal scope=10 target-scope=0 2 ADC dst-address=195.xx.xx.xx/30 prefsrc=195.xx.xx.xx interface=1-2 Bond scope=10 target-scope=0 3 A S dst-address=0.0.0.0/0 gateway=85.xx.xx.xx interface=1-2 Bond gateway-state=reachable scope=255 target-scope=10 routing-mark=route_ISP1 4 A S dst-address=0.0.0.0/0 gateway=195.xx.xx.xx interface=1-2 Bond gateway-state=reachable scope=255 target-scope=10 routing-mark=route_ISP2 5 A S dst-address=0.0.0.0/0 gateway=85.xx.xx.xx interface=1-2 Bond gateway-state=reachable scope=255 target-scope=10 [admin@MikroTik] ip route>
The mangle chain looks like this:
[admin@MikroTik] ip firewall mangle> print Flags: X - disabled, I - invalid, D - dynamic . . . 7 ;;; Mark traffic initiated by Mikrotik chain=output out-interface=1-2 Bond connection-state=new action=mark-connection new-connection-mark=conn_Mikrotik passthrough=yes 8 chain=output out-interface=1-2 Bond connection-mark=conn_Mikrotik action=mark-routing new-routing-mark=route_ISP1 passthrough=no [admin@MikroTik] ip firewall mangle>
Both rule #7 and 8 work, the counter gets incremented as traffic is initiated from Mikrotik (via the terminal),
BUTif the routing rule #5 as per above does not exist / is disabled then none of this traffic will exit Mikrotik, the answer "no route to host" is shown in the Mikrotik terminal.
Strange