pfSense
This tutorial explains how to set up a policy-based or route-based IPsec VPN with a pfSense device.
(Policy-based only) LAN interface configuration
- From the pfSense WebGUI, select Interfaces > LAN.
- Choose an interface from the Available network ports list.
- Select Add. The General Configuration dialog displays.
Refer to the image below for guidance on which values to use.

| Field | Value |
|---|---|
| Enable | ✔️ Enable interface |
| Description | LAN |
| IPv4 Configuration Type | Static IPv4 |
| IPv6 Configuration Type | Static IPv6 |
| MSS | 1446 |
Phase 1
Policy-based configuration

| Field | Value |
|---|---|
| Description | Name |
| Key Exchange Version | IKE v2 |
| Internet Protocol | IPv4 |
| Interface | WAN |
| Remote Gateway | <Anycast IP provided by Cloudflare> |

| Field | Value |
|---|---|
| Life Time | 28800 |
| Rekey Time | 14400 |
| Reauth Time | 0 |
Route-based configuration

| Field | Value |
|---|---|
| Description | Name |
| Key Exchange Version | IKE v2 |
| Internet Protocol | IPv4 |
| Interface | WAN |
| Remote Gateway | <Anycast IP provided by Cloudflare> |

| Field | Value |
|---|---|
| Life Time | 28800 |
| Rekey Time | 14400 |
| Reauth Time | 0 |
Phase 2
Policy-based configuration

| Field | Value |
|---|---|
| Description | Name |
| Mode | Tunnel IPv4 |
| Local Network | <Local Network to be tunneled> |
| NAT/BINAT translation | None |
| Remote Network | Remote network available via the tunnel |

| Field | Value |
|---|---|
| Protocol | ESP |
| Encryption Algorithm | ✔️ AES128-GCM, 128 bits |
| PFS key group | 14 (2048 bit) |

| Field | Value |
|---|---|
| Life Time | 3600 |
| Rekey Time | 3240 |
| Rand Time | 360 |
| Automatically ping host | Specify an IP address available via the tunnel. Refer to the Description field for more information. |
Route-based configuration


| Field | Value |
|---|---|
| Description | Name |
| Mode | Routed (VTI) |
| Local Network | <Local Tunnel Inside IP> |
| Remote Network | <Remote Tunnel Inside IP> |

| Field | Value |
|---|---|
| Protocol | ESP |
| Encryption Algorithm | ✔️ AES128-GCM, 128 bits |
| PFS key group | 14 (2048 bit) |

| Field | Value |
|---|---|
| Life Time | 3600 |
| Rekey Time | 3240 |
| Rand Time | 360 |
| Automatically ping host | Specify an IP address available via the tunnel. Refer to the Description field for more information. |
(Route-based only) Interface assignment
- From the pfSense WebGUI, select Interfaces > LAN.
- Choose an interface from the Available network ports list.
- Select Add. The General Configuration dialog displays.
Refer to the image below for guidance on which values to use.

| Field | Value |
|---|---|
| Enable | ✔️ Enable interface |
| Description | LAN |
| IPv4 Configuration Type | Static IPv4 |
| IPv6 Configuration Type | Static IPv6 |
| MSS | 1446 |
- From the pfSense WebGUI, select Interfaces > Assignments.

- From Available network ports, select + Add.

- Under Interface, select OPT1.

- Ensure Enable interface is selected.
- For Description, add a description to help you identify the interface.
- For MSS, enter 1446, which should be the same as the LAN interface.
- Select Save to save your changes when you are done.
Routing configuration
- From the pfSense WebGUI, select System, Routing, Static Routes.
- On the Static Routes page, select Add.
- Create static routes for all network that will be routed via the tunnel with Gateway as the IPsec VTI interface.

Firewall configuration
- From the pfSense WebGUI, select Firewall Rules.
- Select LAN.
- Ensure a rule exists that allows traffic from LAN to IPsec.
- Select Save when you are done.
If you need to allow traffic from IPsec to LAN, you will need to create rules that allow this.