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

3349
Cookie

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

1

1 ответ на вопрос

2
Cookie

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

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

Похожие вопросы