Запуск клієнта OpenVPN автоматично під час завантаження


34

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

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

після цього ім'я користувача та пароль. Чи є хороший спосіб зробити цей автомат під час завантаження?

Відповіді:


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) є позакласним і цілком може заслужити нове питання. Жодна з них не відповідає у цих посиланнях, але я бачу.
Джонатан Ю.

Як зазначається в коментарі до фотографії, за замовчуванням для AUTOSTART насправді є "все". Отже, на мою думку, ця редакція не потрібна.
Ів Б

1
@YvesB За замовчуванням "все" лише тоді, коли AUTOSTART не
коментується

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

Ідеально, спасибі велике.
піловер

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>

3

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

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

Якщо ім’я користувача / пароль потрібні,

відредагуйте файл .conf

редагувати auth-user-pass user-password-filename

Створіть файл, що містить:

username
password

Якщо ви хочете встановити зв'язок з Менеджером мережі, переконайтеся, що спочатку:

sudo apt-get install network-manager-openvpn

Переконайтесь, що ваш Ubuntu принаймні 14.04. Це не працює 12.04.

Якщо у вас немає свого ca.crt, client.crt тощо, витягніть їх з .conf.

За допомогою Менеджера мережі створіть нове з'єднання VPN або імпортуйте конф.

Додайте сертифікати та та.key.

Маршрути, використовуйте з'єднання лише для ресурсів своєї мережі.

Відредагуйте Інтернет-з'єднання за допомогою менеджера мережі. Виберіть з'єднання з VPN , а потім виберіть VPN-з'єднання.


0

Незважаючи на те, що це може не зацікавити ОП, мене розчарував цей сервіс, який не почався до входу в систему - або графічного, або одного з Ctrl + Alt + F # TTY. Зрештою я зрозумів, що моя машина підключатиметься до wifi лише тоді, коли я ввійшов. Комбінуючи інші відповіді тут із стандартною порадою для запуску sudo update-rc.d openvpn defaults, і з першою відповіддю на це інше питання працював у мене. Можливо, це може допомогти іншому Googler.


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

перевірити конфігурацію, не перезавантажуючи весь час.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.