Я использую 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
Вы должны увидеть сообщение о том, что вы подключены. Соединение будет устанавливаться при каждом запуске компьютера.
Было бы неплохо иметь не хакерский способ сделать это, но сейчас это нужно сделать.
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
Я вовлек немного на этом и закончил тем, что выписал все инструкции для установки ее с systemd вручную.
Это работало на меня использующий 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/etc/systemd/system/multi-user.target.wants/openvpn.service
Конфигурация, которая шла с 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 должен работать.
Надеюсь, это поможет! связанное чтение:
В пакет 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 для каждого файла.
BLOCKQUOTE>