Gateway Check on DSL external interface

Hi all,

Been trying to get this working for a few days now. Basically the setup is that we have 3 ADSL routers plugged into a RouterBoard, the ISP does the download load balancing and send the traffic according down each line to a routed block. I want the MT to do the upload load balancing via the MT, obviously we don’t have to use any special NAT rules as the ISP takes care of load balancing and will the upload traffic from the routed block to go via any of the three routers. So the MT has an address on the block and each of the three ADSL modems have an address from this block. The idea is that the MT does round robin routing to each modem and I can get is working fine if I use the local ip address of the routers in the gateway address of the default route.

Here is where the problem lies, as if one of the wan interfaces goes down then the MT still trys to route traffic to the router and we end up with massive packet loss…

Therefore I then tried the following solution;
/ip route
add dst-address=wanofgw1 gateway=GW1 scope=10
add dst-address=wanofgw2 gateway=GW2 scope=10
add dst-address=wanofgw3 gateway=GW3 scope=10

add check-gateway=ping distance=1 dst-address=0.0.0.0/0 gateway=wanofgw1,wanofgw2,wanofgw3 scope=30 target-scope=10
add dst-address=wanofgw1 type=blackhole distance=20
add dst-address=wanofgw2 type=blackhole distance=20
add dst-address=wanofgw3 type=blackhole distance=20

Now logic says that this should work, but if I pull the plug on the dsl connection of any of the gateways they still state that they are ‘recursivly via GW1/2/3’ respectivly.. I cannot ping them from the MT and I even have them monitored by netwatch which also states that the hosts are down, but the default route still assumes that the hosts are reachable so therefore keeps sending packets.

Is there anything I am missing or am I going about it the wrong way? Any help would be really appreciated.

Kind regards
Jamie

PS
I have been making reference to the follwoing articles and posts;
http://wiki.mikrotik.com/wiki/Advanced_Routing_Failover_without_Scripting
http://wiki.mikrotik.com/wiki/Two_gateways_failover
and this useful topic: viewtopic.php?f=2&t=41316&start=50

http://forum.mikrotik.com/t/ping-dst-address-not-my-gw/40758/1

Hiya,

I think I am having a slightly different problem, here is my routing table and I am trying to test my default gateway setup by using the route back to my home machine (80.2.73.13/32). Here is the routing tables and an export;

Any ideas?

[admin@OakleyRB] > ip route print
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit

DST-ADDRESS PREF-SRC GATEWAY DISTANCE

0 A S ;;; IDNet bound traffic
0.0.0.0/0 212.69.38.99 212.69.38.98 1
1 A S ;;; BEThere bound traffic
0.0.0.0/0 78.105.114.75 78.105.112.1 1
2 A S ;;; Default AAISP bonded
0.0.0.0/0 81.187.84.209 81.187.84.222 1
3 ADC 10.40.0.0/16 10.40.1.1 ether2 0
4 ADC 78.105.112.0/21 78.105.114.75 ether4 0
5 A S ;;; BEThere Gateway
78.105.112.1/32 78.105.114.75 ether4 1
6 X S 80.2.73.13/32 81.187.52.16 1
81.187.164.216
81.187.244.77
7 ADC 81.2.98.200/29 81.2.98.206 loopback-bridge 0
8 A S ;;; Line 3 WAN Interface
81.187.52.16/32 81.187.84.209 81.187.84.220 1
9 SB 81.187.52.16/32 20
10 ADC 81.187.84.208/28 81.187.84.209 aaisp-bridge 0
11 ADC 81.187.113.0/26 81.187.113.1 vlan1-bridge 0
12 A S ;;; Line 2 WAN Interface
81.187.164.216/32 81.187.84.209 81.187.84.221 1
13 SB 81.187.164.216/32 20
14 ADC 81.187.241.128/27 81.187.241.129 vlan3 0
15 A S ;;; Line 1 WAN Interface
81.187.244.77/32 81.187.84.209 81.187.84.222 1
16 SB 81.187.244.77/32 20
17 ADC 212.69.38.96/29 212.69.38.99 ether3 0
18 ADC 212.69.38.104/29 212.69.38.105 vlan4 0

/ip route
add check-gateway=ping comment=“IDNet bound traffic” disabled=no distance=1
dst-address=0.0.0.0/0 gateway=212.69.38.98 pref-src=212.69.38.99
routing-mark=idnet-traffic scope=30 target-scope=10
add check-gateway=ping comment=“BEThere bound traffic” disabled=no distance=1
dst-address=0.0.0.0/0 gateway=78.105.112.1 pref-src=78.105.114.75
routing-mark=bethere scope=30 target-scope=10
add check-gateway=ping comment=“Default AAISP bonded” disabled=no distance=1
dst-address=0.0.0.0/0 gateway=81.187.84.222 pref-src=81.187.84.209 scope=
30 target-scope=10
add check-gateway=ping comment=“BEThere Gateway” disabled=no distance=1
dst-address=78.105.112.1/32 gateway=ether4 pref-src=78.105.114.75 scope=10
target-scope=10
add check-gateway=ping comment=“” disabled=yes distance=1 dst-address=
80.2.73.13/32 gateway=81.187.52.16,81.187.164.216,81.187.244.77 scope=30
target-scope=10
add check-gateway=ping comment=“Line 3 WAN Interface” disabled=no distance=1
dst-address=81.187.52.16/32 gateway=81.187.84.220 pref-src=81.187.84.209
scope=10 target-scope=10
add comment=“” disabled=no distance=20 dst-address=81.187.52.16/32 type=
blackhole
add check-gateway=ping comment=“Line 2 WAN Interface” disabled=no distance=1
dst-address=81.187.164.216/32 gateway=81.187.84.221 pref-src=81.187.84.209
scope=10 target-scope=10
add comment=“” disabled=no distance=20 dst-address=81.187.164.216/32 type=
blackhole
add check-gateway=ping comment=“Line 1 WAN Interface” disabled=no distance=1
dst-address=81.187.244.77/32 gateway=81.187.84.222 pref-src=81.187.84.209
scope=10 target-scope=10
add comment=“” disabled=no distance=20 dst-address=81.187.244.77/32 type=
blackhole
/ip route rule
add action=lookup comment=“” disabled=no dst-address=81.187.113.0/26 table=
main
add action=lookup comment=“” disabled=no dst-address=212.69.38.96/29 table=
main
add action=lookup comment=“” disabled=no dst-address=212.69.38.104/29 table=
main
add action=lookup comment=“” disabled=no dst-address=10.40.0.0/16 table=main
add action=lookup comment=“” disabled=no dst-address=81.187.241.128/27 table=
main
add action=lookup comment=“” disabled=no dst-address=81.2.98.200/29 table=main
add action=lookup comment=“” disabled=no dst-address=81.187.84.208/28 table=
main