Вопрос или проблема
Я пытаюсь настроить 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, чтобы указать правильный путь. Для этого выполните следующие шаги:
-
Перемещение файла
server.conf
в директорию/etc/openvpn
:sudo mv /etc/openvpn/server/server.conf /etc/openvpn/
-
Или отредактируйте файл службы 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. Не забывайте использовать официальные документации и форумы для получения актуальной информации и поддержки.