OpenVPN is an open source VPN daemon.
OpenVPN supports SSL/TLS security, ethernet bridging, TCP or UDP tunnel transport through proxies or NAT, support for dynamic IP addresses and DHCP.
OpenVPN supports conventional encryption using a pre-shared secret key (Static Key mode) or public key security (SSL/TLS mode) using client & server certificates. OpenVPN also supports non-encrypted TCP/UDP tunnels.
Assign a fixed IP to a remote client
Use pfSense as an OpenVPN client
Potential Advanced Settings you can try:
USE AES-128-GCM/AES-256-GCM!!! auth-retry nointeract; persist-key; remote-cert-tls server; reneg-sec 0; auth-nocache; fast-io; sndbuf 524288; rcvbuf 524288;