Я використовую Ubuntu 12.04 64bit. У мене є *.ovpn
файл, який працює, якщо я набираю:
sudo openvpn client.ovpn
Тепер я хотів би запустити openvpn
при завантаженні комп'ютера.
Як я можу це зробити?
Я використовую Ubuntu 12.04 64bit. У мене є *.ovpn
файл, який працює, якщо я набираю:
sudo openvpn client.ovpn
Тепер я хотів би запустити openvpn
при завантаженні комп'ютера.
Як я можу це зробити?
Відповіді:
Завантажте OpenVPNConfigFile.ovpn
. Зауважте, що ви можете перейменувати файл на все, що завгодно.
Перемістіть файл ovpn до /etc/openvpn
cd /etc/openvpn
папку та введіть sudo nano yourserver.txt
your_server_user_name
your_server_passowrd
Зберегти та закрити
sudo nano OpenVPNConfigFile.ovpn
Знайдіть auth-user-pass
і додайте yourserver.txt
поруч, щоб він став
auth-user-pass yourserver.txt
Це дозволить вам пропустити введення своїх облікових даних щоразу, коли ви починаєте openvpn-з'єднання
Перейменувати OpenVPNConfigFile.ovpn
наOpenVPNConfigFile.conf
sudo mv OpenVPNConfigFile.ovpn OpenVPNConfigFile.conf
sudo nano /etc/default/openvpn
Відмінність AUTOSTART="all"
sudo service openvpn start
Ви повинні побачити повідомлення про те, що ви з'єднані. З'єднання буде встановлено кожного разу при запуску комп'ютера.
У 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 для кожного файлу.
Було б непогано мати хакерський спосіб зробити це, але це доведеться робити поки що.
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
Я трохи застряг у цьому і закінчив виписати всі вказівки щодо його налаштування з системою вручну.
Це працювало для мене за допомогою Ubuntu 16.10 та openvpn 2.3.11
У цих прикладах використовується 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 повинен з'єднуватися, не запитуючи імені користувача або пароля
sudo rm /etc/systemd/system/multi-user.target.wants/openvpn.service
Конфігурація, що постачається з 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
systemctl daemon-reload
перед перезапуском послуги