Hi, I'm experimenting with using VPNC to make a VPN connection to a client
network via their Cisco router:  https://linux.die.net/man/8/vpnc

It needs to be at least somewhat reliable, so I'd like to manage it with
Monit, but I'm having some challenges with getting it going.  It will start
and successfully establish the VPN tunnel when I start it manually, but so
far I can't get it to start via Monit.

Here's what I see on the Monit webmin:

Process status
ParameterValue
Name vpnc
Pid file /var/run/vpnc.pid
Status Execution failed | Does not exist
Monitoring status Monitored
Monitoring mode active
On reboot start
Start program '/home/myers/vpnc-wrapper' timeout 30 s
Stop program '/home/myers/vpnc-wrapper' timeout 30 s
Data collected Wed, 06 May 2020 13:42:11
Existence If doesn't exist then restart


I verified the full path to VPNC:

12$ which vpnc

/usr/sbin/vpnc

Since VPNC doesn't make a pidfile, I created a wrapper script:

-rw-rw-rw-. 1 root  root  246 May  5 18:54 vpnc-wrapper

41$ cat vpnc-wrapper

#!/bin/bash

 case $1 in

    start)

       echo $$ > /var/run/vpnc.pid;

       exec 2>&1 /usr/sbin/vpnc 1>/tmp/vpnc.out

       ;;

     stop)

       kill `cat /var/run/vpnc.pid` ;;

     *)

       echo "usage: vpnc {start|stop}" ;;

 esac

 exit 0


And this is how I'm invoking it from my /etc/monitrc:

check process vpnc with pidfile /var/run/vpnc.pid

       start = "/home/myers/vpnc-wrapper"

       stop = "/home/myers/vpnc-wrapper"


Anyone have any thoughts for where I might be going wrong here?

Reply via email to