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

    [Guide] Setup a wireguard tunnel to VPN provider (multiple VPN tunnel setup)

    Scheduled Pinned Locked Moved WireGuard
    24 Posts 5 Posters 10.0k Views 7 Watching
    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.
    • P Offline
      privatenetworks
      last edited by

      This was a great post to get me started with a dual VPN solution - thanks so much for the write up @LaUs3r . For my use case I desire a wireguard primary interface and a failover wireguard connection if primary goes down or has high latency. I finally got both set up, handshaking and passing traffic.

      I'm probably a bit over my head here and did a lot of trial and error to get things going so sorry if stupid question but once thing still isn't working for me correctly. wg0 and wg1 are both passing traffic like a round robin load balance situation - each successive connection alternates which one is being used - but that isn't the behavior I want.

      I want to only send traffic to wg1 if wg0 fails (or gets high letency and packet loss). I created a gateway for each and a gateway group. In the gw group I have wg0 as Tier 1 and wg1 as Tier 2 but they seem to be treated equal. I also created an interface group for my NAT rules that contains VPN1(wg0) and VPN2(wg1)

      I think I am missing what rules/process steers the traffic to the gateway group and how the NAT works and maybe somehow I'm sending traffic to both gateways ignoring the group tier and priority.

      Any ideas where I should look in more detail to figure this out?

      TIA

      1 Reply Last reply Reply Quote 0
      • S Offline
        subhan2k
        last edited by

        I tried following your guide to set up the Surfshark WireGuard server configuration in pfSense as default gateway, but I got stuck at the static routes step.

        In my case, the endpoint isn’t a numeric IP — it’s listed as us-bna.prod.surfshark.com. How should I add this to the static routes?

        In my configuration:

        Endpoint: us-bna.prod.surfshark.com

        Address: 10.14.0.2/16

        So what exactly should I enter in the static routes? after switching the default gateway from WAN_DHCP to the WireGuard VPN my Interent doesn't work so adding static routes is mandotary

        (Im using inside vmware)

        L 1 Reply Last reply Reply Quote 0
        • L Offline
          LaUs3r @subhan2k
          last edited by LaUs3r

          @subhan2k said in [Guide] Setup a wireguard tunnel to VPN provider (multiple VPN tunnel setup):

          I tried following your guide to set up the Surfshark WireGuard server configuration in pfSense as default gateway, but I got stuck at the static routes step.

          In my case, the endpoint isn’t a numeric IP — it’s listed as us-bna.prod.surfshark.com. How should I add this to the static routes?

          In my configuration:

          Endpoint: us-bna.prod.surfshark.com

          Address: 10.14.0.2/16

          So what exactly should I enter in the static routes? after switching the default gateway from WAN_DHCP to the WireGuard VPN my Interent doesn't work so adding static routes is mandotary

          (Im using inside vmware)

          nslookup us-bna.prod.surfshark.com
          Server:		127.0.0.53
          Address:	127.0.0.53#53
          
          Non-authoritative answer:
          Name:	us-bna.prod.surfshark.com
          Address: 82.26.162.48
          Name:	us-bna.prod.surfshark.com
          Address: 82.26.162.53
          

          That should do it 😉
          Just take 1 of the 2.

          And in general, don't use domain names but only IP. Before you start, choose 1 of the 2 IPs and use it for the whole process

          S 1 Reply Last reply Reply Quote 0
          • S Offline
            subhan2k @LaUs3r
            last edited by

            @LaUs3r ok I use this 1 IP It works initially, but after every restart the handshake fails. I believe Surfshark assigns a new dynamic IP each time, and even when I update that IP in the peer, static route, and firewall rule, the handshake still doesn’t work because it needs a temporary connection (like WAN) to establish first.

            S L 2 Replies Last reply Reply Quote 0
            • S Offline
              subhan2k @subhan2k
              last edited by

              do you have a guide for setting up a Multi-Hop VPN inside pfSense (running on VMware)? Right now, I have an extra server running OpenVPN, and I want to route it through a Multi-Hop setup. Do you know how to do it? I’ve also heard that Multi-Hop setups are prone to more leaks, so it needs to be configured properly.

              L 1 Reply Last reply Reply Quote 0
              • L Offline
                LaUs3r @subhan2k
                last edited by

                @subhan2k , SurfShark offers some tutorials how to set up wireguard on openwrt, etc.

                https://support.surfshark.com/hc/en-us/articles/7161303618834-How-to-set-up-WireGuard-on-a-DD-WRT-router#01HJ8AJJW5SRFKFRBQF9P550Q7

                How does the config look like with regards to the server location? I mean there must be some specific IP for the server be included. Maybe it makes more sense to use this.

                For example, I use TorGuard: when I have a config file created for us.torguard.com, I get an IP in the config and not the domain name

                S 1 Reply Last reply Reply Quote 0
                • L Offline
                  LaUs3r @subhan2k
                  last edited by

                  @subhan2k said in [Guide] Setup a wireguard tunnel to VPN provider (multiple VPN tunnel setup):

                  Multi-Hop

                  Sorry, no experience here.

                  1 Reply Last reply Reply Quote 0
                  • S Offline
                    subhan2k @LaUs3r
                    last edited by

                    @LaUs3r surfshark WG config include

                    Use this configuration with WireGuard client

                    [Interface]
                    Address = 10.14.0.2/16
                    PrivateKey =
                    DNS = 162.252.172.57, 149.154.159.92
                    [Peer]
                    PublicKey =
                    AllowedIPs = 0.0.0.0/0
                    Endpoint = us-bos.prod.surfshark.com:51820

                    L 1 Reply Last reply Reply Quote 0
                    • L Offline
                      LaUs3r @subhan2k
                      last edited by

                      @subhan2k, I guess you only have issues with the domain name when trying to add the static route.
                      What you could do is to add a static route like the following:

                      us-bos.prod.surfshark.com resolves to 43.225.189.108 and 43.225.189.118.

                      Regarding the static route in pfSense:

                      • destination network: 43.225.189.0 / 24 (/24 is the key here)
                      S 1 Reply Last reply Reply Quote 0
                      • S Offline
                        subhan2k @LaUs3r
                        last edited by subhan2k

                        @LaUs3r Yeah, I added those IPs, but after restarting pfSense, the WireGuard status says “handshake failed.”

                        Also, when I do nslookup us-bos.prod.surfshark.com, I get two different sets of IPs.
                        For example:

                        • The first time I get 43.225.189.108 and 43.225.189.118
                        • The next time I get 149.40.50.216 and 149.40.50.290

                        So I was wondering can I add both sets of IPs, and put a “0” at the end of each, and use /24 for both IPs?

                        I reached out to Surfshark support, and they sent me their official pfSense WireGuard setup guide
                        see the guide here

                        in the guide they mention 10.14.0.2 for static routes

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.