5

I've got an OpenVPN server and a Android OpenVPN client (OpenVPN Connect). In the server config I've configured it to use a less often than standard keepalive ping. By default, it's a ping every 10 seconds, but I want to save battery by increasing this to 600. In the server.conf I've put a line keepalive 600 1800 to do this.

I'm expecting the server to push these settings to the client and that the client honours these settings. However, on the client I see disconnects already after 40 seconds after connecting due to inactivity!

Here's what I see in detail:

  • The OpenVPN pushes the ping 600 and ping-restart 1800 (as a result of the keepalive statement) perfectly fine to the client.

    enter image description here

  • Disconnect reason is as quick as 40 seconds after connection on idling, reason: Session invalidated: KEEPALIVE_TIMEOUT. That does not make sense to me.

    enter image description here

    • Server version: 2.1.3 x86_64-pc-linux-gnu (Debian version 2.1.3-2+squeeze1)
    • Client version: 1.1.12 build 45 (OpenVPN Connect from Google Play)
    • Android version: 4.2.2 (Paranoid Android 3.69)

How can I have an increased interval for keepalive pings and have the client not disconnect?

FYI - I've also posted this on OpenVPN support forums: topic.

  • As your session seems to timeout after 40s, have you tried to start with a smaller timeout, say, 30s? That would still be more than the default 10s and thus save some juice, while being below the 40s timeout window and thus should keep your session alive. – Izzy Jul 28 '13 at 20:51
2

It's a bug with OpenVPN Connect, apparently:

You are absolutely right -- server-pushed keepalive parameters (ping, ping-restart) are being ignored in 1.1.12 and earlier.

Will be fixed in next release.

Thanks,

James

By using OpenVPN for Android (alternative), I can connect properly.

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.