Автоматический запуск клиента OpenVPN при загрузке

34

Я пытаюсь заставить OpenVPN запускаться автоматически при загрузке. Сегодня я должен ввести вручную

sudo openvpn --client --config $HOME/openvpn/anonine.ovpn --ca $HOME/openvpn/anonine.ca.crt 

затем имя пользователя и пароль. Есть ли хороший способ сделать это автоматически при загрузке?

user280409
источник

Ответы:

42

Редактировать /etc/default/openvpn. Просто нажмите Ctrl+ Alt+ Tна клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду (ы) ниже:

sudo gedit /etc/default/openvpn

Раскомментируйте AUTOSTART="all"строку. Сохранить и закрыть. Перезагрузите вашу систему.

образ

Митч
источник
(i) Как можно запустить конкретный VPN таким образом? (ii) Кто обеспечивает аутентификацию для соединения, инициированного таким образом (может ли оно инициировать соединения без сохранения комбинации имени пользователя и пароля в виде простого текста)? (iii) Если возможно, предпочтительнее использовать методы cli (позволяет реализовать их на автономном сервере). Я могу заменить nanoна gedit, но не могу использовать нм-апплет для хранения учетных данных в связке.
Джонатан Я.
@JonathanY. Взгляните на эти доступные ресурсы, Здесь и Здесь . Вы также можете рассмотреть возможность задать новый вопрос.
Митч
6
Весьма признателен. Насколько я могу судить, ответ на (i) (который находится в рамках этого вопроса) заключается в том, что он AUTOSTART="all"пытается запустить каждый .confфайл /etc/openvpn(хотя я бы хотел получить подтверждение). Ответ на (ii) также разумно ограничен этим вопросом - вы не можете автоматически инициировать VPN-соединение, если секреты не доступны без ввода пользователя (цепочка для ключей предпочтительнее обычного текста по очевидным причинам). Я признаю, что (iii) является внеклассной и вполне заслуживает нового вопроса. Ни один из них не отвечает в этих ссылках, что я вижу, хотя.
Джонатан Y.
Как говорится в комментарии на рисунке, по умолчанию для AUTOSTART по умолчанию используется значение «все». Это редактирование, следовательно, не нужно, на мой взгляд.
Ив Б
1
@YvesB По умолчанию «все», только когда AUTOSTART не закомментирован и пуст
GuSuku
9

Если вы используете systemd (16.04), настроили AUTOSTART = "all", и он все еще не запускается, обратите внимание на это:

> # If you're running systemd, changing this variable will
> # require running "systemctl daemon-reload" followed by
> # a restart of the openvpn service (if you removed entries
> # you may have to stop those manually)

Просто сделай

systemctl daemon-reload

а затем перезапустите службу

 sudo service openvpn restart
эрб
источник
Отлично, большое спасибо.
pylover
8

Вы можете поместить auth-user-pass filenameв ваш , anonine.ovpnгде filenameнаходится файл с именем пользователя / пароля на 2 строки.

Убедитесь, что filenameон правильно защищен, потому что он будет содержать простое имя пользователя / пароль.

Это из openvpn --help:

Client options (when connecting to a multi-client server):

--auth-user-pass [up] : Authenticate with server using username/password.
                  up is a file containing username/password on 2 lines,
                  or omit to prompt from console.

Вы также можете добавить свой сертификат к своему anonine.ovpnдобавлению следующим образом:

<ca>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</ca>
jstsmn
источник
3

Если для подключения не требуется имя пользователя / пароль, переименуйте файлы .ovpn, чтобы они имели расширение .conf.

OpenVPN должен подключаться при загрузке, даже без автозапуска = все.

Если требуется имя пользователя / пароль,

отредактируйте файл .conf

редактировать auth-user-pass user-password-filename

Создайте файл, содержащий:

username
password

Если вы хотите подключиться к Network Manager, убедитесь, что вы сначала выполните:

sudo apt-get install network-manager-openvpn

Убедитесь, что ваш Ubuntu по крайней мере 14.04. Это не работает 12.04.

Если у вас нет ваших ca.crt, client.crt и т. Д., Извлеките их из .conf.

С помощью Network Manager создайте новое VPN-соединение или импортируйте свою конф.

Добавить сертификаты и ta.key.

Маршруты, используйте соединение только для ресурсов в своей сети.

Отредактируйте свое интернет-соединение с сетевым менеджером. Выберите соединение с VPN , затем выберите VPN-соединение.

Янди Онгкойджо
источник
0

Хотя это может не представлять интереса для OP, я был разочарован тем, что этот сервис не запускается до входа в систему - либо графического, либо одного из TTY Ctrl + Alt + F #. В конце концов я понял, что моя машина будет подключаться к Wi-Fi, только когда я войду в систему. Объединение других ответов здесь со стандартным советом по запуску sudo update-rc.d openvpn defaultsи с первым ответом на этот другой вопрос сработало для меня. Возможно, это могло бы помочь другому Гуглеру.

tsbertalan
источник
0

Для меня

auth-user-pass filename

не работал

использование

askpass /etc/openvpn/filename

И только пароль в верхней строке

Сработало и теперь openvpn запускается при загрузке

Команды, чтобы проверить, работает ли openvpn:

systemctl status openvpn@"your vpn user name"

wget -qO- http://ipecho.net/plain ; echo

проверить ваш ip (он должен отличаться от внешнего ip вашего роутера)

sudo service openvpn stop

sudo service openvpn start

проверить ваш конфиг без перезагрузки все время.

underxristof
источник