After updating to Ubuntu 15.10 a box with an OpenVPN termination I am using to browse when I travel and use insecure networks, my VPN tunnel stops working. I am using, in this particular box, an OpenVPN server that relies on PAM plugin for authentication (and 2-step verification).
Given the fact that I keep all my configuration files under etckeeper, the problem determination began with some
git log under my
/etc directory, both on server and client. Obviously, no configuration has changed during the upgrade.
The problem has to be somewhere. I had a look at the logs:
12:47:46 ovpn-3-rtr.bgo ovpn-server: x.x.8.234:64484 TLS: Initial packet from [AF_INET]x.x.8.234:64484 12:47:48 ovpn-3-rtr.bgo ovpn-server: x.x.8.234:64484 PLUGIN_CALL: POST /usr/lib/openvpn/openvpn-plugin-auth-pam.so/PLUGIN_AUTH_USER_PASS_VERIFY status=1 00:47:48 ovpn-3-rtr.bgo ovpn-server: x.x.8.234:64484 PLUGIN_CALL: plugin function PLUGIN_AUTH_USER_PASS_VERIFY failed with status 1: /usr/lib/openvpn/openvpn-plugin-auth-pam.so 12:47:48 ovpn-3-rtr.bgo ovpn-server: x.x.8.234:64484 TLS Auth Error: Auth Username/Password verification failed for peer 12:47:50 ovpn-3-rtr.bgo ovpn-server: x.x.8.234:64484 SENT CONTROL [UNDEF]: 'AUTH_FAILED' (status=1) 12:47:50 ovpn-3-rtr.bgo ovpn-server: x.x.8.234:64484 Connection reset, restarting  12:47:50 ovpn-3-rtr.bgo ovpn-server: x.x.8.234:64484 SIGUSR1[soft,connection-reset] received, client-instance restarting
(obviously I was providing the correct username and password).
Ok, the problem was occurring with PAM plugin. After some research and trial, I came across Bug #1511524 “OpenVPN PAM authentication broken on 15.10 Server” : Bugs : openvpn package : Ubuntu: that is caused by a bug in Ubuntu package of OpenVPN (and specifically in OpenVPN systemd unit file).
As described in the bug, you have three ways to restore a normal situation. Either:
- stop the daemon and launch OpenVPN daemon
- or you can just wait while they ship a package with a correct systemd unit file.
Don’t forget to
systemctl restart openvpn to apply changes and use your VPN:
13:03:49 ovpn-3-rtr.bgo ovpn-server: x.x.10.176:61423 PLUGIN_CALL: POST /usr/lib/openvpn/openvpn-plugin-auth-pam.so/PLUGIN_AUTH_USER_PASS_VERIFY status=0 13:03:49 ovpn-3-rtr.bgo ovpn-server: x.x.10.176:61423 TLS: Username/Password authentication succeeded for username 'x'