Como manter várias conexões vpnc persistentes no Ubuntu

1

Blog do Mark Knowles tem uma boa explicação sobre como manter uma conexão vpnc persistente. No entanto, isso não funciona bem para várias conexões vpnc (Conectar não funciona para mim, tudo é reconectado em uma única desconexão, ...). Existe uma maneira melhor de manter várias conexões vpnc?

    
por Cookie 13.02.2012 / 09:06

1 resposta

2

As seguintes modificações funcionam bem para vários perfis:

  1. 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.
  2. 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
    
  3. Altere o script de reconexão /etc/vpnc/reconnect-script para usar todos esses EnsureXXX.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
    ...
    
  4. 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.

    
por 13.02.2012 / 09:21