Ubuntu Server 16.04 - Кажется, OpenVPN не запускается, журналы не записываются

13

Я установил и oepnvpn на сервере Ubuntu 16.04, следуя следующему руководству, как настроить openvpn-сервер-на-Ubuntu

Когда я запускаю сервер openVPN с: service openvpn startпохоже, он только начинается, но я не получаю записанных файлов журналов, даже если у меня активирована опция журнала.

status /var/log/openvpn-status.log
log  /var/log/openvpn.log    

Любые намеки, что я могу попробовать?

  • Как я могу проверить, действительно ли процесс / служба работает?
  • Как я могу узнать, происходит ли сбой службы каждый раз?
  • Любая идея, почему файлы журнала не пишутся?

вывод на запуск сервиса

root@Diabolo:/etc/openvpn# service openvpn stop
root@Diabolo:/etc/openvpn# service openvpn start
root@Diabolo:/etc/openvpn# service openvpn status
openvpn.service - OpenVPN service
Loaded: loaded (/lib/systemd/system/openvpn.service; enabled; vendor preset: enabled)
Active: active (exited) since Sat 2016-06-25 19:04:12 CEST; 3s ago
Process: 3956 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 3956 (code=exited, status=0/SUCCESS)
Jun 25 19:04:12 Diabolo systemd[1]: Starting OpenVPN service...
Jun 25 19:04:12 Diabolo systemd[1]: Started OpenVPN service.

вывод на системный журнал

Jun 25 19:04:12 Diabolo systemd[1]: Starting OpenVPN service...
Jun 25 19:04:12 Diabolo systemd[1]: Started OpenVPN service.

конфигурационный файл server.conf

port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key 
dh /etc/openvpn/dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
comp-lzo
max-clients 100
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
log  /var/log/openvpn.log
verb 3
megloff
источник

Ответы:

16

Проблема в том, что сервисный конфиг /lib/systemd/system/openvpn.serviceпросто вызывает /bin/true(я понятия не имею, почему он не был просто удален). Полезная конфигурация может быть найдена в /lib/systemd/system/openvpn@.service, но это все еще должно быть несколько взломано.

Решение, которое сработало для меня:

1. Создайте зависимость от сетевого сервиса

Чтобы защитить его от перезаписи, создайте его в отдельном файле в подкаталоге:

 mkdir -p /lib/systemd/system/openvpn\@.service.d

Создайте файл в этом каталоге. Его имя должно заканчиваться .conf, например:

 vi /lib/systemd/system/openvpn\@.service.d/local-after-ifup.conf

Поместите следующее содержимое в этот файл:

[Unit]
Requires=networking.service
After=networking.service

2. Попробуйте запустить сервер

systemctl start openvpn@<CONF_NAME>.service

Где CONF_NAME - это имя вашего .confфайла в /etc/openvpnкаталоге. В твоем случае:

systemctl start openvpn@server.service

3. Включите сервис автозапуска, если все работает

systemctl enable openvpn@server.service
Wildfire
источник
13

После поиска по всему я нашел эту ссылку:

https://a20.net/bert/2016/09/27/openvpn-client-connection-not-started-on-ubuntu-16-04/

edit /etc/default/openvpn, uncomment AUTOSTART=”all”
sudo systemctl daemon-reload
sudo service openvpn restart

Я сварил это немного больше в:

echo 'echo "AUTOSTART="\"all"\"" >> /etc/default/openvpn' | sudo -s
sudo systemctl daemon-reload
sudo service openvpn restart

источник
1
Раньше работал в моей системе несколько месяцев назад. Никаких заметных изменений в системе не обнаружено. Мне некоторое время не нужно было работать с openvpn. И теперь это не сработало. Это решило проблему ... Спасибо! +1
gissehel
1

Из-за ошибки в /etc/init.d/openvpn?

# check if automatic startup is disabled by AUTOSTART=none
if test "x$AUTOSTART" = "xnone" -o -z "$AUTOSTART" ; then
  log_warning_msg " Autostart disabled."
  exit 0
fi
if test -z "$AUTOSTART" -o "x$AUTOSTART" = "xall" ; then
  # all VPNs shall be started automatically
  ...

Кажется, что если AUTOSTART пуст в / etc / default / openvpn, то сценарии просто завершаются. Поэтому вы либо выбираете решение Филиппа, либо убираете в строке 119 второе условие:

-o -z "$AUTOSTART"
Alex
источник
Что за «ошибка»? Тот факт, что, если вы не скажете ему что-либо сделать, он ничего не сделает? Вы предлагаете изменить систему так, чтобы она запускалась, даже если вы этого не говорите? Вы предлагаете что-то не так с ответом, который говорит, что пользователь должен настроить программное обеспечение так, чтобы оно запустилось?
G-Man говорит: «Восстановите Монику»
2
Нет, я просто предлагаю, что, как и многие, я неправильно понял документацию, в которой говорится: если пустое «все» предполагается. Вы видели количество запросов к поисковым системам с "openvpn не запускается автоматически"?
Алекс
1

Файл конфигурации сервера myserver.conf

systemctl enable openvpn@myserver
service openvpn@myserver start

Файл конфигурации сервера - yourserver.conf

systemctl enable openvpn@yourserver
service openvpn@yourserver start
Обеспокоенный Linux Denizen
источник
-1

В качестве альтернативы ответу Филиппа Моксли вы можете отредактировать /etc/default/openvpnфайл и изменить AUTOSTARTстроку на

AUTOSTART="server"
Gerard
источник
(1) Вы это имели в виду? (1a) Если да, пожалуйста, напишите ваши ответы в будущем. Они должны быть самодостаточными - то есть кто-то должен уметь читать вопрос и ваш ответ в одиночку , и ваш ответ должен иметь смысл. Но, если вы опираетесь на чужой ответ, вы должны сказать об этом (ссылаясь на него по имени и ссылке). (1b) Если это не то, что вы имели в виду, отредактируйте ваш ответ, чтобы сделать его более понятным и полным. (2) Пожалуйста, не включайте «спасибо» в ответ. (3) Чем AUTOSTART="server"отличается от AUTOSTART="all"? Это лучше? Почему? … (Продолжение)
Скотт
(Продолжение)… Опять же, пожалуйста, не отвечайте в комментариях;  отредактируйте свой ответ, чтобы сделать его более понятным и полным.
Скотт