У меня есть рабочее VPN-соединение. Работает как мечта.
Что не работает, так это опция «Автоматически подключаться» на панели диспетчера сетевых подключений. Он никогда не подключается автоматически, ни при загрузке, ни после отключения. Я не совсем уверен, для чего этот вариант. И я буду отключен от VPN без предупреждения.
Есть ли способ убедиться, что мой компьютер подключается к Интернету только через VPN? Так что, если VPN-соединение не установлено, мой компьютер не может подключиться к Интернету. И есть ли способ заставить ubuntu попытаться автоматически переподключиться к VPN, если по какой-то причине соединение обрывается?
К сожалению, "Подключение Автоматически" позволяет VPN соединяться, когда Вы пытаетесь посетить сервис, это не в других отношениях достижимо, что означает, что это не будет работать на поддержание соединений VPN, используемых только (или даже прежде всего) в целях конфиденциальности.
Единственным путем я нашел для продолжений, VPN должна иметь crontab запись, которая работает
nmcli con on id YourVPNName
Это предполагает, что Вам настроили Вашу VPN через NetworkManager, который Вы, вероятно, делаете.
Что касается автоматического переподключения, вы можете попробовать это - VPNautoconnect . Кажется, что он работает довольно хорошо (и переподключается сразу после сброса VPN по какой-то причине) и имеет графический интерфейс (не нужно использовать командную строку). Он работает с подключениями из Network Manager.
У меня 12.04 подключается автоматически через 1 минуту после входа в систему. Я подозреваю, что отчасти проблема заключается в том, что пароль VPN хранится в зашифрованной домашней папке, которая недоступна до тех пор, пока пользователь не вошел в систему, поэтому происходит сбой при запускать. Итак, я сделал crontab
Я поместил предложение Грега в новый скрипт (/etc/NetworkManager/script.sh) после 1-минутной задержки:
sleep 60
nmcli con up id "MyVPNConnectionName"
Затем я добавил crontab (crontab -e), который вызывает скрипт при запуске:
@reboot /bin/bash /etc/NetworkManager/script.sh
Это, вероятно, не самый элегантный способ сделать это. Это может означать, что пользователь должен войти в систему в течение 60 секунд после запуска, иначе соединение VPN не будет установлено. Кроме того, если вы сделаете что-нибудь онлайн в первые 60 секунд, это не повлияет на VPN. Так что ... да, именно это я и сделал.