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

    WireGuard site-to-site pfsense-to-pfsense no handshake?

    Scheduled Pinned Locked Moved WireGuard
    42 Posts 7 Posters 11.0k 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.
    • Y
      Yazur @Jimbohello
      last edited by

      @jimbohello

      I have succeeded, in addition to adding the gateways on the interfaces, we must add the static routes.
      If you follow the netgate documentation everything should be automatic :D !

      J 1 Reply Last reply Reply Quote 0
      • J
        Jimbohello @Yazur
        last edited by

        @yazur

        already mentionned in that post

        static routing is up there

        just read carefully

        every thing is there

        cmcdonaldC 1 Reply Last reply Reply Quote 1
        • cmcdonaldC
          cmcdonald Netgate Developer @Jimbohello
          last edited by

          Updated documentation is something we are working on

          Need help fast? https://www.netgate.com/support

          1 Reply Last reply Reply Quote 2
          • M
            Mikki-10
            last edited by Mikki-10

            @yazur I will try to do my best to sum it up :)

            • Create a tunnel, on Site 1 and Site 2, eg change the port number if you do not like the default value, generate the keys for the site, it follows the setup as below.
            • Assign the interface (eg tun_wg0) and set a static IP, this is the tunnel network, set the MTU to 1420, see settings below, i use the subnet 192.168.77.0/24 in this exampel.
            • Set a firewall rule (UDP) to allow traffic on the WAN interface to the Wireguard tunnel port. (eg UDP port 51820 to WAN address on the WAN interface) (And no it is not a NAT rule (Port forward))
            • Set the needed firewall rules for WireGuard and the WireGuard interface WG
            • Add the peers, on both sites, where the public key for the peer is the opposite sites public tunnel key. At least one of the peers shall have an endpoint, the opposite can be dynamic. So the site that have and public IP, can have its peers to be dynamic, we can call that site the server (the site with an public IP) and the other sites for clientes (those eg behind a CGNAT) if you like. Also add Allowed IPs here, you will need to add the LAN IP and the tunnel IP subnets
            • Add the gateway, with the opposite sites tunnel IP.
            • The gateway should come online at this point and the handshake should now be green-
            • Now set the need static route on both sites

            Tunnel - Site 1
            Tunnel: tun_wg0 (Site 1)
            Public key: PK1

            Peer - Site 1
            Tunnel: tun_wg0 (Site 1)
            Endpoint: Dynamic
            Public Key: PK2
            Allowed IPs: <LAN Subnet of Site 2>
            Allowed IPs: 192.168.77.0/24

            Interface - Site 1
            Description: WG
            IPv4: Static IPv4
            MTU: 1420
            IPv4 Address: 192.168.77.1/24

            Gateway- Site 1
            Interface: WG
            Name: WG_Gateway
            IPv4 Address: 192.168.77.2

            Tunnel - Site 2
            Tunnel: tun_wg0 (Site 2)
            Public key: PK2

            Peer - Site 2
            Tunnel: tun_wg0 (Site 2)
            Endpoint: <Public IP of Site 1>
            Public Key: PK1
            Allowed IPs: <LAN Subnet of Site 2>
            Allowed IPs: 192.168.77.0/24

            Interface - Site 2
            Description: WG
            IPv4: Static IPv4
            MTU: 1420
            IPv4 Address: 192.168.77.2/24

            Gateway- Site 2
            Interface: WG
            Name: WG_Gateway
            IPv4 Address: 192.168.77.1

            M B 2 Replies Last reply Reply Quote 0
            • M
              Mikki-10 @Mikki-10
              last edited by

              @mikki-10 said in WireGuard site-to-site pfsense-to-pfsense no handshake?:

              Peer - Site 2
              Tunnel: tun_wg0 (Site 2)
              Endpoint: <Public IP of Site 1>
              Public Key: PK1
              Allowed IPs: <LAN Subnet of Site 2>
              Allowed IPs: 192.168.77.0/24

              I made a small mistanke, and can not edit my post?
              Allowed IPs: <LAN Subnet of Site 2> should be <LAN Subnet of Site 1>

              Peer - Site 2
              Tunnel: tun_wg0 (Site 2)
              Endpoint: <Public IP of Site 1>
              Public Key: PK1
              Allowed IPs: <LAN Subnet of Site 1>
              Allowed IPs: 192.168.77.0/24

              J 1 Reply Last reply Reply Quote 0
              • J
                Jimbohello @Mikki-10
                last edited by

                @mikki-10

                wow your nice guys

                every thing was already said in all the post for a pfsense user to do their jobs !

                reposting all the procedure was kind of useless but friendly :)

                have a nice one bro

                1 Reply Last reply Reply Quote 0
                • Y
                  Yazur
                  last edited by

                  @Mikki-10

                  Thank you for this summary!
                  I hope it helps other people too :)!

                  1 Reply Last reply Reply Quote 0
                  • B
                    bassopt @Mikki-10
                    last edited by

                    @mikki-10

                    That’s for the tutorial. I was following a German dude tutorial on YouTube and setting gateways for site 1 the site 1 ip and for site 2 the site 2 up. Result was losing handshake and pings after a few hours or randomly. Even with keep alive settings.

                    For now I reverted back to IPSec for site to site vpn as is more stable and easy to setup. Manual creation of static routes and gateways it’s as bit of pain if you’re on relatively big environment.

                    I know, I know… it’s experimental. Works great for mobile warriors though.

                    1 Reply Last reply Reply Quote 0
                    • B
                      bassopt
                      last edited by

                      This was working fine on version 0.1.3. Updated to 0.1.5 and now I cannot access any of my peers subnet defined in static routing. I can ping from pfsense but pinging from any address on the lan subnet doesn’t work. Site one can’t ping site 2 and vice versa.

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        titansilber @bassopt
                        last edited by

                        With hybrid nat the automatic nat rules for the WG interface look like a hot mess, especially if you have multiple interfaces. Anyone have examples of what it should look like?

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          Mikki-10 @titansilber
                          last edited by

                          @titansilber

                          What is your goal with the Outbound NAT change? It is not required for site-to-site.

                          If the goal is to change all traffic to the interface ip you can do that by setting to roules:

                          Interface: WG interface
                          Source: 127.0.0.0/8
                          Source port: *
                          Destination: * or what you need
                          Destination port: *
                          NAT Address WG address
                          NAT port: *
                          Static port: false

                          Interface: WG interface
                          Source: <Your LAN ip
                          Source port: *
                          Destination: * or what you need
                          Destination port: *
                          NAT Address WG address
                          NAT port: *
                          Static port: false

                          Not sure if this is what you are looking for?

                          B 1 Reply Last reply Reply Quote 0
                          • B
                            bassopt @Mikki-10
                            last edited by

                            After much hair pulling I finally made this work and stable.

                            You need to specify / create and assign he gateway to the WG Interface when you create it else you'll have or sort of routing issues
                            You also need to create static routes to the gateway with the subnets you want to access on the other side of the tunnel.

                            Oh and the instructions above are wrong the Gateway ip needs to be the ip of tunnel on your side and not on the opposite side or it won't work.

                            Unfortunately then entire wireguard project seems to be quite secondary at this point for negate (they didn't even bothered updating the documents)... I know it's still experimental, but ok...
                            The developer is also never available never replies to anything in any of the platforms he mentions on his videos. He just ignores 99% of problems people are having (I hope they are not expecting us to start opening pointless stuff on redmi)

                            M 1 Reply Last reply Reply Quote 0
                            • M
                              Mikki-10 @bassopt
                              last edited by

                              @bassopt

                              Hi the use of the Gateway ip from the other side is not wrong, you do that with OpenVPN site to site as well when using layer 2 (TAP interface) and it give you the correct ping to the other side, and it helps keep the connection/session alive.

                              You do not need to do any NAT config if you follow the above.

                              Just remember to set the
                              MTU: 1420 and
                              MSS: 1420
                              That fix most problems.

                              1 Reply Last reply Reply Quote 0
                              • B
                                bbrendon
                                last edited by

                                there is also a bug here that causes no handshake.
                                https://forum.netgate.com/topic/167279/wireguard-won-t-handshake-package-bug?_=1634581891833

                                cmcdonaldC 1 Reply Last reply Reply Quote 0
                                • cmcdonaldC
                                  cmcdonald Netgate Developer @bbrendon
                                  last edited by

                                  This bug should be resolved in the latest version (0.1.5_2 and above). This package is available CE 2.5.2/2.6.0 and Plus 21.05.2/22.01. Give it a shot :)

                                  Need help fast? https://www.netgate.com/support

                                  B 1 Reply Last reply Reply Quote 0
                                  • B
                                    bassopt @cmcdonald
                                    last edited by

                                    @cmcdonald I don’t see any 0.1.5_2 update on my end

                                    cmcdonaldC 2 Replies Last reply Reply Quote 0
                                    • cmcdonaldC
                                      cmcdonald Netgate Developer @bassopt
                                      last edited by

                                      @bassopt hmmm, will check the builds. Thanks for checking

                                      Need help fast? https://www.netgate.com/support

                                      1 Reply Last reply Reply Quote 0
                                      • cmcdonaldC
                                        cmcdonald Netgate Developer @bassopt
                                        last edited by

                                        @bassopt Take another peak now, updated package should be available.

                                        https://files01.netgate.com/pfSense_v2_5_2_amd64-pfSense_v2_5_2/All/pfSense-pkg-WireGuard-0.1.5_3.txz

                                        Need help fast? https://www.netgate.com/support

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