• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
Netgate Discussion Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login

WireGuard high-availability setup - how to?

Scheduled Pinned Locked Moved WireGuard
2 Posts 2 Posters 299 Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A
    abstergo
    last edited by Dec 13, 2024, 9:42 AM

    Hey frens!

    I was tasked by a colleague to create a high-availability WireGuard server.

    We have two machines, which both need to contain the same server config.
    How should I go about setting up the second machine, do I need floating IP's?

    The main idea is the following:
    The moment the first physical WireGuard VPN machine goes bonkers, the second one to immediately pick up all active connections until the first one gets back to normal operation.
    For context, both of them are behind a UDM-SE and the second one is yet to have port-forwarding setup.
    How can I make sure configurations from the first machine are always synced to the second machine?
    Both machines are running a headless Ubuntu installation and have wired connections.

    Any suggestions beside rsync are welcome to be tried.

    P 1 Reply Last reply Dec 14, 2024, 6:56 AM Reply Quote 0
    • P
      patient0 @abstergo
      last edited by Dec 14, 2024, 6:56 AM

      @abstergo do a search in the forum, please. You'll see the topic came up a few times it's not something that can easily be done.

      Seems setting up two separate tunnels and use OSPF is one option that doesn't involve scripting.

      1 Reply Last reply Reply Quote 0
      2 out of 2
      • First post
        2/2
        Last post
      Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
        This community forum collects and processes your personal information.
        consent.not_received