2.5.5.4.2 Диагностика VPN-подключения
Диагностика подключения
Предварительная проверка
Начальная диагностика
Расширенная диагностика NetworkManager-l2tp
Расширенная диагностика Libreswan
Переключение NetworkManager-l2tp на использование Strongswan
Расширенная диагностика Strongswan
Решение возникающих проблем
Окружение
- Версия ОС: 7.3
- Конфигурация ОС: Рабочая станция
- Редакция ОС: Стандартная
- Архитектура: x86_64
В соответствии с требованиями законодательства об информации, информационных технологиях и защите информации сведения, размещённые в настоящем разделе, могут быть использованы исключительно для целей построения и функционирования виртуальной частной сети, обеспечивающей безопасную передачу данных, передача которых не запрещена законом. РЕД СОФТ не несёт ответственности за действия пользователя в случае использования им указанной информации в целях, противоречащих законодательству Российской Федерации.
Диагностика подключения
Предварительная проверка
Перед началом диагностики убедитесь, что в системе присутствует активное VPN-соединение. Для отображения списка всех доступных сетевых соединений выполните команду:
nmcli connection show
Пример вывода:
NAME UUID TYPE DEVICE
Проводное подключение 1 2c961360-38ad-3655-a6aa-aff73ec38ee8 ethernet enp3s0
lo 366f7f31-62b0-638d-8d70-9cff4bbe6a94 loopback lo
VPN 7d5625a9-90a3-6ad1-b198-cc5e9f763b1d vpn enp3s0
В выводе должна присутствовать запись с типом vpn.
Действия по диагностике подключений следует выполнять c правами администратора. Далее в инструкции подразумевается, что приведенные команды должны быть выполнены с повышенными привилегиями.
Начальная диагностика
Начните диагностику с просмотра событий журнала systemd командой:
sudo journalctl -b --no-hostname _SYSTEMD_UNIT=NetworkManager.service + SYSLOG_IDENTIFIER=pppd + _SYSTEMD_UNIT=ipsec.service
Журнал служб IKE (pluto и charon) также ведется в файле /var/log/secure. Так как в /var/log/secure ведутся записи и от других служб, удобнее вывести только необходимые записи:
sudo grep -E 'pluto|charon' /var/log/secure
Пример вывода:
Sep 29 09:00:39 host1 pluto[16750]: loading secrets from "/etc/ipsec.secrets"
Обратите внимание на то, имя какого процесса присутствует в каждой строке этой команды:
- pluto — служба Libreswan,
- charon — служба Strongswan.
Расширенная диагностика NetworkManager-l2tp
Перед началом диагностики завершите предыдущий процесс:
killall -TERM nm-l2tp-service
Проверьте, что процесс завершен:
nmcli con show VPN | grep VPN.VPN-STATE
Для получения отладочной информации NetworkManager-l2tp запустите службу с ключом отладки --debug:
sudo sh -c '/usr/libexec/nm-l2tp-service --debug &> /root/nm-l2tp-debug.log &'
Выполнение команды приведет к созданию файла /root/nm-l2tp-debug.log, в который будет выводиться диагностическая информация в процессе установления соединения.
Запустите необходимое L2TP-подключение:
nmcli con up VPN
В режиме debug конфигурационные файлы подключения будут сохранены после завершения подключения.
Для каждого подключения создается каталог по шаблону /run/nm-l2tp-<UUID_соединения>/, где <UUID_соединения> — уникальный идентификатор соединений NetworkManager, который присутствует в выводе команды:
nmcli connection show
Посмотрите файл /root/nm-l2tp-debug.log:
sudo cat /root/nm-l2tp-debug.log
Для прерывания работы nm-l2tp-service выполните команду killall:
killall -TERM nm-l2tp-service
Проверьте, что процесс завершен:
nmcli con show VPN | grep VPN.VPN-STATE
Расширенная диагностика Libreswan
Состав диагностических данных Libreswan настраивается установкой значения переменной окружения PLUTODEBUG. Применяемый синтаксис значения переменной:
PLUTODEBUG="<тип1> <тип2> …"
Список доступных типов диагностической информации посмотрите с помощью команды:
ipsec whack --debug list
Пример использования переменной PLUTODEBUG для диагностики:
sudo PLUTODEBUG="all" /usr/libexec/nm-l2tp-service --debug > /root/nm-l2tp-debug.log 2>&1 &
Запустите необходимое L2TP-подключение:
nmcli con up VPN
Результат применения параметров диагностики будет зафиксирован в отладочном файле nm-l2tp-debug и в /var/log/secure (раздел «Начальная диагностика»).
Посмотрите файл nm-l2tp-service:
cat /root/nm-l2tp-debug.log
Посмотрите журнал /var/log/secure:
cat /var/log/secure
Для прерывания работы nm-l2tp-service выполните команду:
killall -TERM nm-l2tp-service
Проверьте, что процесс завершен:
nmcli con show VPN | grep VPN.VPN-STATE
Переключение NetworkManager-l2tp на использование Strongswan
NetworkManager-l2tp не имеет настройки для выбора определенной службы IPsec и отдает предпочтение Libreswan (pluto) при его обнаружении в системе.
Удалите пакет libreswan:
sudo dnf remove libreswan
Установите strongswan и сопутствующие пакеты:
sudo dnf install strongswan NetworkManager-strongswan NetworkManager-strongswan-gnome
Перезапустите NetworkManager для применения изменений:
sudo systemctl restart NetworkManager
Расширенная диагностика Strongswan
Состав диагностических данных Strongswan настраивается установкой значения переменной окружения CHARONDEBUG. Применяемый синтаксис значения переменной:
CHARONDEBUG="<Тип1> <Уровень>, <Тип2> <Уровень>, …, <ТипX> <Уровень>"
Поддерживаемые типы отладки — dmn, mgr, ike, chd, job, cfg, knl, net, asn, enc, lib, esp, tls, tnc, imc, imv, pts.
Поддерживаемые уровни отладки (по умолчанию используется уровень 1) — -1, 0, 1, 2, 3, 4 (соответствие — silent, audit, control, controlmore, raw, private).
Пример использования переменной CHARONDEBUG для диагностики:
sudo CHARONDEBUG="knl 1, ike 2, esp 2, lib 1, cfg 3" /usr/libexec/nm-l2tp-service --debug > /root/nm-l2tp-debug.log 2>&1 &
Запустите необходимое L2TP-подключение:
nmcli con up VPN
Результат применения параметров диагностики будет зафиксирован в отладочном файле nm-l2tp-service и в /var/log/secure (раздел «Начальная диагностика»).
Посмотрите файл nm-l2tp-service:
cat /root/nm-l2tp-debug.log
Посмотрите журнал /var/log/secure:
cat /var/log/secure
Решение возникающих проблем
Отключена поддержка IKEv1 (для Libreswan)
Данный раздел актуален только при использовании Libreswan. При использовании Strongswan поддержка IKEv1 включена по умолчанию и не требует дополнительной настройки.
В случае отключения поддержки IKEv1 выключите, а после включите требуемое VPN-соединение.
Включите поддержку IKEv1 в Libreswan, если в журнале наблюдаются сообщения вида:
failed to add IKEv1 connection: global ikev1-policy does not allow IKEv1 connections
Для этого откройте файл /etc/ipsec.conf на редактирование:
sudo nano /etc/ipsec.conf
Добавьте в секцию config setup параметр ikev1-policy:
config setup ikev1-policy="accept"
Обратите внимание, что перед параметром использована табуляция (Tab) для определения его в текущую секцию. В ином случае файл конфигурации будет обработан с ошибкой и служба ipsec не запустится!
Перезапустите службу ipsec:
sudo systemctl restart ipsec
Обязательное использование UDP порта 1701
В некоторых случаях сервер не допускает подключения с использованием порта источника, отличного от 1701. Если при подключении посредством NetworkManager-l2tp данный UDP-порт уже занят некоторым процессом, то будет произведена попытка подключиться со случайного порта, что приведет к отклонению соединения со стороны сервера.
Найти процесс, который занимает UDP-порт 1701 в системе, можно командой:
ss -unlp | grep 1701
Это может оказаться служба xl2tpd, которую можно остановить:
systemctl stop xl2tpd
или отключить:
systemctl --now disable xl2tpd
При отключении службы xl2tpd включите VPN-соединение.
Дата последнего изменения: 06.10.2026
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.