як автоматично запустити openvpn (клієнт) на ubuntu cli?


16

Я використовую Ubuntu 12.04 64bit. У мене є *.ovpnфайл, який працює, якщо я набираю:

sudo openvpn client.ovpn

Тепер я хотів би запустити openvpnпри завантаженні комп'ютера.

Як я можу це зробити?

Відповіді:


22
  1. Завантажте OpenVPNConfigFile.ovpn. Зауважте, що ви можете перейменувати файл на все, що завгодно.

  2. Перемістіть файл ovpn до /etc/openvpn

  3. cd /etc/openvpn папку та введіть sudo nano yourserver.txt

    your_server_user_name
    your_server_passowrd
    

    Зберегти та закрити

  4. sudo nano OpenVPNConfigFile.ovpn

    Знайдіть auth-user-passі додайте yourserver.txtпоруч, щоб він став

    auth-user-pass yourserver.txt
    

    Це дозволить вам пропустити введення своїх облікових даних щоразу, коли ви починаєте openvpn-з'єднання

  5. Перейменувати OpenVPNConfigFile.ovpnнаOpenVPNConfigFile.conf

    sudo mv OpenVPNConfigFile.ovpn OpenVPNConfigFile.conf
    
  6. sudo nano /etc/default/openvpn

    Відмінність AUTOSTART="all"

  7. sudo service openvpn start

    Ви повинні побачити повідомлення про те, що ви з'єднані. З'єднання буде встановлено кожного разу при запуску комп'ютера.


5
Якщо у вас працює systemd, вам потрібно буде запустити systemctl daemon-reloadперед перезапуском послуги
Mario Campa

6

У openvpnкомплекті йде сценарій init /etc/init.d/openvpn. Цей скрипт автоматично встановлює з'єднання для кожного .confфайлу (врахуйте розширення) в /etc/openvpn.

Знайдено це на основі інформації тут: https://openvpn.net/index.php/open-source/documentation/howto.html#startup

Якщо ви встановите OpenVPN через пакет RPM або DEB в Linux, інсталятор встановить initscript. Після виконання initscript сканує файли конфігурації .conf в / etc / openvpn, і якщо їх знайде, запустить окремий демон OpenVPN для кожного файлу.


2

Було б непогано мати хакерський спосіб зробити це, але це доведеться робити поки що.

1) Створіть файл myopenvpn в /etc/init.d/

nano /etc/init.d/myopenvpn

2) Вставте в myopenvpn і збережіть:

# OpenVPN autostart on boot script

start on runlevel [2345]
stop on runlevel [!2345]

respawn

exec /usr/sbin/openvpn --status /var/run/openvpn.client.status 10 --cd /etc/openvpn --config /etc/openvpn/client.conf --syslog openvpn

ДЖЕРЕЛА: http://www.hackerway.ch/2012/12/11/how-to-auto-start-openvpn-client-in-debian-6-and-ubuntu-12-04/#comment-79


2

Я трохи застряг у цьому і закінчив виписати всі вказівки щодо його налаштування з системою вручну.

Це працювало для мене за допомогою Ubuntu 16.10 та openvpn 2.3.11

Налаштування вашого vpn для запуску з bash

У цих прикладах використовується expressvpn, але більшість працює так само

Завантажте файл налаштування ovpn постачальника vpn, наприклад, my_express_vpn_amsterdam_2 . ovpn

перемістіть його до /etc/openvpn/і перейменуйте його, щоб закінчити .conf

sudo mv ~/Downloads/my_express_vpn_amsterdam_2.ovpn /etc/openvpn/amsterdam-2.conf

Ваш постачальник VPN надасть вам ім’я користувача та пароль для підключення через openvpn. Збережіть ім’я userename та вкажіть пароль у своєму власному рядку

sudo vim /etc/openvpn/express-vpn-crednetials.txt
# add these lines
YOUR_VPN_USERNAME
YOUR_VPN_PASSWORD
# save the file

тепер редагуйте, /etc/openvpn/amsterdam-2.conf шукайте рядок, який пише, auth-user-passі замініть його на шлях до вашого файлу облікових даних

auth-user-pass /etc/openvpn/express-vpn-crednetials.txt

Перевірте свою конфігурацію! Почніть openvpn так

sudo openvpn --config /etc/openvpn/amsterdam-2.conf

openvpn повинен з'єднуватися, не запитуючи імені користувача або пароля

Видаліть існуючий (зламаний) сервіс-конфігурацію для openvpn

sudo rm /etc/systemd/system/multi-user.target.wants/openvpn.service

Налаштування openvpn для запуску як системної служби

Конфігурація, що постачається з openvpn, була зламана, тому я її видалив і створив новий на основі цієї відповіді

Створіть системний сервіс для openvpn

sudo vim /usr/lib/systemd/system/openvpn@service

додати цей конфігурацію:

[Unit]
Description=OpenVPN Robust And Highly Flexible Tunneling Application On %I
After=syslog.target network.target

[Service]
PrivateTmp=true
Type=forking
PIDFile=/var/run/openvpn/%i.pid
ExecStart=/usr/sbin/openvpn --daemon --writepid /var/run/openvpn/%i.pid --cd /etc/openvpn/ --config %i.conf

[Install]
WantedBy=multi-user.target

the %iвикористовується як підстановка, щоб ця послуга могла використовуватися для безлічі конфігурацій vpn. Встановіть його для amsterdam-2.confфайлу, який ми створили раніше

sudo systemctl start openvpn@amsterdam-2.service

Служба systemd тепер повинна працювати на amsterdam vpn. перевірте, як це стан

sudo systemctl status openvpn@amsterdam-2.service

ви повинні побачити кілька рядків виводу, що закінчуються, Initialization Sequence Completedі ваш vpn повинен працювати.

Сподіваюся, це допомагає! пов'язане читання:

/unix/206058/how-to-start-2fa-using-openvpn-with-systemd/206490#206490

Як запустити службу клієнта OpenVPN на Ubuntu 15.04

/unix/148990/using-openvpn-with-systemd/149003#149003?newreg=53ca53879fcc489f94304f91bbc82ab3

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