Good afternoon. There are 2 providers. Tuned balancing channels, everything works. But they fall (not at the same time) decided to do the filo. With one provider mostly and the second as a backup, there are no problems, but with the two main ones, I can not understand the logic.
192.168.0.0 - ISP1
192.168.1.0 - ISP2
192.168.2.0 - ISP3
10.0.0.0 - LAN
00.01_pppoe-ISP - ISP1 interface
00.02_pppoe-ISP - ISP2 interface
Load balancing
/ip firewall mangle add action=mark-connection chain=input in-interface=00.01_pppoe-ISP new-connection-mark=cin_ISP1
/ip firewall mangle add action=mark-connection chain=input in-interface=00.02_pppoe-ISP new-connection-mark=cin_ISP2
/ip firewall mangle add action=mark-routing chain=output connection-mark=cin_ISP1 new-routing-mark=rout_ISP1 passthrough=no
/ip firewall mangle add action=mark-routing chain=output connection-mark=cin_ISP2 new-routing-mark=rout_ISP2 passthrough=no
/ip route add distance=1 gateway=192.168.0.0 routing-mark=rout_ISP1 check-gateway=ping
/ip route add distance=1 gateway=192.168.1.0 routing-mark=rout_ISP2 check-gateway=ping
/ip firewall mangle add src-address=10.0.0.0/24 action=mark-routing chain=prerouting new-routing-mark=lan_out_ISP1 nth=2,1
/ip firewall mangle add src-address=10.0.0.0/24 action=mark-routing chain=prerouting new-routing-mark=lan_out_ISP2 nth=2,2
/ip route add distance=1 gateway=192.168.0.0 routing-mark=lan_out_ISP1 check-gateway=ping
/ip route add distance=1 gateway=192.168.1.0 routing-mark=lan_out_ISP2 check-gateway=ping
/ip route add distance=2 gateway=192.168.0.0 routing-mark=lan_out_ISP1
/ip route add distance=2 gateway=192.168.1.0 routing-mark=lan_out_ISP2
Failover
/ip firewall mangle
add action=mark-connection chain=input in-interface=00.01_pppoe-ISP \
new-connection-mark=Input/ISP1
add action=mark-routing chain=output connection-mark=Input/ISP1 \
new-routing-mark=ISP1 passthrough=no
add action=mark-connection chain=input in-interface=00.02_pppoe-ISP \
new-connection-mark=Input/ISP2
add action=mark-routing chain=output connection-mark=Input/ISP2 \
new-routing-mark=ISP2 passthrough=no
add action=mark-connection chain=input in-interface=09.02_pppoe-ISP \
new-connection-mark=Input/ISP3
add action=mark-routing chain=output connection-mark=Input/ISP3 \
new-routing-mark=ISP3 passthrough=no
/ip route rule
add action=lookup-only-in-table routing-mark=ISP1 table=ISP1
add action=lookup-only-in-table routing-mark=ISP2 table=ISP2
add action=lookup-only-in-table routing-mark=ISP2 table=ISP3
/ip route
add distance=1 gateway=192.168.0.0 routing-mark=ISP1
add distance=1 gateway=192.168.1.0 routing-mark=ISP2
add distance=1 gateway=192.168.3.0 routing-mark=ISP3
add distance=1 dst-address=8.8.4.4/32 gateway=1192.168.1.0 scope=10
add distance=1 dst-address=8.8.8.8/32 gateway=192.168.0.0 scope=10
add distance=1 dst-address=8.8.8.8/32 gateway=192.168.2.0 scope=10
add check-gateway=ping distance=1 gateway=8.8.8.8 target-scope=30
add check-gateway=ping distance=2 gateway=8.8.4.4 target-scope=30
add check-gateway=ping distance=3 gateway=8.8.4.4 target-scope=30
/ip firewall address-list
add list="BOGONS" address=0.0.0.0/8
add list="BOGONS" address=10.0.0.0/8
add list="BOGONS" address=100.64.0.0/10
add list="BOGONS" address=127.0.0.0/8
add list="BOGONS" address=169.254.0.0/16
add list="BOGONS" address=172.16.0.0/12
add list="BOGONS" address=192.0.0.0/24
add list="BOGONS" address=192.0.2.0/24
add list="BOGONS" address=192.168.0.0/16
add list="BOGONS" address=198.18.0.0/15
add list="BOGONS" address=203.0.113.0/24
add list="BOGONS" address=198.51.100.0/24
add list="BOGONS" address=224.0.0.0/3
/ip firewall mangle
add action=mark-routing chain=output dst-address-list=!BOGONS \
new-routing-mark=ISP1 src-address=10.0.0.1
add action=mark-routing chain=output dst-address-list=!BOGONS \
new-routing-mark=ISP2 src-address=10.0.1.1
add action=mark-routing chain=output dst-address-list=!BOGONS \
new-routing-mark=ISP3 src-address=10.0.2.1
/ip firewall mangle
add action=mark-connection chain=prerouting in-interface=00.01_pppoe-ISP \
new-connection-mark=Forward/ISP1
add action=mark-routing chain=prerouting connection-mark=Forward/ISP1 \
in-interface=!00.01_ppoe-ISP new-routing-mark=ISP1 passthrough=no
add action=mark-connection chain=prerouting in-interface=00.02_pppoe-ISP \
new-connection-mark=Forward/ISP2
add action=mark-routing chain=prerouting connection-mark=Forward/ISP2 \
in-interface=!00.02_ppoe-ISP new-routing-mark=ISP2 passthrough=no
add action=mark-connection chain=prerouting in-interface=00.03_pppoe-ISP \
new-connection-mark=Forward/ISP3
add action=mark-routing chain=prerouting connection-mark=Forward/ISP3 \
in-interface=!09.SXT new-routing-mark=ISP3 passthrough=no
Will this scheme work? Or where am I wrong?