As seguintes modificações funcionam bem para vários perfis:
- Adicione
Local Port 0
aos seus arquivos .conf em / etc / vpnc, se você não tiver feito isso. Isso usará portas locais aleatórias e permitirá várias conexões melhores. -
Para cada conexão, escolha um IP e uma porta na rede vpn à qual você deseja se conectar (e manter uma conexão). Para cada conexão, escreva um script em / usr / local / bin que verifique se a conexão ainda é possível e, se não, iniciar o vpnc, por exemplo,
EnsureVPNXXX.sh
com#!/bin/bash if ! nc -z -w 2 targetip targetport then /usr/sbin/vpnc-connect connectionprofile.conf fi
-
Altere o script de reconexão
/etc/vpnc/reconnect-script
para usar todos essesEnsureXXX.sh
scripts (faça-os um após o outro, portanto, não&
no final)#!/bin/bash sleep 30 /usr/local/bin/EnsureVPN1XXX.sh /usr/local/bin/EnsureVPN2XXX.sh ...
- O script
/etc/init.d/vpnc
é quase o mesmo, exceto que você não precisa mais/etc/default/vpnc
de origem
Não se esqueça de que os scripts precisam ser executáveis. Desde que você os chame a partir do root, esses scripts funcionam muito bem em qualquer tarefa do cron automatizada, por exemplo, antes de você chamar scp
ou rdesktop
em qualquer caixa na rede vpn, basta fazer um EnsureVPNxxx.sh
. Você sempre pode sair da raiz com um su -u yourusername command
. E use o crontab do root, obviamente.