Проблемы с openvpn на ubuntu 22.04

Вопрос или проблема

Я пытаюсь настроить openvpn на сервере, используя это руководство:
https://www.digitalocean.com/community/tutorials/how-to-set-up-and-configure-an-openvpn-server-on-ubuntu-22-04

Я дошел до шага 10, но не могу запустить службу openvpn:

serv_ivan@964889-cd87180:~$ sudo systemctl -f enable [email protected]
[sudo] пароль для serv_ivan: 
serv_ivan@964889-cd87180:~$ sudo systemctl start [email protected]
serv_ivan@964889-cd87180:~$ sudo systemctl status [email protected][email protected] - Служба OpenVPN для сервера
     Загружен: загружен (/lib/systemd/system/[email protected]; включен; предустановка производителя: включена)
     Активен: активируется (автоперезапуск) (Результат: код выхода) с Пн 2022-08-01 21:33:03 MSK; 3с назад
       Документы: man:openvpn(8)
             https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
             https://community.openvpn.net/openvpn/wiki/HOWTO
    Процесс: 1256469 ExecStart=/usr/sbin/openvpn --status /run/openvpn-server/status-server.log --status-version 2 --suppress-timestamps --config server.conf (код=вышел, статус=1/НЕУДАЧА)
   Основной PID: 1256469 (код=вышел, статус=1/НЕУДАЧА)
     Статус: "Инициализация перед соединением успешна"
        ЦП: 24мс

Aug 01 21:33:03 964889-cd87180.tmweb.ru systemd[1]: [email protected]: Главный процесс вышел, код=вышел, статус=1/НЕУДАЧА
Aug 01 21:33:03 964889-cd87180.tmweb.ru systemd[1]: [email protected]: Не удалось с результатом 'exit-code'.
serv_ivan@964889-cd87180:~$

Я искал ответ в Интернете, но не нашел.

лог:

serv_ivan@964889-cd87180:~$ sudo tail -n 20 /var/log/syslog
Aug  1 21:36:47 964889-cd87180 systemd[1]: Остановлено соединение OpenVPN с сервером.
Aug  1 21:36:47 964889-cd87180 systemd[1]: Запуск соединения OpenVPN с сервером...
Aug  1 21:36:47 964889-cd87180 ovpn-server[1257478]: Ошибка параметров: В [CMD-LINE]:1: Ошибка открытия конфигурационного файла: /etc/openvpn/server.conf
Aug  1 21:36:47 964889-cd87180 ovpn-server[1257478]: Используйте --help для получения дополнительной информации.
Aug  1 21:36:47 964889-cd87180 systemd[1]: [email protected]: Главный процесс вышел, код=вышел, статус=1/НЕУДАЧА
Aug  1 21:36:47 964889-cd87180 systemd[1]: [email protected]: Не удалось с результатом 'exit-code'.
Aug  1 21:36:47 964889-cd87180 systemd[1]: Не удалось запустить соединение OpenVPN с сервером.
Aug  1 21:36:48 964889-cd87180 systemd[1]: [email protected]: Запланирован перезапуск, счетчик перезапусков на 1733.
Aug  1 21:36:48 964889-cd87180 systemd[1]: Остановлена служба OpenVPN для сервера.
Aug  1 21:36:48 964889-cd87180 systemd[1]: Запускается служба OpenVPN для сервера...
Aug  1 21:36:48 964889-cd87180 systemd[1]: Запущена служба OpenVPN для сервера.
Aug  1 21:36:48 964889-cd87180 networkd-dispatcher[1030209]: ПРЕДУПРЕЖДЕНИЕ: Обнаружен неизвестный индекс 49326, перезагружаю список интерфейсов
Aug  1 21:36:48 964889-cd87180 systemd-networkd[1214783]: tun1: Соединение UP
Aug  1 21:36:48 964889-cd87180 systemd-networkd[1214783]: tun1: Получен носитель
Aug  1 21:36:48 964889-cd87180 systemd-networkd[1214783]: tun1: Получен IPv6LL
Aug  1 21:36:48 964889-cd87180 systemd-udevd[1257483]: Используется схема именования интерфейсов по умолчанию 'v249'.
Aug  1 21:36:48 964889-cd87180 systemd-networkd[1214783]: tun1: Соединение DOWN
Aug  1 21:36:48 964889-cd87180 systemd-networkd[1214783]: tun1: Потерян носитель
Aug  1 21:36:48 964889-cd87180 systemd[1]: [email protected]: Главный процесс вышел, код=вышел, статус=1/НЕУДАЧА
Aug  1 21:36:48 964889-cd87180 systemd[1]: [email protected]: Не удалось с результатом 'exit-code'.
serv_ivan@964889-cd87180:~$

cat server.config:

#################################################
# Пример конфигурационного файла OpenVPN 2.0 для #
# серверов с несколькими клиентами.               #
#                                               #
# Этот файл предназначен для серверной стороны  #
# конфигурации OpenVPN в режиме                     #
# много-клиент <-> один сервер.                  #
#                                               #
# OpenVPN также поддерживает                         #
# однопользовательские <-> однопользовательские     #
# конфигурации (см. страницу примеров на          #
# веб-сайте для получения дополнительной информации).#
#                                               #
# Эта конфигурация должна работать на Windows    #
# или системах Linux/BSD. Помните, что на        #
# Windows необходимо заключать в кавычки пути и  #
# использовать двойные обратные слэши, напр.:     #
# "C:\\Program Files\\OpenVPN\\config\\foo.key"  #
#                                               #
# Комментарии начинаются с '#' или ';'           #
#################################################

# На каком локальном IP-адресе должен слушать OpenVPN?
# (необязательно)
;local 94.228.120.106

# На каком TCP/UDP порту должен слушать OpenVPN?
# Если вы хотите запустить несколько экземпляров OpenVPN
# на одной машине, используйте другой номер порта
# для каждого из них. Вам нужно будет
# открыть этот порт в вашем файрволе.
port 1194

# TCP или UDP сервер?
;proto tcp
proto udp

# "dev tun" создаст маршрутный IP-туннель,
# "dev tap" создаст ethernet туннель.
# Используйте "dev tap0", если вы создаете
# tap-устройство и связали его с вашим ethernet
# интерфейсом.
# Если вы хотите контролировать правила доступа
# через VPN, необходимо создать правила файрвола
# для интерфейса TUN/TAP.
# На системах, не являющихся Windows, можно указать
# явный номер устройства, например tun0.
# На Windows используйте "dev-node" для этого.
# На большинстве систем VPN не будет функционировать
# пока вы частично или полностью не отключите
# файрвол для интерфейса TUN/TAP.
;dev tap
dev tun

# Windows нуждается в названии адаптера TAP-Win32
# из панели сетевых подключений, если у вас
# их больше одного. На XP SP2 или выше,
# вам, возможно, придется выборочно отключить
# файрвол Windows для адаптера TAP.
# На системах, не являющихся Windows, это часто не требуется.
;dev-node MyTap

# Корневой сертификат SSL/TLS (ca), сертификат
# (cert) и закрытый ключ (key). Каждый клиент
# и сервер должны иметь свои собственные сертификаты и
# файлы ключей. Сервер и все клиенты будут
# использовать один и тот же файл ca.
#
# См. директорию "easy-rsa" для получения серии
# скриптов для генерации RSA сертификатов
# и закрытых ключей. Не забудьте использовать
# уникальное общее имя для сервера
# и каждого из клиентских сертификатов.
#
# Любая система управления ключами X509 может быть использована.
# OpenVPN также может использовать файл ключа в формате PKCS #12
# (см. директиву "pkcs12" в мануале).
ca ca.crt
cert server.crt
key server.key  # Этот файл следует хранить в секрете

# Параметры Диффи-Хеллмана.
# Сгенерируйте свои собственные с помощью:
#   openssl dhparam -out dh2048.pem 2048
;dh dh2048.pem
dh none

# Топология сети
# Должна быть подсеть (адресация по IP)
# если не требуется поддерживать клиенты Windows
# версии 2.0.9 и ниже (тогда net30, т.е. /30 на клиента)
# По умолчанию используется net30 (не рекомендуется)
;topology subnet

# Настройте режим сервера и предоставьте подсеть VPN
# для OpenVPN, чтобы получить адреса клиентов.
# Сервер займет 10.8.0.1 для себя,
# остальные будут доступны клиентам.
# Каждый клиент сможет соединиться с сервером
# по адресу 10.8.0.1. Закомментируйте эту строку, если вы
# делаете ethernet bridging. См. мануал для получения дополнительной информации.
server 10.8.0.0 255.255.255.0

# Вести учет соответствий клиент <-> виртуальный IP-адрес
# в этом файле. Если OpenVPN отключится или
# будет перезапущен, переподключаемым клиентам будет назначен
# тот же виртуальный IP-адрес из пула, который был
# назначен ранее.
ifconfig-pool-persist /var/log/openvpn/ipp.txt

# Настройте режим сервера для ethernet bridging.
# Вы должны сначала использовать возможности
# объединения вашей ОС, чтобы объединить интерфейс TAP
# с сетевым интерфейсом NIC. Затем вы
# должны вручную установить
# IP/маску на интерфейсе моста, здесь мы
# предполагаем 10.8.0.4/255.255.255.0. Наконец, мы
# должны выделить диапазон IP в этой подсети
# (start=10.8.0.50 end=10.8.0.100) для выделения
# подключающимся клиентам. Оставьте эту строку закомментированной,
# если вы не занимаетесь ethernet bridging.
;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100

# Настройте режим сервера для ethernet bridging
# с использованием DHCP-прокси, где клиенты общаются
# с сервером DHCP со стороны OpenVPN,
# чтобы получить назначение IP-адреса
# и адреса DNS-серверов. Сначала вы должны использовать
# возможности объединения вашей ОС, чтобы объединить интерфейс TAP
# с сетевым интерфейсом NIC.
# Примечание: этот режим работает только на клиентах (таких как
# Windows), где клиентский адаптер TAP привязан
# к DHCP-клиенту.
;server-bridge

# Передайте маршруты клиенту, чтобы позволить ему
# достигать других частных подсетей за
# сервером. Помните, что эти
# частные подсети также должны знать
# как маршрутизировать пул адресов клиента OpenVPN
# (10.8.0.0/255.255.255.0)
# обратно к серверу OpenVPN.
;push "route 192.168.10.0 255.255.255.0"
;push "route 192.168.20.0 255.255.255.0"

# Чтобы назначить определенные IP-адреса конкретным
# клиентам или если подключенный клиент имеет частную
# подсеть позади него, которая также должна иметь доступ к VPN,
# используйте подкаталог "ccd" для конфигурационных файлов,
# специфичных для клиента (см. мануал для получения дополнительной информации).

# ПРИМЕР: Предположим, клиент
# с общим именем сертификата "Thelonious"
# также имеет небольшую подсеть за своим подключением
# к машине, например 192.168.40.128/255.255.255.248.
# Сначала раскомментируйте эти строки:
;client-config-dir ccd
;route 192.168.40.128 255.255.255.248
# Затем создайте файл ccd/Thelonious с этой строкой:
#   iroute 192.168.40.128 255.255.255.248
# Это позволит приватной подсети Thelonious
# подключаться к VPN. Этот пример будет работать
# только если вы маршрутизируете, а не делаете bridging, т.е. вы
# используете директивы "dev tun" и "server".

# ПРИМЕР: Предположим, вы хотите дать
# Thelonious фиксированный VPN IP-адрес 10.9.0.1.
# Сначала раскомментируйте эти строки:
;client-config-dir ccd
;route 10.9.0.0 255.255.255.252
# Затем добавьте эту строку в ccd/Thelonious:
#   ifconfig-push 10.9.0.1 10.9.0.2

# Предположим, вы хотите включить различные
# политики доступа файрвола для различных групп
# клиентов. Есть два метода:
# (1) Запустите несколько демонов OpenVPN, по одному для каждой
#     группы, и правильно настройте файрвол
#     для каждого интерфейса TUN/TAP группы/демона.
# (2) (Расширенное) Создайте скрипт для динамической
#     модификации файрвола в ответ на доступ
#     от различных клиентов. См. мануал
#     для получения дополнительной информации о скрипте learn-address.
;learn-address ./script

# Если включено, эта директива настроит
# всех клиентов на перенаправление их
# сетевого шлюза по умолчанию через VPN, что
# приведет к тому, что весь IP-трафик, такой как веб-серфинг
# и DNS-запросы, будет проходить через VPN
# (Машина сервера OpenVPN может потребовать NAT
# или подключение интерфейса TUN/TAP к Интернету,
# чтобы это работало должным образом).
;push "redirect-gateway def1 bypass-dhcp"

# Определенные специфические для Windows настройки сети
# могут быть переданы клиентам, такие как DNS
# или адреса WINS серверов. ПРЕДУПРЕЖДЕНИЕ:
# http://openvpn.net/faq.html#dhcpcaveats
# Указанные ниже адреса относятся к публичным
# DNS-серверам, предоставленным opendns.com.
;push "dhcp-option DNS 208.67.222.222"
;push "dhcp-option DNS 208.67.220.220"

# Раскомментируйте эту директиву, чтобы позволить различным
# клиентам "видеть" друг друга.
# По умолчанию клиенты видят только сервер.
# Чтобы заставить клиентов видеть только сервер, вам
# также необходимо правильно настроить
# файрвол интерфейса TUN/TAP сервера.
;client-to-client

# Раскомментируйте эту директиву, если несколько клиентов
# могут подключаться с одинаковыми сертификатами/ключами
# или общими именами. Это рекомендуется
# только для тестирования. Для использования в производстве
# каждый клиент должен иметь свою собственную пару сертификат/ключ.
#
# ЕСЛИ ВЫ НЕ СГЕНЕРИРОВАЛИ ИНДИВИДУАЛЬНЫЕ
# ПАРЫ СЕРТИФИКАТ/КЛЮЧ ДЛЯ КАЖДОГО КЛИЕНТА,
# У КОТОРОГО ЕСТЬ СВОЕ УНИКАЛЬНОЕ "ОБЩЕЕ ИМЯ",
# РАСКОММЕНТУЙТЕ ЭТУ СТРОКУ.
;duplicate-cn

# Директива keepalive вызывает отправку ping-подобных
# сообщений туда и обратно по каналу, чтобы каждая сторона знала,
# когда другая сторона отключена.
# Пинг каждые 10 секунд, считать удаленной
# удаленный узел, если не было получено пинга в течение
# 120 секунд.
keepalive 10 120

# Для дополнительной безопасности, выходящей за рамки
# SSL/TLS, создайте "HMAC файрвол",
# чтобы помочь блокировать DoS-атаки и UDP-флуд.
#
# Генерируйте с помощью:
#   openvpn --genkey tls-auth ta.key
#
# Сервер и каждый клиент должны иметь
# копию этого ключа.
# Второй параметр должен состоять из '0'
# на сервере и '1' на клиентах.
;tls-auth ta.key 0 # Этот файл секретен
tls-crypt ta.key

# Выберите криптографический шифр.
# Этот элемент конфигурации также должен быть скопирован в
# файл конфигурации клиента.
# Имейте в виду, что клиент/сервер версии v2.4 будут автоматически
# согласовывать AES-256-GCM в режиме TLS.
# См. также опцию ncp-cipher в мануале
;cipher AES-256-CBC
cipher AES-256-GCM
auth SHA256

# Включите сжатие на VPN-соединении и передайте
# опцию клиенту (только v2.4+, для более ранних
# версий смотрите ниже)
;compress lz4-v2
;push "compress lz4-v2"

# Для совместимого сжатия с более старыми клиентами используйте comp-lzo
# Если вы включите его здесь, вы также должны
# включить его в файле конфигурации клиента.
;comp-lzo

# Максимальное количество одновременно подключенных
# клиентов, которое мы хотим разрешить.
;max-clients 100

# Хорошая идея — снизить привилегии демона OpenVPN
# после инициализации.
#
# Вы можете закомментировать это в
# системах не являющихся Windows.
user nobody
group nobody

# Опции persist попытаются избежать
# доступа к определенным ресурсам при перезапуске
# которые могут больше не быть доступными из-за
# понижения привилегий.
persist-key
persist-tun

# Вывод краткого статусного файла, показывающего
# текущие соединения, сокращается
# и переписывается каждую минуту.
status /var/log/openvpn/openvpn-status.log

# По умолчанию журнальные сообщения будут отправляться в syslog (или
# на Windows, если работает как служба, они будут отправляться в
# каталог "\Program Files\OpenVPN\log").
# Используйте log или log-append, чтобы переопределить этот вариант.
# "log" обрежет файл журнала при запуске OpenVPN,
# в то время как "log-append" добавит к нему. Используйте
# один или другой (но не оба).
log         /var/log/openvpn/openvpn.log
;log-append  /var/log/openvpn/openvpn.log

# Установите соответствующий уровень журнала
# подробности файлов.
#
# 0 — молчание, кроме фатальных ошибок
# 4 — разумно для общего использования
# 5 и 6 могут помочь в устранении неполадок
# 9 — крайне подробно
verb 3

# Сгладьте повторяющиеся сообщения. Максимум 20
# последовательных сообщений одной и той же категории
# будет выведено в журнал.
;mute 20

# Уведомить клиента, когда сервер перезапускается, чтобы он
# мог автоматически переподключиться.
explicit-exit-notify 1

#mode server

Также я заметил, что openvpn не может открыть файл по пути:
ovpn-server[1257478]: Ошибка параметров: В [CMD-LINE]:1: Ошибка открытия конфигурационного файла: /etc/openvpn/server.conf
Но дело в том, что у меня нет этого файла по этому пути. Вот его абсолютный путь:
/etc/openvpn/server/server.conf

Но если я перемещаю файл в более высокий каталог, я получаю эту ошибку:

serv_ivan@964889-cd87180:/etc/openvpn$ sudo systemctl restart  [email protected]
Задание для [email protected] не удалось, так как управляющий процесс завершился с кодом ошибки.
Смотрите "systemctl status [email protected]" и "journalctl -xeu [email protected]" для получения деталей.
serv_ivan@964889-cd87180:/etc/openvpn$ sudo tail /var/log/syslog
Aug  2 15:17:17 964889-cd87180 systemd[1]: [email protected]: Не удалось с результатом 'exit-code'.
Aug  2 15:17:17 964889-cd87180 systemd[1]: Не удалось запустить соединение OpenVPN с сервером.
Aug  2 15:17:18 964889-cd87180 systemd[1]: [email protected]: Запланирован перезапуск, счетчик перезапусков на 13907.
Aug  2 15:17:18 964889-cd87180 systemd[1]: Остановлена служба OpenVPN для сервера.
Aug  2 15:17:18 964889-cd87180 systemd[1]: Запускается служба OpenVPN для сервера...
Aug  2 15:17:18 964889-cd87180 openvpn[1521409]: Ошибка параметров: В [CMD-LINE]:1: Ошибка открытия конфигурационного файла: server.conf
Aug  2 15:17:18 964889-cd87180 openvpn[1521409]: Используйте --help для получения дополнительной информации.
Aug  2 15:17:18 964889-cd87180 systemd[1]: [email protected]: Главный процесс вышел, код=вышел, статус=1/НЕУДАЧА
Aug  2 15:17:18 964889-cd87180 systemd[1]: [email protected]: Не удалось с результатом 'exit-code'.
Aug  2 15:17:18 964889-cd87180 systemd[1]: Не удалось запустить службу OpenVPN для сервера.
serv_ivan@964889-cd87180:/etc/openvpn$ 

Я пытался изменить путь к рабочему каталогу, но это не сработало:

serv_ivan@964889-cd87180:/etc/openvpn$ cat /usr/lib/systemd/system/[email protected]
[Unit]
Description=OpenVPN service for %I
After=network-online.target
Wants=network-online.target
Documentation=man:openvpn(8)
Documentation=https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
Documentation=https://community.openvpn.net/openvpn/wiki/HOWTO

[Service]
Type=notify
PrivateTmp=true
#WorkingDirectory=/etc/openvpn/server
WorkingDirectory=/etc/openvpn
ExecStart=/usr/sbin/openvpn --status %t/openvpn-server/status-%i.log --status-version 2 --suppress-timestamps --config %i.conf
CapabilityBoundingSet=CAP_IPC_LOCK CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SYS_CHROOT CAP_DAC_OVERRIDE CAP_AUDIT_WRITE
LimitNPROC=10
DeviceAllow=/dev/null rw
DeviceAllow=/dev/net/tun rw
ProtectSystem=true
ProtectHome=true
KillMode=process
RestartSec=5s
Restart=on-failure

[Install]
WantedBy=multi-user.target
serv_ivan@964889-cd87180:/etc/openvpn$
serv_ivan@964889-cd87180:/etc/openvpn$ sudo mv server/server.conf ./
serv_ivan@964889-cd87180:/etc/openvpn$ ls
client  server  server.conf  update-resolv-conf
serv_ivan@964889-cd87180:/etc/openvpn$ sudo systemctl restart  [email protected]
Предупреждение: Юнитный файл, исходный конфигурационный файл или его дополнительные файлы для [email protected] изменился на диске. Запустите 'systemctl daemon-reload', чтобы перезагрузить юниты.
Задание для [email protected] не удалось, так как управляющий процесс завершился с кодом ошибки.
Смотрите "systemctl status [email protected]" и "journalctl -xeu [email protected]" для получения деталей.

serv_ivan@964889-cd87180:/etc/openvpn$ sudo systemctl -f enable [email protected]
serv_ivan@964889-cd87180:/etc/openvpn$ sudo systemctl start [email protected]
Задание для [email protected] не удалось, так как управляющий процесс завершился с кодом ошибки.
Смотрите "systemctl status [email protected]" и "journalctl -xeu [email protected]" для получения деталей.
serv_ivan@964889-cd87180:/etc/openvpn$ sudo systemctl status [email protected][email protected] - Служба OpenVPN для сервера
     Загружен: загружен (/lib/systemd/system/[email protected]; включен; предустановка производителя: включена)
     Активен: активируется (автоперезапуск) (Результат: код выхода) с Вт 2022-08-02 16:14:59 MSK; 3с назад
       Документы: man:openvpn(8)
             https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
             https://community.openvpn.net/openvpn/wiki/HOWTO
    Процесс: 1534787 ExecStart=/usr/sbin/openvpn --status /run/openvpn-server/status-server.log --status-version 2 --suppress-timestamps --config server.conf (код=вышел, статус=1/НЕУДАЧА)
   Основной PID: 1534787 (код=вышел, статус=1/НЕУДАЧА)
        ЦП: 14мс

Aug 02 16:14:59 964889-cd87180.tmweb.ru systemd[1]: [email protected]: Главный процесс вышел, код=вышел, статус=1/НЕУДАЧА
Aug 02 16:14:59 964889-cd87180.tmweb.ru systemd[1]: [email protected]: Не удалось с результатом 'exit-code'.
Aug 02 16:14:59 964889-cd87180.tmweb.ru systemd[1]: Не удалось запустить службу OpenVPN для сервера.
serv_ivan@964889-cd87180:/etc/openvpn$

лог:

serv_ivan@964889-cd87180:/etc/openvpn$ sudo systemctl restart [email protected]
Задание для [email protected] не удалось, так как управляющий процесс завершился с кодом ошибки.
Смотрите "systemctl status [email protected]" и "journalctl -xeu [email protected]" для получения деталей.
serv_ivan@964889-cd87180:/etc/openvpn$ sudo tail -n 30 /var/log/syslog
Aug  2 17:53:54 964889-cd87180 systemd[1]: Не удалось запустить службу OpenVPN для сервера.
Aug  2 17:53:54 964889-cd87180 systemd[1]: [email protected]: Запланирован перезапуск, счетчик перезапусков на 15243.
Aug  2 17:53:54 964889-cd87180 systemd[1]: Остановлено соединение OpenVPN с сервером.
Aug  2 17:53:54 964889-cd87180 systemd[1]: Запускается соединение OpenVPN с сервером...
Aug  2 17:53:54 964889-cd87180 systemd[1]: [email protected]: Главный процесс вышел, код=вышел, статус=1/НЕУДАЧА
Aug  2 17:53:54 964889-cd87180 systemd[1]: [email protected]: Не удалось с результатом 'exit-code'.
Aug  2 17:53:54 964889-cd87180 systemd[1]: Не удалось запустить соединение OpenVPN с сервером.
Aug  2 17:53:59 964889-cd87180 systemd[1]: [email protected]: Запланирован перезапуск, счетчик перезапусков на 15708.
Aug  2 17:53:59 964889-cd87180 systemd[1]: Остановлена служба OpenVPN для сервера.
Aug  2 17:53:59 964889-cd87180 systemd[1]: Запускается служба OpenVPN для сервера...
Aug  2 17:53:59 964889-cd87180 systemd[1]: [email protected]: Главный процесс вышел, код=вышел, статус=1/НЕУДАЧА
Aug  2 17:53:59 964889-cd87180 systemd[1]: [email protected]: Не удалось с результатом 'exit-code'.
Aug  2 17:53:59 964889-cd87180 systemd[1]: Не удалось запустить службу OpenVPN для сервера.
Aug  2 17:54:00 964889-cd87180 systemd[1]: [email protected]: Запланирован перезапуск, счетчик перезапусков на 15244.
Aug  2 17:54:00 964889-cd87180 systemd[1]: Остановлено соединение OpenVPN с сервером.
Aug  2 17:54:00 964889-cd87180 systemd[1]: Запускается соединение OpenVPN с сервером...
Aug  2 17:54:00 964889-cd87180 systemd[1]: [email protected]: Главный процесс вышел, код=вышел, статус=1/НЕУДАЧА
Aug  2 17:54:00 964889-cd87180 systemd[1]: [email protected]: Не удалось с результатом 'exit-code'.
Aug  2 17:54:00 964889-cd87180 systemd[1]: Не удалось запустить службу OpenVPN для сервера.
Aug  2 17:54:01 964889-cd87180 systemd[1]: Остановлена служба OpenVPN для сервера.
Aug  2 17:54:01 964889-cd87180 systemd[1]: Запускается служба OpenVPN для сервера...
Aug  2 17:54:01 964889-cd87180 systemd[1]: [email protected]: Главный процесс вышел, код=вышел, статус=1/НЕУДАЧА
Aug  2 17:54:01 964889-cd87180 systemd[1]: [email protected]: Не удалось с результатом 'exit-code'.
Aug  2 17:54:01 964889-cd87180 systemd[1]: Не удалось запустить службу OpenVPN для сервера.
Aug  2 17:54:05 964889-cd87180 systemd[1]: [email protected]: Запланирован перезапуск, счетчик перезапусков на 15245.
Aug  2 17:54:05 964889-cd87180 systemd[1]: Остановлено соединение OpenVPN с сервером.
Aug  2 17:54:05 964889-cd87180 systemd[1]: Запускается соединение OpenVPN с сервером...
Aug  2 17:54:05 964889-cd87180 systemd[1]: [email protected]: Главный процесс вышел, код=вышел, статус=1/НЕУДАЧА
Aug  2 17:54:05 964889-cd87180 systemd[1]: [email protected]: Не удалось с результатом 'exit-code'.
Aug  2 17:54:05 964889-cd87180 systemd[1]: Не удалось запустить соединение OpenVPN с сервером.
serv_ivan@964889-cd87180:/etc/openvpn$

В моем случае, когда nginx запускается первым, это вызывает ошибку vpn

если вы используете nginx как обратный прокси для ваших vpn-клиентов, сделайте следующее:

sudo su
#остановить open vpn и nginx
systemctl stop openvpn
systemctl stop nginx

#сначала перезапустите openvpn 
systemctl start openvpn
systemctl status openvpn


#наконец, перезапустите вашу службу nginx 
systemctl start nginx
systemctl status nginx

Ответ или решение

Проблемы с OpenVPN на Ubuntu 22.04

Настройка сервиса OpenVPN на Ubuntu 22.04 может вызвать ряд трудностей, особенно при следовании руководствам, написанным для других версий дистрибутивов. Давайте подробно рассмотрим основные проблемы, с которыми вы столкнулись, и предложим решения.

1. Ошибка открытия конфигурационного файла

Согласно вашему описанию и логам, проблема заключается в том, что OpenVPN не может найти файл конфигурации /etc/openvpn/server.conf. Примечание: у вас он находится по пути /etc/openvpn/server/server.conf.

Решение:

Вы можете либо переместить файл server.conf в директорию /etc/openvpn, либо отредактировать файл службы OpenVPN, чтобы указать правильный путь. Для этого выполните следующие шаги:

  1. Перемещение файла server.conf в директорию /etc/openvpn:

    sudo mv /etc/openvpn/server/server.conf /etc/openvpn/
  2. Или отредактируйте файл службы UTC:
    Откройте /usr/lib/systemd/system/[email protected] (здесь вместо <имя_сервиса> используйте имя вашего сервиса). Найдите строку ExecStart и измените так, чтобы она указывала полный путь к вашему файлу конфигурации, например:

    ExecStart=/usr/sbin/openvpn --status /run/openvpn-server/status-server.log --status-version 2 --suppress-timestamps --config /etc/openvpn/server/server.conf

Важно: После изменения любого из файлов службы выполните команду sudo systemctl daemon-reload, чтобы применить изменения.

2. Права доступа к файлам

Также допускается, что проблема связана с правами доступа к файлам. Убедитесь, что файлы и директории имеют правильные права доступа и принадлежат пользователю root. Рекомендованные права:

  • Директория /etc/openvpn/755,
  • Конфигурационные файлы (server.conf, ca.crt, server.crt, server.key и др.) – 600 для ключей и сертификатов, 644 для конфигурационного файла.

Проверьте и измените права доступа:

sudo chown root:root /etc/openvpn/server/*
sudo chmod 600 /etc/openvpn/server/*.key /etc/openvpn/server/*.crt
sudo chmod 644 /etc/openvpn/server/server.conf

3. Зависимости с другими сервисами

Если OpenVPN используется в связке с Nginx (например, как обратный прокси), убедитесь, что Nginx не запускается до OpenVPN. Это может вызвать конфликты. Рекомендуемая последовательность запуска:

sudo systemctl stop nginx
sudo systemctl stop openvpn
sudo systemctl start openvpn
sudo systemctl status openvpn
sudo systemctl start nginx
sudo systemctl status nginx

4. Анализ логов

Проверяйте логи OpenVPN и системные логи, чтобы выявить дополнительные проблемы. Используйте команду:

sudo tail -f /var/log/syslog

Эта команда позволит вам отслеживать появление новых сообщений в реальном времени, что поможет в быстром реагировании на возникающие ошибки.

Заключение

Настройка OpenVPN на Ubuntu 22.04 требует внимания к деталям, включая пути к файлам, права доступа и взаимодействие с другими сервисами. Придерживаясь рекомендаций и решая возникшие проблемы последовательно, вы сможете успешно развернуть OpenVPN. Не забывайте использовать официальные документации и форумы для получения актуальной информации и поддержки.

Оцените материал
Добавить комментарий

Капча загружается...