4

Im on RHEL, and found that my VPN stopped working.

I discovered that I could use the command line utility, nmcli, to try to get more info about what was happening.

However, Im finding that the vpn still seems to fail and the error has no clear meaning:

[jvyas@jvyas jvyas]# nmcli con up id "XXXXXXXXX"
Active connection state: unknown
Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/11
state: VPN connecting (need authentication) (2)
state: VPN connecting (3)
state: VPN connecting (getting IP configuration) (4)suggested tags: vpnnetworkingwireless-networking
Error: Connection activation failed: unknown reason.

So , to try some googling - I found the switch statement that this error message is being returned from, and it looks like most conditions are handled pretty well, which means something very funny must be going wrong when i try to connect to VPN:

+static const char *
+vpn_connection_state_reason_to_string (NMVPNConnectionStateReason reason)
+{
+ switch (reason) {
+ case NM_VPN_CONNECTION_STATE_REASON_UNKNOWN:
+ return _("unknown reason");
+ case NM_VPN_CONNECTION_STATE_REASON_NONE:
+ return _("none");
+ case NM_VPN_CONNECTION_STATE_REASON_USER_DISCONNECTED:
+ return _("the user was disconnected");
+ case NM_VPN_CONNECTION_STATE_REASON_DEVICE_DISCONNECTED:
+ return _("the base network connection was interrupted");
+ case NM_VPN_CONNECTION_STATE_REASON_SERVICE_STOPPED:
+ return _("the VPN service stopped unexpectedly");
+ case NM_VPN_CONNECTION_STATE_REASON_IP_CONFIG_INVALID:
+ return _("the VPN service returned invalid configuration");
+ case NM_VPN_CONNECTION_STATE_REASON_CONNECT_TIMEOUT:
+ return _("the connection attempt timed out");
+ case NM_VPN_CONNECTION_STATE_REASON_SERVICE_START_TIMEOUT:
+ return _("the VPN service did not start in time");
+ case NM_VPN_CONNECTION_STATE_REASON_SERVICE_START_FAILED:
+ return _("the VPN service failed to start");
+ case NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS:
+ return _("no valid VPN secrets");
+ case NM_VPN_CONNECTION_STATE_REASON_LOGIN_FAILED:
+ return _("invalid VPN secrets");
+ case NM_VPN_CONNECTION_STATE_REASON_CONNECTION_REMOVED:
+ return _("the connection was removed");
+ default:
+ return _("unknown");
+ }

The above switch statement looks pretty comprehensive ! I wonder... what ELSE could possibly be going wrong with my vpn connection attempt?

Im assuming maybe there are some directories or files whose permissions may have recently been modified or corrupted... maybe there is a way to reset my nmcli (or its config files, or whatever else may have suddenly gone wrong) to previous settings?

***** UPDATE ********

My acute issue was due to a bad password. I think this might constitute a bug in the nm or nmcli app. I assume that it should be possible to interpret if a login is "rejected" with a more explicit error.

  • Update: Ive confirmed that the exact same error happens when i enter a known gibberish password. So - maybe a bad password can lead to failure for "unknown reason" ? Also, Ive confirmed that entering no password yeilds a "there were no valid secrets" error message – jayunit100 Jun 1 '13 at 16:08
  • What version of RHEL? what version of NM?are you running both NM and networking daemon? – Dejan Jun 3 '13 at 13:47
  • This was due to a locked/unsynchronized login password token. But the cryptic error message is still very troubling. nmcli version "0.8.1-33.el6", nm version : "2.20.51.0.2-5.34.el6 20100205" – jayunit100 Jun 3 '13 at 20:18
  • RE RHEL version, 6.2 - but thats probably not relevant. I think this is a bug in the error message displayed by NM – jayunit100 Jun 3 '13 at 23:36
  • My problem was incorrect password too!! This should be fixed! – MJafar Mash Oct 25 '15 at 7:24
1

NetworkManager is a bit lacking when it comes to reporting VPN errors. Best thing to do is to consult the VPN sections over here:

https://live.gnome.org/NetworkManager/Debugging

In other words (for openvpn debugging) run in a terminal:

/usr/libexec/nm-openvpn-service --debug

Then fire up your VPN connection and see what happens.

0

For me the "unknown reason" trying to start a VPNC connection was that port 500 was already in use.

# /usr/lib/NetworkManager/nm-vpnc-service --debug
..
/usr/sbin/vpnc: Error binding to source port. Try '--local-port 0'
Failed to bind to 0.0.0.0:500: Address already in use

Turns out, I'd forgotten I'd installed strongswan on Mint 17.3 and it was autostarting and listening on port 500.

  • Can you give a solution to OP not what happened with you – yass May 22 '17 at 19:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.