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

9

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

sudo openvpn client.ovpn

Теперь я хотел бы запустить openvpn при загрузке компьютера.

Как я могу это сделать?

    
задан waspinator 17.12.2012 в 02:43
источник

4 ответа

17
  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

    Uncomment AUTOSTART="all"

  7. sudo service openvpn start

    Вы должны увидеть сообщение о том, что вы подключены. Соединение будет установлено при каждом запуске вашего компьютера.

ответ дан Robert Polson 18.07.2015 в 03:57
источник
3

В пакете openvpn имеется скрипт инициализации /etc/init.d/openvpn . Этот скрипт автоматически устанавливает соединение для каждого файла .conf (mind the extension) в /etc/openvpn .

Обнаружено это на основе информации здесь: Ссылка

  

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

    
ответ дан Vašek Purchart 10.05.2014 в 15:06
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

ИСТОЧНИК: Ссылка

    
ответ дан waspinator 17.12.2012 в 04:30
2

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

Это работало для меня с использованием 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. Сохраните имя пользователя и пароль каждый в своей собственной строке

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 для запуска в качестве службы systemd

Конфигурация, которая появилась с openvpn, была повреждена, поэтому я удалил ее и создал новую, основанную на этот ответ

Создайте службу systemd для openvpn

sudo vim /usr/lib/systemd/system/[email protected]

добавьте эту конфигурацию:

[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

%i используется в качестве подстановочного знака, так что эта услуга может использоваться для нескольких конфигураций vpn. Задайте его для файла amsterdam-2.conf , который мы создали ранее

sudo systemctl start [email protected]

теперь система systemd должна работать на amsterdam vpn. проверьте его статус так

sudo systemctl status [email protected]

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

Надеюсь, это поможет! :

Ссылка

Как запустить клиентскую службу OpenVPN на Ubuntu 15.04

Ссылка

    
ответ дан roo2 30.03.2017 в 10:34