У меня есть файл * .ovpn, который работает, если я ввожу
sudo openvpn client.ovpn
Теперь я хотел бы запустить openvpn при загрузке компьютера. Это безголовая версия ubuntu - если это важно - 12.04 64bit.
Я скопировал filename.ovpn в / etc / openvpn, но он не запускается, даже если я запускаю
service openvpn start
Как я могу это сделать?
В Ubuntu любая конфигурация VPN, которую вы помещаете в файл с именем /etc/openvpn/$NAME.conf
будет автоматически запущен.
Итак, все, что вам нужно сделать, это скопировать свой client.ovpn
к /etc/openvpn/client.conf
. Я предлагаю вам также использовать абсолютные пути в вашем client.conf
для любых ключей, скриптов и тд.
Конечно, вы можете дважды проверить /etc/default/openvpn
файл. По умолчанию он автоматически запускает все VPN, но AUTOSTART
значение могло быть изменено на none
или быть списком определенных конфигураций, которые вы хотите запускать автоматически.
Для ОС Debian
Поместите файл конфигурации в / etc / openvpn, например /etc/openvpn/client.conf
.
Префикс / закомментируйте строки, начинающиеся с «вниз» и «вверх» (#down
и #up
) - или удалите их (это вызов внешнего скрипта) из client.conf
Перезагрузить конфигурацию openvpn
/etc/init.d/openvpn reload /etc/openvpn/client.conf
Проверить с
ifconfig
Вы видите интерфейс tun0? Есть ли IP-адрес? Отлично.
Запомните IP, перезагрузитесь и попробуйте подключиться.
Конфигурация клиента должна иметь расширение .conf
и нет .ovpn
. Изменение client.ovpn
к client.conf
в /etc/openvpn
должно сработать
Было бы неплохо иметь способ сделать это не хакерским способом, но на данный момент это необходимо.
1) Создайте файл myopenvpn в / etc / init /
nano /etc/init/myopenvpn
2) Вставляем в myopenvpn и сохраняем:
# OpenVPN autostart on boot upstart job
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
Вам нужно будет поместить эту информацию в сценарий инициализации для openvpn в /etc/init.d. И aqd соответствующие символические ссылки на файлы /etc/rc.d соответствующего уровня выполнения, чтобы он запускался и останавливался.
Обратите внимание, что начиная с версии 16.04 вам понадобится этот:
systemctl start openvpn@server.service
Я сделал это в системе CentOS, вставив следующую команду в /etc/rc.local:
openvpn --config /path/to/file.ovpn &
Команды в этом файле выполняются после того, как каждый многопользовательский уровень запуска завершает загрузку, и, в отличие от добавления его в сценарий запуска, он не замедлит вашу загрузку, если VPN долго настраивается, но некоторые люди могут назвать это взломом.