This guide was created by a community member and reviewed by us. Firmware and router interfaces may change over time, so some steps may differ depending on your device or version.
Prerequisites
- pfSense version must be 2.7.2 or later
- You will need a WireGuard config for the location you selected in the WireGuard generator
Setup
Open pfSense at
192.168.1.1(by default)Log in (username is
adminand password ispfsenseby default)Go to System → Package Manager → Available Packages
Search for
wireguardand click Install, then ConfirmAfter installation, go to VPN → WireGuard → Tunnels
Click Add Tunnel
Check the Enable Tunnel box
Enter a name in Description
- Example:
xeovo-fi
- Example:
Enter
51820in Listen PortOpen your WireGuard config file
- Example:
xeovo-fi.conf
- Example:
Copy and paste the PrivateKey from your config file into Private Key
- Example:
cBPr9I+87zEMwkuIVFE0KRTPWOyGe25EKaTl3gxisSQ=
- Example:
Copy and paste the Address from your config file into Interface Addresses
- Example IPv4:
10.143.71.121/32
- Example IPv4:
Click Save Tunnel
Go to the Peers tab and click Add Peer
Check the Enable box
Select your tunnel in Tunnel
- Example:
tun_wg0 (xeovo-fi)
- Example:
Enter a name in Description
- Example:
xeovo-fi
- Example:
Uncheck the Dynamic Endpoint box
Copy and paste the PublicKey from your config file into Public Key
- Example:
sb61ho9MhaxhJd6WSrryVmknq0r6oHEW7PP5i4lzAgM=
- Example:
Copy and paste the Endpoint address without the port into Endpoint
- Example:
fi.gw.xeovo.com
- Example:
Copy and paste only the port from the Endpoint into Endpoint Port
- Example:
51820
- Example:
Set Allowed IPs to
0.0.0.0/0and::/0Click Save Peer
Go to VPN → WireGuard → Settings, check Enable WireGuard and click Save
Go to Status → WireGuard Status and verify the tunnel is active — Latest Handshake should show a value
Go to Interfaces → Assignments, select
tun_wg0in Available network ports and click AddClick on the newly added interface (e.g. OPT1)
Check the Enable box
Enter
WG_VPNin DescriptionEnter
1420in MTUSet IPv4 Configuration Type to Static IPv4
Copy and paste the Address from your config file into IPv4 Address with a
/32mask- Example:
10.143.71.121/32
- Example:
Click Save, then Apply Changes
Go to System → Routing → Gateways and click Add
Fill in the gateway:
Interface:
WG_VPNName:
WG_VPN_GWGateway: the Address from your config file (same as in step 12)
- Example:
10.143.71.121
- Example:
Click Display Advanced and check Use non-local gateway
Click Save, then Apply Changes
Go to Interfaces → WG_VPN
Set IPv4 Upstream gateway to
WG_VPN_GWClick Save, then Apply Changes
Go to Firewall → NAT → Outbound
Select Manual Outbound NAT rule generation and click Save, then Apply Changes
Find the rule with description
Auto created rule - LAN to WANand click the pencil icon to edit itChange Interface from
WANtoWG_VPNChange Translation Address to
WG_VPN addressClick Save, then Apply Changes
Go to Firewall → Rules → LAN
Click the pencil icon next to the rule Default allow LAN to any rule
Click Display Advanced and set Gateway to
WG_VPN_GWClick Save, then Apply Changes
Verify the VPN connection, visit DoesMyVPN.work
DNS Configuration
To use the DNS servers from your WireGuard config and prevent DNS leaks:
Open your WireGuard config file and find the DNS line
- Example:
DNS = 10.0.0.20, fd64:e20:68a2::20
- Example:
Go to System → General Setup
Under DNS Server Settings, remove any existing DNS entries
Enter the DNS addresses from your config file one by one into the DNS Server fields
- Example:
10.0.0.20,fd64:e20:68a2::20
- Example:
For each DNS entry, set Gateway to
WG_VPN_GWUncheck DNS Server Override to prevent WAN from overwriting your DNS settings
Click Save
DNS Resolver
Go to Services → DNS Resolver
Set Outgoing Network Interfaces to WG_VPN
Under DNS Query Forwarding, check Enable Forwarding Mode
Click Save, then Apply Changes
Disconnecting
To disconnect the VPN, go to VPN → WireGuard → Settings, uncheck Enable WireGuard and click Save. Your configuration will be preserved and can be re-enabled the same way.