🛡️
← All setup guides

OPNsense WireGuard Setup Guide

OPNsense is a FreeBSD-based firewall with native WireGuard since 21.7. It does not use wg-quick — all NAT and routing is done through the OPNsense firewall UI.

1

Create a tunnel in ProxyLink

Go to Devices → + Add → Router / LAN site, select Home / LAN Router, enter your LAN subnet, and note all values from the downloaded config.

2

Create a WireGuard local instance

In OPNsense: VPN → WireGuard → Local → Add

  • Name: ProxyLink
  • Private Key: from your config
  • Listen Port: leave default or pick one
  • Tunnel Address: your VPN IP with /24
3

Add the ProxyLink server as a peer

VPN → WireGuard → Peers → Add

  • Public Key: server public key from your config
  • Endpoint Address + Port: from your config
  • Allowed IPs: 10.100.0.0/16
  • Keepalive: 25

Assign this peer to your local instance.

4

Assign the WireGuard device as an interface

Go to Interfaces → Assignments. Assign wg1 (or your WG device) as a new interface. Enable it and give it a name like PROXYLINK.

5

Configure outbound NAT

Go to Firewall → NAT → Outbound. Switch to Hybrid mode.

Add a rule: Source = 10.100.0.0/16, Interface = PROXYLINK, Translation = Interface address.

6

Add firewall rules

Go to Firewall → Rules → PROXYLINK. Add a rule to allow all traffic from the WireGuard interface to your LAN.

Good to know

OPNsense is FreeBSD — it does not use wg-quick or iptables. PostUp lines in .conf files are completely irrelevant. Use the OPNsense firewall UI for all NAT/routing.
You must assign the WireGuard device as an interface to get NAT and firewall rule support. Without this assignment, traffic will not route correctly.

What you get once the tunnel is up

Ready to connect?

Create a free account and set up your first tunnel in minutes. Free during early access — no card required.

Setup guides for other platforms