Load balancing problem

Hi All
I’m new to the RouterOs platform so please bear with me if I sound a little stupid. I’ve attempted to implement load balancing on my router and it does not work as expected. I have two WAN’s a 30Mb leased line and a 70Mb dsl line, in general the leased line is the more stable and is symmetrical so I have set is as the closest route. I copied the setup from the online help example but what appears to happen is that I can see traffic being sent out of the dsl line but not being received, so clients experience drop outs of web pages and sites. I’ve had to disable the route I created to give a more stable connection. In time when I’m more familiar I’d like to setup a more intricate balancing system, such as social media traffic, music streaming etc being pushed to the dsl connection but for now a basic load balance would be good. Please can someone advise where I am going wrong? If you need more information then please ask. I have looked through lots of other posts but not come across this behaviour. If I disable the leased line then the DSL line works fine and vice versa but it doesn’t work when they are both active.

/ip route
add check-gateway=ping disabled=yes distance=1 gateway=192.168.1.254
routing-mark=to_infinity ** I’ve disabled this to give stability
add check-gateway=ping distance=1 gateway=217.xxx.xxx.xxx routing-mark=
to_leased
add check-gateway=ping distance=1 gateway=217.xxx.xxx.xxx
add check-gateway=ping distance=2 gateway=192.168.1.254

/ip firewall mangle
add action=accept chain=prerouting dst-address=192.168.1.0/24 in-interface=
bridge1
add action=accept chain=prerouting dst-address=217.xxx.xxx.xxx/29 in-interface=
bridge1
add action=mark-connection chain=prerouting connection-mark=no-mark
in-interface=BTInfinity new-connection-mark=BTInfinity_conn passthrough=
no
add action=mark-connection chain=prerouting connection-mark=no-mark
in-interface=BTLeased new-connection-mark=BTLeased_conn passthrough=no
add action=mark-connection chain=prerouting connection-mark=no-mark
dst-address-type=!local in-interface=bridge1 new-connection-mark=
BTInfinity_conn passthrough=no per-connection-classifier=
both-addresses:2/0
add action=mark-connection chain=prerouting connection-mark=no-mark
dst-address-type=!local in-interface=bridge1 new-connection-mark=
BTLeased_conn passthrough=no per-connection-classifier=both-addresses:2/1
add action=mark-routing chain=prerouting connection-mark=BTInfinity_conn
in-interface=bridge1 new-routing-mark=to_infinity passthrough=no
add action=mark-routing chain=prerouting connection-mark=BTLeased_conn
in-interface=bridge1 new-routing-mark=to_leased passthrough=no
add action=mark-routing chain=output connection-mark=BTInfinity_conn
new-routing-mark=to_infinity passthrough=no
add action=mark-routing chain=output connection-mark=BTLeased_conn
new-routing-mark=to_leased passthrough=no
/ip firewall nat
add action=masquerade chain=srcnat out-interface=BTLeased
add action=masquerade chain=srcnat out-interface=BTInfinity


Thanks
Adrian

First, I think you want passthrough=yes on your mangle rules for marking the connection and marking the routing.

In your routing table, you would want routes to your LAN for each routing mark as well

(In this example the LAN is 192.168.10.x, change to your LAN):

/ip route
add distance=1 dst-address=192.168.10.0/24 gateway=bridge routing-mark=to_infinity
add distance=1 dst-address=192.168.10.0/24 gateway=bridge routing-mark=to_leased

Try adding the following routing rules:

/ip route rule
add action=lookup-only-in-table routing-mark=to_infinity table=to_infinity
add action=lookup-only-in-table routing-mark=to_leased table=to_leased

I wrote this post to help (granted it uses DHCP for the WANs, but the routing/firewall rules are the same)
http://forum.mikrotik.com/t/dualwan-howto-w-dhcp/123262/1

Thanks for the help. The passthrough switch made the difference. Interesting that the online help article did not have that as the code?
https://wiki.mikrotik.com/wiki/Manual:PCC