I don't know whether this gives us a clue, but according to my own observation with NordVPN connection randomness using pfSense 2.3.4, here is the play-by-play.
-Each hour a TLS renegotiation occurs, and the log indicates that renegotiation completes. Or at least, it doesn't look different than previous renegotiations.
Code:
Sep 14 10:22:19 pf openvpn[21924]: TLS: tls_process: killed expiring key
Sep 14 10:22:21 pf openvpn[21924]: VERIFY OK: depth=1, C=PA, ST=PA, L=Panama, O=NordVPN, OU=NordVPN, CN=us723.nordvpn.com, name=NordVPN,emailAddress=cert@nordvpn.com
Sep 14 10:22:21 pf openvpn[21924]: Validating certificate key usage
Sep 14 10:22:21 pf openvpn[21924]: ++ Certificate has key usage 00a0, expects 00a0
Sep 14 10:22:21 pf openvpn[21924]: VERIFY KU OK
Sep 14 10:22:21 pf openvpn[21924]: Validating certificate extended key usage
Sep 14 10:22:21 pf openvpn[21924]: ++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication
Sep 14 10:22:21 pf openvpn[21924]: VERIFY EKU OK
Sep 14 10:22:21 pf openvpn[21924]: VERIFY OK: depth=0, C=PA, ST=PA, L=Panama, O=NordVPN, OU=NordVPN, CN=us723.nordvpn.com, name=NordVPN, emailAddress=cert@nordvpn.com
Sep 14 10:22:23 pf openvpn[21924]: Data Channel Encrypt: Cipher 'AES-256-CBC' initialized with 256 bit key
Sep 14 10:22:23 pf openvpn[21924]: Data Channel Encrypt: Using 512 bit message hash 'SHA512' for HMAC authentication
Sep 14 10:22:23 pf openvpn[21924]: Data Channel Decrypt: Cipher 'AES-256-CBC' initialized with 256 bit key
Sep 14 10:22:23 pf openvpn[21924]: Data Channel Decrypt: Using 512 bit message hash 'SHA512' for HMAC authentication
Sep 14 10:22:23 pf openvpn[21924]: Control Channel: TLSv1.2, cipher TLSv1/SSLv3ECDHE-RSA-AES256-GCM-SHA384, 2048 bit RSA
-After renegotiation, the VPN client (my pfSense router) cannot ping the VPN server (NordVPN). Here I'm pinging us723.nordvpn.com:
Code:
$ ping 168.242.211.137
PING 168.242.211.137 (168.242.211.137): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
-Client cannot ping the NordVPN gateway
Code:
$ ping 10.8.8.1
PING 10.8.8.1 (10.8.8.1): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
-DNS lookups fail
Code:
$ nslookup www.google.com
;; connection timed out; no servers could be reached
-Despite all this, data continues to be sent from the server and received by the client. However, data sent by the client (which continually tries) doesn't seem to reach the server.
-Eventually, usually within 5-10 minutes, server stops sending traffic to client. I assume this is because the server has sent all it has been asked to send and, in the absence of receiving any new requests from the client since renegotiation, it has nothing to do. Client continues to attempt to send to server.
-Once enough time passes without receiving data from the server, a ping timeout occurs, causing OpenVPN to reset the connection
Code:
Sep 14 10:31:45 pf openvpn[21924]: [us723.nordvpn.com] Inactivity timeout (--ping-restart), restarting
-After reset, the connection once again operates normally.