Summary

This article demonstrates how to configure pfSense as a WireGuard client for the Core Transit Static IP Service. Upon completion, all LAN client traffic will be routed through the Core Transit WireGuard tunnel using Policy-Based Routing (PBR), while pfSense continues to manage routing decisions through its standard interface configuration.

This deployment method provides a secure full-tunnel configuration for client devices while maintaining a simple and scalable firewall policy.

Diagram

Prerequisites

  • pfSense installed
  • DHCP server enabled and configured for LAN clients
  • Active Internet connection
  • WireGuard provisioning details provided by Core Transit

Install the WireGuard Package

Navigate to:

System → Package Manager → Available Packages

Find and install the WireGuard package.

Create the WireGuard Tunnel

Navigate to:

VPN → WireGuard → Tunnels

Create a new tunnel.

Configure the tunnel using the provisioning details provided by Core Transit.

Settings include:

  • Description
  • Private Key
  • Listen Port
  • Tunnel Address

Save the tunnel. 

The configuration page should look something like this:

Configure the WireGuard Peer

Navigate to:

VPN → WireGuard → Peers

Create a new peer using the Core Transit provisioning details.

Configure:

  • Peer Public Key
  • Endpoint Address
  • Endpoint Port
  • Allowed IPs
  • Persistent Keepalive (25 seconds)

Save the configuration.

Assign the WireGuard Interface

Navigate to:

Interfaces → Assignments

Assign the newly created WireGuard tunnel (tun_wg0) as a new interface.

Configure the WireGuard Interface

Configure the WireGuard Interface

Navigate to:

Interfaces → OPT1

Configure the assigned WireGuard interface.

Setting Value
Enable Interface Enabled
IPv4 Configuration Type Static IPv4
IPv4 Address Client tunnel address (/31)
IPv4 Upstream Gateway Create new

Save the configuration.

Create the WireGuard Gateway

When prompted to create a new gateway, configure it using the Core Transit tunnel.

Setting Value
Interface OPT1 (WireGuard)
Gateway Core Transit Tunnel
Monitor IP Core Transit Tunnel

Save the configuration. Double check the gateway is properly created by navigating to System → Routing → Gateways.

Configure Outbound NAT

Navigate to:

Firewall → NAT → Outbound

Change the Outbound NAT mode to:

Hybrid Outbound NAT

Create a new outbound NAT rule with the following settings.

Setting Value
Interface WireGuard
Address Family IPv4
Protocol Any
Source LAN subnets
Destination Any
Translation Address Client facing WireGuard tunnel address

Save the rule and apply the configuration. The created rule should look something like this:

Configure Policy-Based Routing

Navigate to:

Firewall → Rules → LAN

Edit the default IPv4 LAN allow rule.

Under Advanced Options, configure the Gateway field to use the Core Transit WireGuard gateway created in the previous step.

Save the rule and apply the changes. Once the gateway has been changed the rules should look as follows:

Verify WireGuard Status

Navigate to:

Status → WireGuard

Confirm the following:

  • Tunnel status is active.
  • The latest handshake updates regularly.
  • RX and TX counters continue increasing.

Verify Client Connectivity

Connect a client device to the pfSense LAN interface.

Verify that the client:

  • Receives an IP address from the DHCP server.
  • Has Internet connectivity.
  • Successfully reaches external resources.
  • Uses the Core Transit service as its outbound path.

Example verification commands:

ping 1.1.1.1
tracert 1.1.1.1

Configuration Complete

The pfSense firewall is now configured as a Core Transit WireGuard client using Policy-Based Routing. LAN client traffic is securely routed through the Core Transit tunnel while the firewall maintains normal operation and management connectivity.

Hjälpte svaret dig? 0 användare blev hjälpta av detta svar (0 Antal röster)