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.