reconnect script
David Woodhouse
dwmw2 at infradead.org
Sun May 29 04:59:08 EDT 2011
On Fri, 2011-05-27 at 15:25 -0500, Matthew Kitchin (public/usenet) wrote:
>
> ping -c 4 10.85.0.1 2>/dev/null 1>/dev/nul
> if [ $? -ne 0 ]; then
> killall openconnect
> echo passwd|openconnect https://myIP --no-cert-check --script
> /etc/vpn-script --user=username --passwd-on-stdin
> fi
FWIW this is the script I use to keep openconnect up. It pauses between
reconnect attempts if it's failing to connect, and it aborts if it gets
a login failure...
OpenConnect itself should always exit when it's no longer working, as
long as DPD is running. And if for some reason it isn't requested by
your server, you can use the --force-dpd option to enable it anyway.
#!/bin/bash
VPNSERVER=x.x.x.x
read -p "Enter VPN password: " -s PASS
while true; do
route add default gw 90.155.92.193
THEN=`date +%s`
echo $PASS | openconnect -c /home/dwmw2/.cert/certificate.p12 --key-password-from-fsid $VPNSERVER -x foo.xml --script /etc/vpnc/vpnc-script --mtu 1266 -u david.woodhouse at intel.com --passwd-on-stdin
if [ $? -eq 2 ]; then
echo Exit code 2
exit 1
fi
NOW=`date +%s`
if [ $NOW -lt $(($THEN + 60)) ]; then
echo Need to wait $(($THEN + 60 - $NOW)) seconds
sleep $(($THEN + 60 - $NOW))
fi
done
--
dwmw2
More information about the openconnect-devel
mailing list