Вопрос или проблема
Я обновил свой Ubuntu и выполнил несколько команд apt upgrade
… Я попробовал VPN, и он больше не работал.
Это была ранее работающая L2TP-сетевая соединение, интегрированное с Duo(2fa). Запрос отправляется в Duo на моем мобильном устройстве, поэтому пароль верный, но соединение разрывается независимо от того, принимаю я его в Duo или нет. Я попросил помощи в корпорации, но даже поддержка VPN не смогла выяснить, почему это не работает.
При изучении журналов я нашел следующее:
2024-06-25T06:09:41.675046-03:00 ca372nt NetworkManager[10817]: соединение '15189f67-8fc3-479f-986a-4d15fd469d6a' успешно установлено
2024-06-25T06:09:41.767567-03:00 ca372nt nm-l2tp-service[10569]: соединение strongSwan IPsec установлено.
2024-06-25T06:09:41.768124-03:00 ca372nt nm-l2tp-service[10569]: kl2tpd запущен с pid 10823
2024-06-25T06:09:41.771622-03:00 ca372nt NetworkManager[10823]: уровень=info tunnel_name=t1 session_name=s1 сообщение="новая динамическая сессия" session_id=15762 peer_session_id=0 pseudowire=7
2024-06-25T06:09:41.771709-03:00 ca372nt NetworkManager[10823]: уровень=info tunnel_name=t1 сообщение="новый динамический туннель" версия=2 encap=UDP local= peer=(ip удален):1701 tunnel_id=58408 peer_tunnel_id=0
2024-06-25T06:09:41.771734-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 сообщение="fsm событие" событие=open
2024-06-25T06:09:41.771777-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение=send message_type=avpMsgTypeSccrq
2024-06-25T06:09:41.771796-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение=send message_type=avpMsgTypeSccrq ns=0 nr=0 isRetransmit=false
2024-06-25T06:09:41.808385-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение="socket recv" длина=147
2024-06-25T06:09:41.808563-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение=recv message_type=avpMsgTypeSccrp
2024-06-25T06:09:41.808614-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение="send complete" message_type=avpMsgTypeSccrq ошибка=null
2024-06-25T06:09:41.808663-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 сообщение="fsm событие" событие=sccrp
2024-06-25T06:09:41.808709-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение=send message_type=avpMsgTypeScccn
2024-06-25T06:09:41.808807-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение=send message_type=avpMsgTypeScccn ns=1 nr=1 isRetransmit=false
2024-06-25T06:09:41.991015-03:00 ca372nt snap-store[3115]: fwupd_client_download_bytes_async: условие 'url != NULL' не выполнено
2024-06-25T06:09:42.363906-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение="socket recv" длина=12
2024-06-25T06:09:42.364059-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение="send complete" message_type=avpMsgTypeScccn ошибка=null
2024-06-25T06:09:42.364100-03:00 ca372nt NetworkManager[10823]: уровень=info tunnel_name=t1 сообщение="контрольный уровень установлен"
2024-06-25T06:09:42.364205-03:00 ca372nt NetworkManager[10823]: уровень=info tunnel_name=t1 сообщение="данные уровня установлены"
2024-06-25T06:09:42.364267-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 сообщение="fsm событие" событие=newsession
2024-06-25T06:09:42.364320-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 session_name=s1 сообщение="fsm событие" событие=tunnelopen
2024-06-25T06:09:42.364418-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение=send message_type=avpMsgTypeIcrq
2024-06-25T06:09:42.364473-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение=send message_type=avpMsgTypeIcrq ns=2 nr=1 isRetransmit=false
2024-06-25T06:09:42.401192-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение="socket recv" длина=28
2024-06-25T06:09:42.401332-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение=recv message_type=avpMsgTypeIcrp
2024-06-25T06:09:42.401384-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 сообщение="fsm событие" событие=sessionmsg
2024-06-25T06:09:42.401471-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение="send complete" message_type=avpMsgTypeIcrq ошибка=null
2024-06-25T06:09:42.401519-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 session_name=s1 сообщение="fsm событие" событие=icrp
2024-06-25T06:09:42.401565-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение=send message_type=avpMsgTypeIccn
2024-06-25T06:09:42.401611-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение=send message_type=avpMsgTypeIccn ns=3 nr=2 isRetransmit=false
2024-06-25T06:09:42.440646-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение="socket recv" длина=34
2024-06-25T06:09:42.440759-03:00 ca372nt NetworkManager[10823]: уровень=error tunnel_name=t1 функция=transport сообщение="ошибка приема кадра" ошибка="неправильный заголовок: длина 58408 превышает границы буфера 30"
2024-06-25T06:09:43.161581-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение="socket recv" длина=12
2024-06-25T06:09:43.161667-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение="send complete" message_type=avpMsgTypeIccn ошибка=null
2024-06-25T06:09:43.161695-03:00 ca372nt NetworkManager[10823]: уровень=info tunnel_name=t1 session_name=s1 сообщение="контрольный уровень установлен"
2024-06-25T06:09:43.161745-03:00 ca372nt NetworkManager[10823]: уровень=info tunnel_name=t1 session_name=s1 сообщение="данные уровня установлены"
2024-06-25T06:09:43.161817-03:00 ca372nt NetworkManager[10823]: уровень=info сообщение="сессия установлена" tunnel_name=t1 session_name=s1 tunnel_id=58408 session_id=15762 peer_tunnel_id=28458 peer_session_id=372
2024-06-25T06:09:43.167292-03:00 ca372nt pppd[10843]: Плагин pppol2tp.so загружен.
2024-06-25T06:09:43.169053-03:00 ca372nt pppd[10843]: Плагин /usr/lib/pppd/2.4.9/nm-l2tp-pppd-plugin.so загружен.
2024-06-25T06:09:43.171954-03:00 ca372nt pppd[10843]: pppd 2.4.9 запущен от имени root, uid 0
2024-06-25T06:09:43.172573-03:00 ca372nt pppd[10843]: Используя интерфейс ppp0
2024-06-25T06:09:43.172679-03:00 ca372nt pppd[10843]: Connect: ppp0 <-->
2024-06-25T06:09:43.172775-03:00 ca372nt pppd[10843]: Переопределение mtu 1500 на 1400
2024-06-25T06:09:43.172969-03:00 ca372nt pppd[10843]: Переопределение mru 1500 на значение mtu 1400
...
2024-06-25T06:09:43.174990-03:00 ca372nt NetworkManager[1092]: <info> [1719306583.1745] manager: (ppp0): новое устройство Ppp (/org/freedesktop/NetworkManager/Devices/7)
2024-06-25T06:09:45.553622-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение="socket recv" длина=36
2024-06-25T06:09:45.553780-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение=recv message_type=avpMsgTypeSli
2024-06-25T06:09:45.553874-03:00 ca372nt NetworkManager[10823]: уровень=error tunnel_name=t1 сообщение="неправильное контрольное сообщение" message_type=avpMsgTypeSli ошибка="нет спецификации для v2 сообщения avpMsgTypeSli"
2024-06-25T06:09:45.553919-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 сообщение="fsm событие" событие=close
2024-06-25T06:09:45.553960-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение=send message_type=avpMsgTypeStopccn
2024-06-25T06:09:45.554000-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение=send message_type=avpMsgTypeStopccn ns=4 nr=3 isRetransmit=false
2024-06-25T06:09:45.588828-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение="socket recv" длина=36
2024-06-25T06:09:45.588978-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение=recv message_type=avpMsgTypeCdn
2024-06-25T06:09:45.589041-03:00 ca372nt NetworkManager[10823]: уровень=debug tunnel_name=t1 функция=transport сообщение="send complete" message_type=avpMsgTypeStopccn ошибка=null
2024-06-25T06:09:45.602530-03:00 ca372nt NetworkManager[10823]: уровень=info сообщение="сессия завершена" результат= tunnel_name=t1 session_name=s1 tunnel_id=58408 session_id=15762 peer_tunnel_id=28458 peer_session_id=372
2024-06-25T06:09:45.602626-03:00 ca372nt NetworkManager[10823]: уровень=info сообщение="убийство псевдоли".
2024-06-25T06:09:45.602676-03:00 ca372nt NetworkManager[10823]: уровень=info tunnel_name=t1 session_name=s1 сообщение=close
2024-06-25T06:09:45.602743-03:00 ca372nt NetworkManager[10823]: уровень=error tunnel_name=t1 функция=transport сообщение="ошибка чтения сокета" ошибка="использование закрытого файла"
2024-06-25T06:09:45.602808-03:00 ca372nt NetworkManager[10823]: уровень=error tunnel_name=t1 функция=transport сообщение="транспорт отключен" ошибка="транспорт остановлен пользователем"
2024-06-25T06:09:45.602847-03:00 ca372nt NetworkManager[10823]: уровень=info tunnel_name=t1 сообщение=close
2024-06-25T06:09:45.602884-03:00 ca372nt NetworkManager[10823]: уровень=error tunnel_name=t1 сообщение="необработанное v2 контрольное сообщение" message_type=avpMsgTypeSli
2024-06-25T06:09:45.603416-03:00 ca372nt pppd[10843]: Завершение по сигналу 2
Мне показалось странным, что никакой /dev/pts
не установлен на Connect: ppp0 <-->
. Но я не могу понять, почему.
Есть ли советы по устранению неполадок или их исправлению?
Что касается следующей ошибки go-l2tp kl2tpd:
NetworkManager[10823]: уровень=error tunnel_name=t1 сообщение="неправильное контрольное сообщение" message_type=avpMsgTypeSli ошибка="нет спецификации для v2 сообщения avpMsgTypeSli"
Смотрите следующие отчеты об ошибках:
- https://github.com/katalix/go-l2tp/issues/6
- https://bugs.launchpad.net/ubuntu/+source/golang-github-katalix-go-l2tp/+bug/2068687
Ваше рабочее место имеет маршрутизатор или другое устройство, работающее на OpenL2TP, что вызвало ошибку с kl2tpd. Вы не столкнулись с этой проблемой в более ранних релизах Ubuntu, так как они использовали xl2tpd.
Обходной путь — использовать следующий PPA network-manager-l2tp, который имеет более новый пакет go-l2tp-0.1.8-1, содержащий исправление ошибки:
Следующие действия помогли мне исправить проблему с неработающим соединением l2tp vpn “AL31L NetworkManager[24377]: уровень=error сообщение=”pppd завершился с кодом ошибки” ошибка=”код выхода 16″ сообщение об ошибке=”ссылка была разорвана модемом””
sudo apt install xl2tpd
sudo apt purge go-l2tp
Ответ или решение
После обновления Ubuntu до версии 24.04 у вас возникли проблемы с подключением к VPN по L2TP, что является распространенной ситуацией. Ваша проблема может быть связана с несколькими аспектами, связанными с изменениями в системе, совместимостью программного обеспечения и ошибками конфигурации. Давайте рассмотрим ключевые шаги для устранения данной проблемы.
1. Анализ логов и диагностика
На основании ваших логов можно выделить несколько критических ошибок, связанных с go-l2tp
, который используется в Ubuntu 24.04 вместо xl2tpd
. В частности, логи показывают сообщение об ошибке:
level=error tunnel_name=t1 message="bad control message" message_type=avpMsgTypeSli error="no specification for v2 message avpMsgTypeSli"
Эта ошибка указывает на то, что ваше устройство или маршрутизатор использует OpenL2TP, который вызывает конфликт с kl2tpd. Это подтверждается ссылкой на пользовательский репозиторий с исправлениями для go-l2tp, который вы нашли.
2. Альтернативные решения
-
Установка
xl2tpd
:
Если ваш VPN был успешно настроен на предыдущих версиях Ubuntu, есть смысл вернутьxl2tpd
в качестве временного решения. Используйте следующие команды для установки:sudo apt install xl2tpd sudo apt purge go-l2tp
Это остановит использование go-l2tp и вернет ваше VPN-соединение к предыдущему состоянию.
-
Использование PPA для NetworkManager:
Если вы хотите продолжать использоватьgo-l2tp
, вы можете попробовать установить более новую версию с исправлениями из PPA. Выполните следующие команды для добавления PPA и обновления:sudo add-apt-repository ppa:nm-l2tp/network-manager-l2tp sudo apt update sudo apt install network-manager-l2tp
3. Проверка конфигурации
Проверьте конфигурацию вашего L2TP VPN:
- Убедитесь, что все параметры аутентификации и IPSec настроены правильно.
- Убедитесь, что порты UDP 500 и 4500 открыты на вашем маршрутизаторе или брандмауэре.
- Используйте
strongSwan
для IPsec, проверяя правильность конфигурации в/etc/ipsec.conf
и соответствующих файлах.
4. Устранение неполадок соединения
- Проверяйте статус
pppd
:sudo systemctl status pppd.service
- Проверяйте системные логи для дополнительной информации о проблемах при подключении:
sudo journalctl -xe
- Убедитесь, что зависимости установлены и обновлены:
sudo apt update sudo apt upgrade
5. Поддержка и документация
Если проблема сохраняется, рекомендуется ознакомиться с документацией по NetworkManager и форумами сообщества Ubuntu, где другие пользователи столкнулись с аналогичными проблемами. Также полезно обращаться за поддержкой к вашей корпоративной службе IT.
Заключение
Обновления системы могут вызывать неожиданные проблемы с VPN-соединениями, особенно когда речь идет о протоколах, таких как L2TP, и их конфигурациям. Используя предложенные решения, вы сможете восстановить свою работу. Помните, что всегда есть возможность откатиться к предыдущему программному обеспечению, если новое вызывает нестабильность.
Если у вас возникли дополнительные вопросы или нужна конкретная помощь в настройке, не стесняйтесь обращаться за помощью.