Как поддерживать несколько постоянных соединений vpnc в Ubuntu
Блог Марка Ноулза содержит хорошее объяснение того, как поддерживать постоянное соединение vpnc. Однако, это не работает хорошо для нескольких соединений vpnc (Соединение не работает для меня, все переподключается при одном отключении,...). Есть ли лучший способ поддерживать несколько соединений vpnc?
1 ответ
Следующие модификации хорошо работают для нескольких профилей:
- добавлять
Local Port 0
в ваши файлы.conf в /etc/vpnc, если вы этого еще не сделали. Это будет использовать случайные локальные порты и позволит лучше использовать несколько соединений. Для каждого соединения выберите 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
Изменить скрипт переподключения
/etc/vpnc/reconnect-script
использовать все этиEnsureXXX.sh
скрипты (делайте их один за другим, поэтому нет&
в конце)#!/bin/bash sleep 30 /usr/local/bin/EnsureVPN1XXX.sh /usr/local/bin/EnsureVPN2XXX.sh ...
/etc/init.d/vpnc
сценарий почти такой же, за исключением того, что вам не нужно исходный код/etc/default/vpnc
больше
Не забывайте, что скрипты должны быть исполняемыми. Пока вы вызываете их из root, эти скрипты очень хорошо работают в любых автоматизированных cron-заданиях, например, перед вызовом scp
или же rdesktop
на любой ящик в сети VPN, просто сделайте довольно EnsureVPNxxx.sh
, Вы всегда можете выйти из корня с su -u yourusername command
, И использовать crontab root, очевидно.