Problem
Despite having a VRRP instance between the two routers the failover process is not happening.
UPDigital maps the external IP directly to one of the routers ip. The UPDigital's LAN router only supports static arp and the configuration as it stands has the ip being translated directly to one of the routers MAC address.
In the current setup we have 2 ports in UPDigital's network each connected directly to a router, this gives identity to each router in the LAN, and therefore access to the internet to both of them, in order for both to be able to perform health checks.
Whenever the router that owns the VIP dies, the second takes over the VIP and starts broadcasting the ip, the UPDigital's LAN router will still be redirecting the traffic towards the first router's MAC address instead.
Solution 1
Request an extra ip in UPDigital's LAN.
This way each router keeps its identity and can still perform healthchecks.
The third ip will be a VIP with a VMAC attached (keepalived supports this) that will be the mac address configured in UPDigital's ARP table.
Solution 2
In the case UPDigital does not give us the extra ip.
Another VRRP instance will have to be created, I'll call them main and secondary VIP.
The main VIP will be held by the router that is supposed to be serving traffic.
The secondary VIP will be held by whichever router does not hold the main VIP.
Even though keepalived does not support this out of the box, a file can be created whenever a router has the main VIP and removed whenever it loses it, we can then change its priority for the secondary VIP based on the presence of this file. This would ensure even in the case both routers are deemed unhealthy, each router will have access to the gateway and can still perform healthchecks.
Problem
Despite having a VRRP instance between the two routers the failover process is not happening.
UPDigital maps the external IP directly to one of the routers ip. The UPDigital's LAN router only supports static arp and the configuration as it stands has the ip being translated directly to one of the routers MAC address.
In the current setup we have 2 ports in UPDigital's network each connected directly to a router, this gives identity to each router in the LAN, and therefore access to the internet to both of them, in order for both to be able to perform health checks.
Whenever the router that owns the VIP dies, the second takes over the VIP and starts broadcasting the ip, the UPDigital's LAN router will still be redirecting the traffic towards the first router's MAC address instead.
Solution 1
Request an extra ip in UPDigital's LAN.
This way each router keeps its identity and can still perform healthchecks.
The third ip will be a VIP with a VMAC attached (keepalived supports this) that will be the mac address configured in UPDigital's ARP table.
Solution 2
In the case UPDigital does not give us the extra ip.
Another VRRP instance will have to be created, I'll call them main and secondary VIP.
The main VIP will be held by the router that is supposed to be serving traffic.
The secondary VIP will be held by whichever router does not hold the main VIP.
Even though keepalived does not support this out of the box, a file can be created whenever a router has the main VIP and removed whenever it loses it, we can then change its priority for the secondary VIP based on the presence of this file. This would ensure even in the case both routers are deemed unhealthy, each router will have access to the gateway and can still perform healthchecks.