2.5.5.4 Настройка VPN-подключения по L2TP с использованием Ipsec/PSK
Скачать документ Настройка подключения
Запуск подключения
Ручной запуск подключения
Автоматический запуск подключения
Диагностика подключения
Начальная диагностика
Расширенная диагностика NetworkManager-l2tp
Расширенная диагностика Libreswan
Расширенная диагностика Strongswan
Решение возникающих проблем
Отключена поддержка IKEv1
Обязательное использование UDP порта 1701
Переключение NetworkManager-l2tp на использование Strongswan
Окружение
- Версия РЕД ОС: 7.3
- Конфигурация: Рабочая станция
Настройка подключения
Вызовите диалог настройки сетевых соединений. Сделать это можно двумя способами:
из Центра управления в главном меню (Меню — Центр управления — Группа «Интернет и сеть» — Расширенная конфигурация сети);
щелкнув правой кнопкой мыши на значке сети в трее и выбрав пункт «Изменить соединения...» в появившемся меню.
В нижней части диалогового окна нажмите «+» для добавления соединения и выберите тип соединения «Туннельный протокол второго уровня (L2TP)».
Нажмите «Создать...».
На вкладке «VPN» необходимо заполнить параметры подключения:
«Шлюз» (обязательный) — IP-адрес или имя удаленного сервера L2TP;
«Тип» — тип аутентификации L2TP: «Пароль» или «Сертификаты (TLS)»;
«Имя пользователя» (необязательный) — если не заполнен, будет использовано имя пользователя, инициировавшего подключение;
«Пароль» (необязательный) — пароль пользователя (как правило, требуется для аутентификации);
«NT-домен» (необязательный) — имя домена, в котором будет производиться аутентификация.
Обратите внимание, что для полей, предназначенных для ввода пароля или закрытого ключа, доступна настройка варианта хранения. Для выбора варианта нажмите на значок в правой части поля ввода.
В случае использования IPsec для защиты соединения (наиболее частый сценарий) нажмите кнопку «Параметры IPsec».
Установите флажок «Подключить туннель IPsec к серверу L2TP».
Выберите тип аутентификации в поле «Тип»: Общий ключ (PSK) или Сертификаты TLS.
В случае использования типа «Общий ключ» необходимо ввести ключ/пароль в соответствующее поле.
В случае использования типа «Сертификаты TLS» необходимо выбрать сертификаты клиента и Удостоверяющего Центра, а также файл приватного ключа (обязательно укажите пароль к нему, если он назначен).
Раздел «Дополнительно» содержит расширенные параметры соединения IPsec, которые могут быть полезны для согласования параметров с удаленной стороной (VPN-шлюза).
Закройте диалог настройки L2TP IPsec.
Нажмите на кнопку «Параметры PPP» на вкладке «VPN» для открытия диалога со следующими параметрами:
выбор разрешенных методов аутентификации;
включение и выбор методов шифрования;
использование сжатия данных и заголовков;
указание MTU и MRU.
На вкладке «Параметры IPv4» основного окна настройки VPN-соединения вы можете изменить метод получения IP-адреса, указать адреса DNS-серверов и поисковые домены (при необходимости).
Нажмите кнопку «Маршруты» в нижней части окна.
Обратите внимание на флаг «Использовать это соединение только для ресурсов в этой сети»! Установите его, если нет необходимости использовать данное соединение для маршрута по умолчанию. Как правило, данный флаг необходимо установить.
Запуск подключения
Ручной запуск подключения
Для запуска соединения вручную нажмите на значок сети в трее левой кнопкой мыши и в появившемся меню выберите «Соединения VPN» - «Имя_соединения_VPN».
В процессе подключения будет отображено уведомление о результате подключения в правом нижнем углу экрана.
Автоматический запуск подключения
Вызовите диалог настройки сетевых соединений:
из Центра управления в главном меню (Меню — Центр управления — Группа «Интернет и сеть» — Расширенная конфигурация сети);
щелкнув правой кнопкой мыши на значке сети в трее и выбрав пункт «Изменить соединения...» в появившемся меню.
В диалоге настройки сетевых соединений двойным щелчком мыши откройте то соединение, при подключении которого необходимо активировать VPN.
Перейдите на вкладку «Основное» и установите флажок «Автоматически подключаться к VPN».
Выберите необходимое соединение VPN в выпадающем списке справа.
Диагностика подключения
Действия по диагностике подключений следует выполнять от имени суперпользователя (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
Дата последнего изменения: 03.09.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.