1

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

1 ответ1

2

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

  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, очевидно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .