Следующие модификации работают хорошо для нескольких профилей:
- Добавьте
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
. Вы всегда можете отказаться от root с помощью su -u yourusername command
. И использовать crontab root, очевидно.