Primary gateway with static ip address not activating

No, the target scope of the "main" route (through the canary address) should be +1 of the "narrow" route, and this latter +1 of scope, (and scopes can be all the same like 10), It may not be strictly speaking 100% correct, but it is easy to remember. i.e.:

 add dst-address=0.0.0.0/0 gateway=8.8.8.8 distance=1 scope=10 target-scope=12 check-gateway=ping comment="Primary default route"
 add dst-address=8.8.8.8/32 gateway=122.176.152.1 distance=1 scope=10 target-scope=11 comment="Primary check IP via ether1"
 -----
 add dst-address=0.0.0.0/0 gateway=208.67.222.222 distance=2 scope=10 target-scope=12 check-gateway=ping comment="Secondary default route"
 add dst-address=208.67.222.222/32 gateway=192.168.100.1 distance=2 scope=10  target-scope=11 comment="Secondary check IP via ether2"

See also this:

BUT, at the end of the day if Primary fails, then Secondary should be enabled but what other (Tertiary) connection do you have?
If none the above can be simplified to:

 add dst-address=0.0.0.0/0 gateway=8.8.8.8 distance=1 scope=10 target-scope=12 check-gateway=ping comment="Primary default route"
 add dst-address=8.8.8.8/32 gateway=122.176.152.1 distance=1 scope=10 target-scope=11 comment="Primary check IP via ether1"
 -----
 add dst-address=0.0.0.0/0 gateway=192.168.100.1 distance=2 comment="Secondary default route"

The logic is that you check Primary, and if it fails then Secondary becomes active, but since you have no other way out, checking if Secondary is working is not needed as EITHER:

  1. it works and you have connection
    OR:
  2. it doesn't work and you don't have connection
    checking if it has connection has no use as it doesn't really change anything, when (if) Primary resumes, Secondary will become non active, no matter if it has connection or not.


    All this said, it is very easy to get confused when attempting to make a recursive set of routes with scopes, target scopes, canary addresses, and what not, JFYI, this method here with netwatch is much simpler:
    Simpler Failover for two Gateways I found working
    Simpler Failover for two Gateways I found working - #19 by jaclaz