So basic no load balancing but
a. strict routing LAN1 to WAN1
B. LAN2 to WAN2
And failover in case one or the other fails, the other can be used.
Perhaps
mark routing prerouting IN-Interface LAN, source address list (create 192.168.xx.2-192.168.xx.254) action mark routing new mark LAN1_Traffic
mark routing prerouting IN-Interface LAN, source address list (create 192.168.yy.2-192.168.yy.254) action mark routing new mark LAN2_Traffic
Ensure you make two srcnat masquerade rules one for each LAN.
I believe this will ensure that outgoing traffic going out on a specific WAN (as per the routing below) when returned on the same WAN will get properly sent to the correct LAN.
Make two routing rules…
Destination 0.0.0.0
Gateway, the actual Gateway IP address provided by ISP1
Check gateway: ping
Distance = 1
Routing Mark LAN1_Traffic (from xx)
Destination 0.0.0.0
Gateway, the actual Gateway IP address provided by ISP2
Check gateway: ping
Distance = 1
Routing Mark LAN2_Traffic (from yy)
Now where I am not sure is how to do the fail over…
I believe it may involve more routing rules… for a total of FOUR!
LAN1
Destination 0.0.0.0 Gateway (IP address WAN1) CheckGateway: Ping, Distance = 1 Routing Mark - LAN1_Traffic
Destination 0.0.0.0 Gateway (IP address WAN2) CheckGateway: Ping, Distance = 2 Routing Mark - LAN1_Traffic
LAN2
Destination 0.0.0.0 Gateway (IP address WAN2) CheckGateway: Ping, Distance = 1 Routing Mark - LAN2_Traffic
Destination 0.0.0.0 Gateway (IP address WAN1) CheckGateway: Ping, Distance = 2 Routing Mark - LAN2_Traffic
In this way all LAN1 traffic will get routed to WAN1 with the lesser distance.
If the ping returns no results, the LAN1 traffic will be routed through WAN2, until WAN1 comes back online
Conversely, all LAN2 traffic will get routed to WAN2 with the lesser distance of 1
If the ping return no results, the LAN2 traffic will get routed through WAN1, until WAN2 comes back online.
Hope that is close!