What is the easiest way to detect that a vpnc connection on Linux/Ubuntu has disconnected?

Manually, I think the way to detect is to check whether the interface (tun0) appears in /sbin/ifconfig output. Is there a better way to find out immediately, so that a script can be run to restart the connection?

  • 1
    How often does the VPN disconnect? and you need to find out why if it is more than once every few hours. Sep 13, 2009 at 18:21
  • some vpn servers/clients can be configured to disconnect after a certain period of inactivity. this is something the IT staff would configure. Oct 11, 2009 at 21:27
  • I've hit this, too. Are you using vpnc-connect/vpnc-disconnect by any chance?
    – TREE
    Oct 15, 2009 at 20:45

4 Answers 4


The script /etc/vpnc/vpnc-script is called on various events, including connect and disconnect.

This sounds like you are using ubuntu or debian. If you are, the scripts




are called for the relevant events. You can create those files if they don't exist, and put whatever logic you want in there.

If you aren't using a debian-based distribution with these sub-scripts, you can modify /etc/vpnc/vpnc-script directly to add whatever logic you want.

If you are going to have logic to call vpnc-connect again, I recommend disconnecting that from the disconnect script somehow so you don't end up in an infinite loop.


I use a cron to take care of it so I can easily change it without having to remember what script I edited. The cron job is below.

*/15 * * * * [[ -d /sys/devices/virtual/net/tun0 ]] || /usr/sbin/vpnc /etc/vpnc/yourconf.conf


Typically the VPN connection should not break so frequently. In your case, you can first try to diagnose the real connectivity issue instead of writing scripts to automatically connect to the vpn when disconnected.


The below worked for me:

/sbin/ifconfig | /bin/grep -q tun0 || sudo /usr/sbin/vpnc-connect

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.