Как автоматически запустить OpenVPN (клиент) на Ubuntu Cli?

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

sudo openvpn client.ovpn

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

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

16
задан 24 January 2017 в 13:31

4 ответа

  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

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

0
ответ дан 24 January 2017 в 13:31

Было бы неплохо иметь не хакерский способ сделать это, но сейчас это нужно сделать.

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

0
ответ дан 24 January 2017 в 13:31

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

Это работало на меня использующий Ubuntu 16.10 и openvpn 2.3.11

Установка vpn для выполнения от удара

Эти примеры используют 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/etc/systemd/system/multi-user.target.wants/openvpn.service

Установите openvpn для выполнения как systemd сервис

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

Создайте systemd сервис для 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

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

sudo systemctl start openvpn@amsterdam-2.service

systemd сервис должен теперь работать на Амстердаме vpn., проверяют, что это - состояние как так

sudo systemctl status openvpn@amsterdam-2.service

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

Надеюсь, это поможет! связанное чтение:

https://unix.stackexchange.com/questions/206058/how-to-start-2fa-using-openvpn-with-systemd/206490#206490

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

https://unix.stackexchange.com/questions/148990/using-openvpn-with-systemd/149003#149003? newreg=53ca53879fcc489f94304f91bbc82ab3

2
ответ дан 24 January 2017 в 13:31

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

Нашли это на основании информации здесь: https://openvpn.net/index.php/open-source/documentation/howto.html#startup

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

0
ответ дан 24 January 2017 в 13:31

Другие вопросы по тегам:

Похожие вопросы: