Hi all,
I have a VyOS cluster with 2 members. On this cluster I configured a few OpenVPN tunnels for roadwarriors.
My problem now is that both cluster members have static routes created by the OpenVPN daemon for the roadwarrior tunnels, which makes it impossible for an OpenVPN client to reach the non-primary member, because that member would then try to route the response packets following its own routing table entries for the tunnel prefixes, but since the primary is handling the tunnels, those packets will get lost.
To make it clearer:
Router A: 10.0.0.1 (primary - tunnels are currently concentrated here)
Router B: 10.0.0.2 (slave)
OpenVPN tunnel subnet: 10.10.10.0/24
Routing table for Router A:
admin@router-a:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
F - PBR, f - OpenFabric,
> - selected route, * - FIB route, q - queued route, r - rejected route
S>* 0.0.0.0/0 [210/0] via 10.0.0.254, eth0, 09:08:15
C>* 10.10.10.0/24 is directly connected, vtun0, 06:51:36
Routing table for Router B:
admin@router-b:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
F - PBR, f - OpenFabric,
> - selected route, * - FIB route, q - queued route, r - rejected route
S>* 0.0.0.0/0 [210/0] via 10.0.0.254, eth0, 09:10:04
C>* 10.10.10.0/24 is directly connected, vtun0, 06:53:15
This makes packets coming from a client (let’s say 10.10.10.5
) and directed to 10.0.0.2
(Router B, non-primary cluster member) flow through Router A and then be routed to Router B’s eth0. Router B will then try to reply to 10.10.10.5
, but since it has a static route for 10.10.10.0/24
via a local interface, packets will never make it back to the OpenVPN client.
Is there a way to make it possible for 10.10.10.5
to reach both members?
Thanks