Как поддерживать несколько постоянных соединений vpnc в Ubuntu

Блог Марка Ноулза содержит хорошее объяснение того, как поддерживать постоянное соединение vpnc. Однако, это не работает хорошо для нескольких соединений vpnc (Соединение не работает для меня, все переподключается при одном отключении,...). Есть ли лучший способ поддерживать несколько соединений vpnc?

1 ответ

Следующие модификации хорошо работают для нескольких профилей:

  1. добавлять Local Port 0 в ваши файлы.conf в /etc/vpnc, если вы этого еще не сделали. Это будет использовать случайные локальные порты и позволит лучше использовать несколько соединений.
  2. Для каждого соединения выберите IP-адрес и порт в сети VPN, к которой вы хотите подключиться (и поддерживайте соединение). Для каждого соединения напишите скрипт в / usr / local / bin, который проверяет, что соединение все еще возможно, и если нет, запускает vpnc, например EnsureVPNXXX.sh с

    #!/bin/bash
    if ! nc -z -w 2 targetip targetport
    then /usr/sbin/vpnc-connect connectionprofile.conf
    fi
    
  3. Изменить скрипт переподключения /etc/vpnc/reconnect-script использовать все эти EnsureXXX.sh скрипты (делайте их один за другим, поэтому нет & в конце)

    #!/bin/bash
    sleep 30
    /usr/local/bin/EnsureVPN1XXX.sh
    /usr/local/bin/EnsureVPN2XXX.sh
    ...
    
  4. /etc/init.d/vpnc сценарий почти такой же, за исключением того, что вам не нужно исходный код /etc/default/vpnc больше

Не забывайте, что скрипты должны быть исполняемыми. Пока вы вызываете их из root, эти скрипты очень хорошо работают в любых автоматизированных cron-заданиях, например, перед вызовом scp или же rdesktop на любой ящик в сети VPN, просто сделайте довольно EnsureVPNxxx.sh, Вы всегда можете выйти из корня с su -u yourusername command, И использовать crontab root, очевидно.

Другие вопросы по тегам