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