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 @Gertjan
      last edited by amdreallyfast

      @gertjan

      Expr*ssVP always exported 'ovpn' files.

      ...Then why can't I? This is weird. I previously mentioned that I've tried SF, LA, and DC, so I tried turning on all their VPN clients and interfaces, wondering if that might cause it to create a client1 folder to separate the three clients. Nope. My ... folder now looks like this. I don't know why OpenVPN is not creating .ovpn files. Any ideas?

      9ef2f0df-85c8-4801-b6f0-7b11506d6f29-image.png

      That an image from this thread.
      You can't see it ?

      Oh. That's your file? I was looking for a file attachment (as opposed to copy-pasted values), but now I have questions about this (see next question).

      I had to add these missing :
      <several lines of custom options>
      Now my config.opvn file looks like this :
      <more lines of custom options>

      Which one is your file? You said that you had to add some values, and then you say, "my config.ovpn file looks like this" and you show a list of custom options that does not include the ones that you just said you had to add. Now I'm confused about what your file looks like. Are you sure that's the entirety of the .ovpn file and that the file does not include the items that you had just added?

      When I empty this field :
      <screenshot of Monitor IP>
      the pfSense montoring system will auto choose an IP, like your "10.173.0.137".
      And I see the same thing : no ping replies. So it says 'offline'.

      I don't think that we're seeing the same thing. The Monitor IP field is blank for all three of my VPN client configurations (SF, LA, DC), and all three of them do show ping replies while the gateway is offline. Please explain. Are you saying that I should leave Monitor IP blank or that I should not leave it blank?

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

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

        Then why can't I?

        Because you strugle with the wrong questions ;)

        There is no such thing as exporting a "OpenVPN client" config file.

        A OpenVPN server installation you have set up, benefits from the pfSense "openvpn-client-export" package. The file you exports comes from the OpenVPN (server parameters) and are used by the future OpenVPN clients, so they can access the (your) OpenVPN server for remote access.

        Your subject is all about the OpenVPN client set up.
        The OpenVPN server - the provider, in this case - is ExpressVPN.
        So it's Express VPN that shares a 'config file' with you, what I call the opvn config file. You downloaded it.
        This file has to be used as a guide line to fill in the pfSense GUI client page.
        Currently, pfSense does not offer a no way to 'import' the file you got from ExpessVPN.

        Now you understand (bitter) why I want you to look at the openvpn client config file that pfSense GUI has created with it's GUI.
        This file has to resemble as close as possible as the file you obtained from ExpressVPN.

        64ab6c69-743f-4087-877f-d4137324c012-image.png

        The
        Server
        Client specific overrides
        Wizard
        Client Export
        Shared key Export

        are related to the OpenVPN server.

        The OpenVPN client has only one page : the one that's underlined in my image.

        An important aspect is also : the GUI can only handle a subset of the possible options or settings. A GUI is useful for enforcing 'illegal' option combinations.

        Got it ?! ;)

        Side note : it would be nice to have the possibility to import a server side generated file, so you can set up the client easely.
        But there is a thing : settings are version specific. They change all the time.
        "openvpn" as a program has close to one thousand settings (options and possible combination of options combined - it's close to impossible to write a GUI to handle them all.

        Big (server type) apps, like apache2, nginx, postfix and bind (named) can not be set up using a GUI.
        You have to fall back to the classic 'confg files' as the shear number of combinations of settings is just daunting.

        Btw : the last part is totally IMHO.

        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

          Because you strugle with the wrong questions ;)

          The curse of learning. Thanks for bearing with me through this. Books and tutorials can't correct me when I understand a term badly, but you can. Thanks :).

          Now you understand (bitter) why I want you to look at the openvpn client config file that pfSense GUI has created with it's GUI.
          This file has to resemble as close as possible as the file you obtained from ExpressVPN.

          Alright, so how do I get "the openvpn client config file that pfSense GUI has created with it's GUI"? You walked me through sftp, but that showed that I didn't have a .ovpn file at all. Is there a way to get this .ovpn file through the GUI?

          It sounds like you're looking for the Client Specific Overrides. Are you sure? Mine are blank. I have done anything here.

          b2807dc0-7c75-45fe-a70f-5e3598f30397-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:

            It sounds like you're looking for the Client Specific Overrides

            A point for you !

            I meant :

            544fd521-dcb5-45c1-b7cd-940431327b2f-image.png

            All the other menu options are 'server' related.

            edit :
            I restarted reading you first post (see above).
            I decided to enter exactly what you've mentioned.
            One exception : I removed my password.

            https://www.test-domaine.fr/VPN-Client.png

            Compare this huge image with your settings.
            Double check for differences.
            ( edit : I found a difference : my verbosity (log) level is 3 - level 10 is far to detailed, create hundreds of entries a second. Leaving it 10 or 3 has no other side effect )

            With these settings :

            2ae4a577-70ab-4960-92bc-2e7954effaa3-image.png

            4eba0f7a-bdc1-4bc9-a69f-eb910e0c55fc-image.png

            4b49dab3-cd45-4281-ac74-a5ddfddd8597-image.png

            I monitored 8.8.8.8 to check the VPN-Client connection - RTT is a bit high as I'm based in France, St Jose in the US is not really close.

            All I had to to to make the connection works, was switching from :

            cdab1de9-d54e-4bd2-8fca-ef7751e8af32-image.png

            "automatic mode" to "hybrid mode" and save.
            I'm now connected the entire company over Expr*ssVPN ...... I wasn't expecting this, as I wanted to focus on making the connection work first, and then go for the outbound natting.

            I didn't even add a 'policy' firewall rule on my LAN interface to make the connection work.
            It's not activated :

            91bcfbda-6fd8-4b13-989a-6965bda5b703-image.png

            So, first things first : Make your connection work.

            Btw : this is the file the OpenVPN client is using right now :

            /var/etc/openvpn/client2/config.ovpn

            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
            
            persist-key
            
            persist-tun
            
            remote-random
            
            pull
            
            comp-lzo
            
            tls-client
            
            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
            

            You can clearly see de double spaces lines at the bottom, some of them are present twice in the config file.
            This is an issue for later, because, with these settings, it works.

            I'm using :

            a9aff018-b668-486d-b7b8-310c436b7068-image.png

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

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

              @gertjan

              That's a real big screenshot. Kudos on spending the time to piece that monstrosity together.

              Noticed some differences:

              1. The ExpressVPN setup instructions for 2.4.5 say to leave NCP (Negotiable Cryptographic Parameters) blank, but in your 2.5.2 configuration you have it checked (now called "Data Encryption Negotiation").
                0bc085ce-9297-413d-be96-af45dfb584eb-image.png

              2. The ExpressVPN setup instructions for 2.4.5 say to check "Don't pull routes", but you haven't.
                a497e330-01b9-4c70-a998-a07ce5d71022-image.png

              But I followed along anyway and replicated your settings. And the gateways are still offline. I haven't adjusted the firewall rules yet. I'm still trying to get these gateways online.

              Note: Prior to making these screenshots, I shortened the names of the VPN clients and their interfaces, so they'll appear a little different than in prior screenshots, but they're still the same ones.

              • VPN clients online
                010be3f9-95c8-4c2d-a5ba-e052ae869e1f-image.png

              • Gateways offline
                b8cefe0a-29d0-4a4f-b41b-00943eae4320-image.png

              • Using ExpressVPN's IP address checker:
                17bc4a9d-1e28-427d-8897-b1f507c54835-image.png

              • Interface settings
                a92b3af8-61a1-424e-ae5b-9ab611648da1-image.png

              • Gateway settings
                a6c68e55-6f01-4093-8c96-45e76ac18487-image.png

              • Client settings
                a80757f7-e61d-46f5-85c4-70c6398c9c69-image.png

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

                @gertjan

                At this point I'm thinking that the only way forward is for a network expert who's familiar with PfSense and OpenVPN to sit down at my computer and poke around until they can figure out what's going on. Whatever my problem is, it's not normal. I'm not a network expert, and I don't know how to diagnose this. I've replicate other peoples' working settings, and it isn't working on my end. Here's some more diagnostic info; does it give you any ideas about where to start diagnosing next?

                • I can tell from a basic Wireshark scan of my network traffic that TCP failure and retransmission is not uncommon, and PfSense's Status -> System Logs -> Gateways shows me that communication with the gateways is frequently timing out. All gateways are timing out, including the WAN, which is what I'm currently using to get online and talk with you.

                  These are all from this morning:
                  647483bf-5724-4e50-8eca-da88648e96f6-image.png

                • It's rather frequent that I try to load a web page, wait several seconds, the page fails to load and the browser says that it can't find the page, and then it automatically retries and succeeds (sometimes needs to retry twice). I don't know what is causing this frequent failure, or if there's anything I can do about it. I've got a 100Mbps internet connection over cable that is usually stable and reliable once connection is actually established (ex: a long download or a big YouTube video doesn't fail once it's started). It shouldn't take 5-10sec to load a google search. The failures (when they happen) only occur when initially loading a page. If it were a random hardware failure (circuitry going bad, loose cable, etc.), I'd expect random disconnects during downloads and streaming large video, but I'm not seeing that.

                  I've mentioned before that when I use the ExpressVPN desktop app to make a VPN connection, all those connection issues for my PC disappear. Web pages load quickly 100% of the time, no timeouts, no lost connections. That makes me wonder if there's some sort of packet monitoring and sniffing going on after the traffic leaves my network that either slows the transmission enough to time out or stops it entirely. Why would making an encrypted tunnel to ExpressVPN's servers magically make the disconnects go away?

                • My connection is this: Cable -> modem -> router (mini PC running PfSense 2.4.5) -> TP-Link Archer A7 (wifi router/switch configured as access point only) -> PC.

                  Here's the TP-Link Archer A7 set in AP mode
                  1a1bb1ea-a515-40cf-a0fc-6b5f0a5b5eb4-image.png

                • The TP-Link Archer A7's DHCP Server is set to Auto, but the DHCP client list is empty, so I'm guessing that it was smart enough to not try to be a DHCP server when in AP mode. Should I explicitly turn that off?
                  d77612e7-494a-4d2c-9b2f-6a32f213a304-image.png

                Does this info give you any ideas of where I can start diagnosing next?

                Any ideas of network diagnostic tools that can help me track down where the traffic is disappearing and why?

                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:

                  but in your 2.5.2 configuration you have it checked (now called "Data Encryption Negotiation").

                  Because (see above) :

                  Data Encryption Negotiation - <checked>

                  It's checked because "openvpn 2.5.2 needs (like mandatory) it.

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

                  The ExpressVPN setup instructions for 2.4.5 say to check "Don't pull routes", but you haven't.

                  ?? Correct - both are non checked.
                  ( probably because the server (ExpressVPN) pushed them ).

                  About the images that show the red 'offine' : use 8.8.8.8 as the monitoring IP : the IP's used (your IPs) do not reply to ping, so there will be a red "offline, even when the connection is online.
                  This one :

                  77a8207c-c183-4ca3-a0da-9add9e43472d-image.png

                  Can't find this one in your images ?

                  e2eca7cf-738d-4163-ae57-69efe83117f7-image.png

                  You have pfSense 2.5.2, right ? I can't help you with the old OpenVPN 2.4.8 used by pfSense 2.4.5p1.
                  The OpenVPN versions used are different. OpenVPN went from 2.4.8 to 2.5.2 Several options changed ( and that is why this subject exists ). Some minor parameter changes were needed to make it work again.

                  Btw : your AP should be an AP. Nothing else. Don't leave the DHCP server on Auto, shut it down ( off ). ( because : scenario : powerdown -> powerup : IF the AP boots up earlier as pfSense, the AP server will activate - moments later the sense DHCP servers activates : You've created a whole new issue)
                  The AP is not part of the issue right now. And if doubt, remove the AP from the equation - use a straight cable, as cables are easy to debug ;)

                  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

                    About the images that show the red 'offine' : use 8.8.8.8 as the monitoring IP

                    Done.

                    BTW, the WAN's "Monitor IP" is set to itself. Is that bad? I didn't set it as such, so it must be the default.

                    2194cf95-e008-4990-b1ef-ddbb300aff10-image.png

                    You have pfSense 2.5.2, right ?

                    I downgraded to 2.4.5 (via format -> fresh install) because I've been trying to replicate the conditions that the ExpressVPN setup instructions expect. If I update to 2.5.2, then I won't be able to go back, but since you were able to get ExpressVPN working on 2.5.2, then I hope that the upgrade shouldn't be an issue. I'll do that tonight.

                    Btw : your AP should be an AP. Nothing else.

                    Done. Turned it off. At least that's out of the way.

                    BTW, I'm hesitant to remove the AP entirely because then I won't have wireless. My router box only has to two ethernet ports. I can't run my PC to the router and still have wireless internet. If the issues continue to persist, I'll try doing it. In hindsight, I should have purchased a mini PC with 4 network ports, but I didn't think of that at the time.

                    1 Reply Last reply Reply Quote 0
                    • 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.