3.5.5.4.4 Диагностика VPN-подключения
Диагностика подключения
Начальная диагностика
Расширенная диагностика NetworkManager-l2tp
Расширенная диагностика Libreswan
Расширенная диагностика Strongswan
Решение возникающих проблем
Отключена поддержка IKEv1
Обязательное использование UDP порта 1701
Переключение NetworkManager-l2tp на использование Strongswan
В соответствии с требованиями законодательства об информации, информационных технологиях и защите информации сведения, размещённые в настоящем разделе, могут быть использованы исключительно для целей построения и функционирования виртуальной частной сети, обеспечивающей безопасную передачу данных, передача которых не запрещена законом. РЕД СОФТ не несёт ответственности за действия пользователя в случае использования им указанной информации в целях, противоречащих законодательству Российской Федерации.
Окружение
- Версия ОС: 8
- Конфигурация ОС: Рабочая станция
- Редакция ОС: Стандартная, Образовательная
Диагностика подключения
Действия по диагностике подключений следует выполнять от имени суперпользователя (root). Далее в инструкции подразумевается, что приведенные команды должны быть выполнены с повышенными привилегиями.
Начальная диагностика
Начать диагностику следует с просмотра событий журнала systemd командой:
journalctl -b --no-hostname _SYSTEMD_UNIT=NetworkManager.service + SYSLOG_IDENTIFIER=pppd + _SYSTEMD_UNIT=ipsec.service
Лог служб IKE (pluto и charon) также ведется в журнале /var/log/secure. Так как в /var/log/secure ведутся записи и от других служб, удобнее вывести только необходимые записи:
grep -E 'pluto|charon' /var/log/secure
Обратите внимание на то, имя какого процесса присутствует в каждой строке этой команды: pluto — служба libreswan, charon — служба strongswan.
Sep 01 03:03:33 host1 pluto[5351]: loading secrets from "/etc/ipsec.secrets"
Расширенная диагностика NetworkManager-l2tp
Для получения отладочной информации NetworkManager-l2tp необходимо запустить службу с ключом отладки:
killall -TERM nm-l2tp-service /usr/libexec/nm-l2tp-service --debug &> /root/nm-l2tp-debug.log &
Выполнение последней команды приведет к созданию файла /root/nm-l2tp-debug.log, в который будет выводиться диагностическая информация в процессе установления соединения. Запустите необходимое L2TP-подключение, как это указано в разделе «Запуск подключения». Для прерывания работы nm-l2tp-service выполните команду killall, приведенную выше:
killall -TERM nm-l2tp-service
Еще одна особенность режима debug заключается в том, что сгенерированные в процессе запуска конфигурационные файлы подключения будут сохранены после завершения подключения.
Для каждого подключения создается каталог по шаблону /run/nm-l2tp-<UUID_соединения>/, где <UUID_соединения> — уникальный идентификатор соединений NetworkManager, который присутствует в выводе команды:
nmcli connection show
Расширенная диагностика Libreswan
Состав диагностических данных Libreswan настраивается установкой значения переменной окружения PLUTODEBUG. Применяемый синтаксис значения переменной:
PLUTODEBUG="<тип1> <тип2> …"
Узнать поддерживаемые типы диагностической информации можно командой:
ipsec whack --debug list
Пример использования переменной PLUTODEBUG для диагностики:
PLUTODEBUG="all proposal-parser" /usr/libexec/nm-l2tp-service --debug
Результат применения параметров диагностики будет зафиксирован в журнале systemd и в /var/log/secure (раздел «Начальная диагностика»).
Расширенная диагностика 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 для диагностики:
CHARONDEBUG="knl 1, ike 2, esp 2, lib 1, cfg 3" /usr/libexec/nm-l2tp-service --debug
Результат применения параметров диагностики будет зафиксирован в журнале systemd и в /var/log/secure (раздел «Начальная диагностика»).
Решение возникающих проблем
Отключена поддержка IKEv1
Необходимо включить поддержку IKEv1 в Libreswan, если в логах наблюдаются сообщения вида:
failed to add IKEv1 connection: global ikev1-policy does not allow IKEv1 connections
Для этого добавьте в уже существующую секцию config setup файла /etc/ipsec.conf параметр ikev1-policy следующим образом:
config setup
...
ikev1-policy="accept"
Обратите внимание, что перед параметром использована табуляция (Tab) для определения его в текущую секцию. В ином случае файл конфигурации будет обработан с ошибкой и служба ipsec не запустится!
Перезапустите службу ipsec:
systemctl restart ipsec
Обязательное использование UDP порта 1701
В некоторых случаях сервер не допускает подключения с использованием порта источника, отличного от 1701. Если при подключении посредством NetworkManager-l2tp данный UDP-порт уже занят некоторым процессом, то будет произведена попытка подключиться со случайного (временного) порта, что приведет к отклонению соединения со стороны сервера.
Найти процесс, который занимает UDP-порт 1701 в системе, можно командой:
ss -unlp | grep 1701
Это может оказаться служба xl2tpd, которую можно остановить:
systemctl stop xl2tpd
или отключить:
systemctl --now disable xl2tpd
Переключение NetworkManager-l2tp на использование Strongswan
NetworkManager-l2tp не имеет настройки для выбора определенной службы IPsec и отдает предпочтение Libreswan (pluto) при его обнаружении в системе. Поэтому для переключения на использование Strongswan (charon) потребуется удалить пакет libreswan:
dnf remove libreswan
Дата последнего изменения: 05.05.2026
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.