How to enable VRRP¶
VRRP (Virtual Router Redundancy Protocol) is a network redundancy protocol that
provides high availability for the WireGuard gateway. The WireGuard gateway
charm supports VRRP through the embedded keepalived. You can enable the VRRP
feature by setting the VIP (virtual IP address) in the vips charm
configuration.
The vips configuration accepts a list of IPv4 or IPv6 network addresses, for
example, 10.0.0.1/24 or 2001:db8::1/32, representing the virtual IP address
and VRRP subnet. When this configuration is set, the WireGuard gateway charm
will enable VRRP using the specified VIP address on the network interfaces
associated with the VIP address.
For example, if you have the following WireGuard gateway deployment:
Model Controller Cloud/Region Version SLA Timestamp
test-wireguard lxd localhost/localhost 3.6.25 unsupported 01:40:27+08:00
App Version Status Scale Charm Channel Rev Exposed Message
wireguard-gateway active 2 wireguard-gateway latest/edge 12 no advertising prefixes: 10.0.0.0/8
Unit Workload Agent Machine Public address Ports Message
wireguard-gateway/0* active idle 0 10.240.160.10 advertising prefixes: 10.0.0.0/8
wireguard-gateway/1 active idle 1 10.240.160.189 advertising prefixes: 10.0.0.0/8
Machine State Address Inst id Base AZ Message
0 started 10.240.160.10 juju-40e6d0-0 ubuntu@24.04 work-laptop Running
1 started 10.240.160.189 juju-40e6d0-1 ubuntu@24.04 work-laptop Running
Then you can choose a VIP that’s unused but within the charm unit’s network
range. For example, you can set the vips configuration option to
10.240.160.111/24:
juju config wireguard-gateway vips=10.240.160.111/24
After setting the option, you should be able to access the WireGuard gateway using the VIP address. Traffic destined for the VIP will be routed to a healthy WireGuard gateway unit, thus providing high availability.