Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    pfsense 2.5.2: ExpressVPN connection working by gateway has 100% packet loss

    Scheduled Pinned Locked Moved OpenVPN
    33 Posts 5 Posters 6.5k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      amdreallyfast
      last edited by

      @gertjan

      Well, after upgrading to 2.5.2 and explicitly turning my TP-Link DHCP server off (from Auto) and restarting everything, the gateways are now in indefinite "Pending" mode. I'm out of ideas. Yourself?

      8bb047f9-75ba-45e8-ae18-55ca64ea21e6-image.png

      GertjanG 1 Reply Last reply Reply Quote 0
      • GertjanG
        Gertjan @amdreallyfast
        last edited by

        @amdreallyfast

        How many Expr*ssVPN clients have you running ?

        f028b6cc-213d-4e93-9247-8327fc8f6e79-image.png

        Concentrate one one, then add others if needed.
        I know Expr**sVPN offers 5 ( ?) simulations connections - dono if they accept 5 from the same device.

        Now you have 2.5.2, get your client opvn file and post it here. I'll compare yours with mine.

        No "help me" PM's please. Use the forum, the community will thank you.
        Edit : and where are the logs ??

        A 1 Reply Last reply Reply Quote 0
        • A
          amdreallyfast @Gertjan
          last edited by

          @gertjan

          Alright, I'll disable two of the interfaces and the OpenVPN clients that use them.

          While waiting on the gateways to work themselves out, here's my config.ovpn file, unaltered in any way. It looks like upgrading to 2.5.2 changed how the config files were stored, and now I have the file structure that you had expected in prior posts.

          b8097447-a201-4675-9ae9-d0e344d9eba4-image.png

          GertjanG 1 Reply Last reply Reply Quote 0
          • GertjanG
            Gertjan @amdreallyfast
            last edited by

            @amdreallyfast

            I compared you opvn file with mine.
            There is 1 ( one ) difference :
            local 192.168.10.3
            for me, as me WAN IP is 192.168.10.3 - I have an up stream ISP router.
            You have a 'real' WAN IP 68.100.115.1x9 - That must be the IP of your WAN interface.

            My opvn file :

            dev ovpnc2
            verb 3
            dev-type tun
            dev-node /dev/tun2
            writepid /var/run/openvpn_client2.pid
            #user nobody
            #group nobody
            script-security 3
            daemon
            keepalive 10 60
            ping-timer-rem
            persist-tun
            persist-key
            proto udp4
            auth SHA512
            up /usr/local/sbin/ovpn-linkup
            down /usr/local/sbin/ovpn-linkdown
            local 192.168.10.3
            tls-client
            client
            lport 0
            management /var/etc/openvpn/client2/sock unix
            remote usa-sanfrancisco-ca-version-2.expressnetw.com 1195 udp4
            auth-user-pass /var/etc/openvpn/client2/up
            auth-retry nointeract
            capath /var/etc/openvpn/client2/ca
            cert /var/etc/openvpn/client2/cert 
            key /var/etc/openvpn/client2/key 
            tls-auth /var/etc/openvpn/client2/tls-auth 1
            data-ciphers AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305:AES-256-CBC
            data-ciphers-fallback AES-256-CBC
            allow-compression asym
            comp-lzo adaptive
            resolv-retry infinite
            fast-io
            sndbuf 524288
            rcvbuf 524288
            fast-io
            
            remote-random
            pull
            comp-lzo
            verify-x509-name Server name-prefix
            remote-cert-tls server
            key-direction 1
            route-method exe
            route-delay 2
            tun-mtu 1500
            fragment 1300
            mssfix 1450
            

            5b7a57e5-6378-475d-a5d6-e9b7c826dcca-image.png

            You'll see :
            comp-lzo adaptive
            and then
            comp-lzo
            in the custom option box.

            The latter cancels / modifies the first, I guess.

            Do not forget to add the ";".

            Now, when I remove the check from 'disable' at the top, and "save" I have these logs :
            Logs are in reverse order : the connection sequence starts at the bottom :

            2022-01-11 08:40:16.087396+01:00 	openvpn 	73688 	Initialization Sequence Completed
            2022-01-11 08:40:16.087382+01:00 	openvpn 	73688 	WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
            2022-01-11 08:40:16.086402+01:00 	openvpn 	73688 	/sbin/route add -net 10.46.0.1 10.46.0.133 255.255.255.255
            2022-01-11 08:40:16.085418+01:00 	openvpn 	73688 	/sbin/route add -net 128.0.0.0 10.46.0.133 128.0.0.0
            2022-01-11 08:40:16.084447+01:00 	openvpn 	73688 	/sbin/route add -net 0.0.0.0 10.46.0.133 128.0.0.0
            2022-01-11 08:40:16.083229+01:00 	openvpn 	73688 	/sbin/route add -net 45.38.178.184 192.168.10.1 255.255.255.255
            2022-01-11 08:40:14.426692+01:00 	openvpn 	73688 	/usr/local/sbin/ovpn-linkup ovpnc2 1500 1557 10.46.0.134 10.46.0.133 init
            2022-01-11 08:40:14.421989+01:00 	openvpn 	73688 	/sbin/ifconfig ovpnc2 10.46.0.134 10.46.0.133 mtu 1500 netmask 255.255.255.255 up
            2022-01-11 08:40:14.421967+01:00 	openvpn 	73688 	TUN/TAP device /dev/tun2 opened
            2022-01-11 08:40:14.421881+01:00 	openvpn 	73688 	TUN/TAP device ovpnc2 exists previously, keep at program end
            2022-01-11 08:40:14.421846+01:00 	openvpn 	73688 	ROUTE_GATEWAY 192.168.10.1/255.255.255.0 IFACE=em0 HWADDR=00:15:17:77:d1:19
            2022-01-11 08:40:14.421717+01:00 	openvpn 	73688 	Incoming Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
            2022-01-11 08:40:14.421688+01:00 	openvpn 	73688 	Outgoing Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key
            2022-01-11 08:40:14.421585+01:00 	openvpn 	73688 	Data Channel: using negotiated cipher 'AES-256-GCM'
            2022-01-11 08:40:14.421576+01:00 	openvpn 	73688 	OPTIONS IMPORT: data channel crypto options modified
            2022-01-11 08:40:14.421559+01:00 	openvpn 	73688 	OPTIONS IMPORT: adjusting link_mtu to 1629
            2022-01-11 08:40:14.421547+01:00 	openvpn 	73688 	OPTIONS IMPORT: peer-id set
            2022-01-11 08:40:14.421535+01:00 	openvpn 	73688 	OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
            2022-01-11 08:40:14.421524+01:00 	openvpn 	73688 	OPTIONS IMPORT: route options modified
            2022-01-11 08:40:14.421512+01:00 	openvpn 	73688 	OPTIONS IMPORT: --ifconfig/up options modified
            2022-01-11 08:40:14.421496+01:00 	openvpn 	73688 	OPTIONS IMPORT: compression parms modified
            2022-01-11 08:40:14.421479+01:00 	openvpn 	73688 	OPTIONS IMPORT: timers and/or timeouts modified
            2022-01-11 08:40:14.421389+01:00 	openvpn 	73688 	PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1,dhcp-option DNS 10.46.0.1,comp-lzo no,route 10.46.0.1,topology net30,ping 10,ping-restart 60,ifconfig 10.46.0.134 10.46.0.133,peer-id 56,cipher AES-256-GCM'
            2022-01-11 08:40:14.260127+01:00 	openvpn 	73688 	SENT CONTROL [Server-10448-0a]: 'PUSH_REQUEST' (status=1)
            2022-01-11 08:40:13.011214+01:00 	openvpn 	73688 	[Server-10448-0a] Peer Connection Initiated with [AF_INET]45.38.178.184:1195
            2022-01-11 08:40:13.011195+01:00 	openvpn 	73688 	Control Channel: TLSv1.3, cipher TLSv1.3 TLS_AES_256_GCM_SHA384, peer certificate: 2048 bit RSA, signature: RSA-SHA256
            2022-01-11 08:40:12.834914+01:00 	openvpn 	73688 	VERIFY OK: depth=0, C=VG, ST=BVI, O=ExpressVPN, OU=ExpressVPN, CN=Server-10448-0a, emailAddress=support@expressvpn.com
            2022-01-11 08:40:12.834906+01:00 	openvpn 	73688 	VERIFY X509NAME OK: C=VG, ST=BVI, O=ExpressVPN, OU=ExpressVPN, CN=Server-10448-0a, emailAddress=support@expressvpn.com
            2022-01-11 08:40:12.834897+01:00 	openvpn 	73688 	VERIFY EKU OK
            2022-01-11 08:40:12.834887+01:00 	openvpn 	73688 	++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication
            2022-01-11 08:40:12.834874+01:00 	openvpn 	73688 	Validating certificate extended key usage
            2022-01-11 08:40:12.834861+01:00 	openvpn 	73688 	VERIFY KU OK
            2022-01-11 08:40:12.834393+01:00 	openvpn 	73688 	VERIFY OK: depth=1, C=VG, ST=BVI, O=ExpressVPN, OU=ExpressVPN, CN=ExpressVPN CA, emailAddress=support@expressvpn.com
            2022-01-11 08:40:12.834281+01:00 	openvpn 	73688 	VERIFY WARNING: depth=1, unable to get certificate CRL: C=VG, ST=BVI, O=ExpressVPN, OU=ExpressVPN, CN=ExpressVPN CA, emailAddress=support@expressvpn.com
            2022-01-11 08:40:12.834232+01:00 	openvpn 	73688 	VERIFY WARNING: depth=0, unable to get certificate CRL: C=VG, ST=BVI, O=ExpressVPN, OU=ExpressVPN, CN=Server-10448-0a, emailAddress=support@expressvpn.com
            2022-01-11 08:40:12.669575+01:00 	openvpn 	73688 	TLS: Initial packet from [AF_INET]45.38.178.184:1195, sid=afc6b917 2da3d51c
            2022-01-11 08:40:12.507340+01:00 	openvpn 	73688 	UDPv4 link remote: [AF_INET]45.38.178.184:1195
            2022-01-11 08:40:12.507290+01:00 	openvpn 	73688 	UDPv4 link local (bound): [AF_INET]192.168.10.3:0
            2022-01-11 08:40:12.507235+01:00 	openvpn 	73688 	Socket Buffers: R=[42080->524288] S=[57344->524288]
            2022-01-11 08:40:12.507137+01:00 	openvpn 	73688 	TCP/UDP: Preserving recently used remote address: [AF_INET]45.38.178.184:1195
            2022-01-11 08:40:12.428036+01:00 	openvpn 	73688 	Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
            2022-01-11 08:40:12.428014+01:00 	openvpn 	73688 	Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
            2022-01-11 08:40:12.427759+01:00 	openvpn 	73688 	WARNING: experimental option --capath /var/etc/openvpn/client2/ca
            2022-01-11 08:40:12.426711+01:00 	openvpn 	73688 	NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
            2022-01-11 08:40:12.426487+01:00 	openvpn 	73688 	MANAGEMENT: unix domain socket listening on /var/etc/openvpn/client2/sock
            2022-01-11 08:40:12.425588+01:00 	openvpn 	73485 	library versions: OpenSSL 1.1.1k-freebsd 25 Mar 2021, LZO 2.10
            2022-01-11 08:40:12.425575+01:00 	openvpn 	73485 	OpenVPN 2.5.2 amd64-portbld-freebsd12.2 [SSL (OpenSSL)] [LZO] [LZ4] [MH/RECVDA] [AEAD] built on Jun 24 2021
            2022-01-11 08:40:12.425550+01:00 	openvpn 	73485 	WARNING: file '/var/etc/openvpn/client2/up' is group or others accessible
            2022-01-11 08:40:12.425218+01:00 	openvpn 	73485 	WARNING: Compression for receiving enabled. Compression has been used in the past to break encryption. Sent packets are not compressed unless "allow-compression yes" is also set.
            

            There are some warnings about "Compression" - Not important right now (?).
            WARNING: experimental option : nice, we want to experiment.
            two "VERIFY WARNING" for the CRL : we don't care.
            And a "WARNING: this configuration may cache" because we're lazy, so ok.

            d063aaaa-8a82-4885-95f6-d209b3358dd6-image.png

            Do you have exactly the same log lines ?
            ( using "verb 3" means log level 3 - the default )

            No "help me" PM's please. Use the forum, the community will thank you.
            Edit : and where are the logs ??

            A 1 Reply Last reply Reply Quote 0
            • A
              amdreallyfast @Gertjan
              last edited by

              @gertjan
              I changed my custom options to match yours, and then looked at Status -> System Logs -> OpenVPN.

              Noticing AUTH_FAILED. That's clearly bad.

              Note: This is just one AUTH_FAILED cycle. The full logs repeat this log segment many times.

              Jan 11 18:09:57	openvpn	56223	NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
              Jan 11 18:09:57	openvpn	56223	Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
              Jan 11 18:09:57	openvpn	56223	Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
              Jan 11 18:09:57	openvpn	56223	TCP/UDP: Preserving recently used remote address: [AF_INET]45.38.178.54:1195
              Jan 11 18:09:57	openvpn	56223	Socket Buffers: R=[42080->524288] S=[57344->524288]
              Jan 11 18:09:57	openvpn	56223	UDPv4 link local (bound): [AF_INET]68.100.115.149:0
              Jan 11 18:09:57	openvpn	56223	UDPv4 link remote: [AF_INET]45.38.178.54:1195
              Jan 11 18:09:57	openvpn	56223	TLS: Initial packet from [AF_INET]45.38.178.54:1195, sid=6cbc8ab5 ec9e0d58
              Jan 11 18:09:57	openvpn	56223	VERIFY WARNING: depth=0, unable to get certificate CRL: C=VG, ST=BVI, O=ExpressVPN, OU=ExpressVPN, CN=Server-10457-0a, emailAddress=support@expressvpn.com
              Jan 11 18:09:57	openvpn	56223	VERIFY WARNING: depth=1, unable to get certificate CRL: C=VG, ST=BVI, O=ExpressVPN, OU=ExpressVPN, CN=ExpressVPN CA, emailAddress=support@expressvpn.com
              Jan 11 18:09:57	openvpn	56223	VERIFY OK: depth=1, C=VG, ST=BVI, O=ExpressVPN, OU=ExpressVPN, CN=ExpressVPN CA, emailAddress=support@expressvpn.com
              Jan 11 18:09:57	openvpn	56223	VERIFY KU OK
              Jan 11 18:09:57	openvpn	56223	Validating certificate extended key usage
              Jan 11 18:09:57	openvpn	56223	++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication
              Jan 11 18:09:57	openvpn	56223	VERIFY EKU OK
              Jan 11 18:09:57	openvpn	56223	VERIFY X509NAME OK: C=VG, ST=BVI, O=ExpressVPN, OU=ExpressVPN, CN=Server-10457-0a, emailAddress=support@expressvpn.com
              Jan 11 18:09:57	openvpn	56223	VERIFY OK: depth=0, C=VG, ST=BVI, O=ExpressVPN, OU=ExpressVPN, CN=Server-10457-0a, emailAddress=support@expressvpn.com
              Jan 11 18:09:57	openvpn	56223	Control Channel: TLSv1.3, cipher TLSv1.3 TLS_AES_256_GCM_SHA384, peer certificate: 2048 bit RSA, signature: RSA-SHA256
              Jan 11 18:09:57	openvpn	56223	[Server-10457-0a] Peer Connection Initiated with [AF_INET]45.38.178.54:1195
              Jan 11 18:09:58	openvpn	56223	SENT CONTROL [Server-10457-0a]: 'PUSH_REQUEST' (status=1)
              Jan 11 18:09:58	openvpn	56223	AUTH: Received control message: AUTH_FAILED
              Jan 11 18:09:58	openvpn	56223	SIGUSR1[soft,auth-failure] received, process restarting
              Jan 11 18:09:58	openvpn	56223	Restart pause, 10 second(s)
              

              And the gateway is still pending:

              65518b30-de87-4f7a-978c-1511d46ebc36-image.png

              GertjanG 1 Reply Last reply Reply Quote 0
              • GertjanG
                Gertjan @amdreallyfast
                last edited by Gertjan

                @amdreallyfast said in pfsense 2.5.2: ExpressVPN connection working by gateway has 100% packet loss:

                This is just one AUTH_FAILED cycle

                That's a matter of copying correctly your credentials.
                Was this message there all the time ?
                This is the most logical reason the connection doesn't come up : your bank site won't let you in neither with wrong credentials..

                This issue wasn't worth mentioning, as it is easy to correct.

                4c4639a2-52c3-4f31-9146-5465a0aff11a-image.png

                edit : in the folder where you found the opvn client file, you will also find a file called 'up'.
                Open it ;)
                This explains this setting :

                auth-user-pass /var/etc/openvpn/client1/up
                

                @amdreallyfast said in pfsense 2.5.2: ExpressVPN connection working by gateway has 100% packet loss:

                And the gateway is still pending

                When the login is transmitted, and it's wrong, the "PUSH_REQUEST" will not receive the route, gateway, IP etc but an error message : you saw it.
                The gateway isn't reachable, as you failed authentication.
                When the "auth" went well, you receive a

                PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1,dhcp-option DNS 10.46.0.1,comp-lzo no,route 10.46.0.1,topology net30,ping 10,ping-restart 60,ifconfig 10.46.0.134 10.46.0.133,peer-id 56,cipher AES-256-GCM'
                2022-01-11 08:40:14.260127+01:00 openvpn 73688 SENT CONTROL [Server-10448-0a]: 'PUSH_REQUEST' (status=1)

                and as you can see, the gateway, amongst others, is in there. pfSense uses all this info to set up everything.

                No "help me" PM's please. Use the forum, the community will thank you.
                Edit : and where are the logs ??

                A 1 Reply Last reply Reply Quote 0
                • A
                  amdreallyfast @Gertjan
                  last edited by

                  @gertjan

                  Looks like it's working now. The auth problem was caused by an old username/password that went bad when the subscription recently expired. I just renewed it, entered the new username/password, and now the gateway is online.

                  0617125e-4e79-436f-a939-296a9cb06aa4-image.png

                  Then I enabled the firewall rules and firewall NAT -> Outbound routing rules, and it looks like its my San Francisco VPN is now working and routing traffic correctly. I'm writing this post while my router is connected to the new VPN.

                  5d676870-6207-4daf-8fc1-23b8197a39a0-image.png

                  It looks like your settings worked for me too. I remember deviating from the ExpressVPN setup instructions in the VPN client setup by checking Enable NCP (2.4.5; on 2.5.2 it's called "Enable Data Encryption Negotiation") and by unchecking Don't pull routes", and by unchecking both Interfaces -> <vpn interface name> -> Reserved Networks -> Block private networks and loopback addresses and Block bogon networks. And I think that I edited the manual custom configuration options a bit so that they match yours. Current settings.

                  remote-random;
                  pull;
                  comp-lzo;
                  verify-x509-name Server name-prefix;
                  remote-cert-tls server;
                  key-direction 1;
                  route-method exe;
                  route-delay 2;
                  tun-mtu 1500;
                  fragment 1300;
                  mssfix 1450;
                  verb 3;
                  sndbuf 524288;
                  rcvbuf 524288;
                  

                  Thanks for all the patience. Next I'll need to figure out custom routing rules for connections that don't like the VPN. Some places block it and I'll need to make exceptions for those.

                  GertjanG 1 Reply Last reply Reply Quote 1
                  • GertjanG
                    Gertjan @amdreallyfast
                    last edited by

                    @amdreallyfast
                    Sit back, and think with me :
                    What is different between these 'famous' Exprr*VPN instructions, and the ones needed to make VPN works with 2.5.2.
                    You'll agree with me : it's not much. Re see the post about this subject I made several month ( ? ) ago.
                    I'll have a look at it this weekend.

                    No "help me" PM's please. Use the forum, the community will thank you.
                    Edit : and where are the logs ??

                    A 1 Reply Last reply Reply Quote 0
                    • A
                      amdreallyfast @Gertjan
                      last edited by amdreallyfast

                      @gertjan

                      You'll agree with me : it's not much.

                      True. The problem is that network software rarely settles for "close enough". Figuring out exactly what I needed to change was the rough part.

                      And now, curiously enough, the docs pages for pfsense won't load. It's like my firewall (or maybe theirs) is blocking me. Back to the non-VPN configuration while I try to figure out how to pass traffic for certain websites through the non-VPN connection.

                      1 Reply Last reply Reply Quote 0
                      • E
                        elmo1943
                        last edited by

                        I had expressvpn running on 2.5.2 but it was very slow (SFO from Okinawa, Japan) also I could not change from SFO with ease. I finally installed expressvpn firmware on old external router. Tried to connect via pfsense vlan, many times, finally expressvpn help desk told me that expressvpn would not work via a vlan. Reinstalled pfsense, reinistalled pfblocker. Changed to opt1_dmz, configured new gateway and added new static address. Than I changed router from PPPoE to DHCP and expressvpn worked fine, in fact speed testing is as fast as non-vpn speeds and all expressvpn options are available. I use expressvpn for USA paid networks (prime, netflix, etc.) via wifi inside the house. wifi from expressvpn router. Your luck may be different. elmo

                        1 Reply Last reply Reply Quote 0
                        • T
                          Txbongo
                          last edited by

                          @Gertjan

                          Thank you, the monitor IP (8.8.8.8) and compression is what I needed to make mine work!

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post
                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.