Ubuntu 24.04 тихо замінив демон за плагіном L2TP у NetworkManager. Старий шлях використовував xl2tpd; нове пакування приносить реалізацію на Go, яка створює демон з іменем kl2tpd. Плагін запускає той, що встановлений, тож оновлення може замінити демон, не торкаючись вашого профілю чи облікових даних. Це вся несправність: керівне повідомлення, яке новий демон не розпізнає.

Плагін координує IPsec, L2TP і PPP, а потім передає отриманий інтерфейс у NetworkManager. Він сам не реалізує L2TP.

Плагін — координатор, а не демон

network-manager-l2tp запускає помічник IPsec, демон L2TP і PPP та підключає інтерфейс до керування з'єднаннями робочого столу. Роками демоном був xl2tpd, і кожен посібник, що згадував його конфігурацію, успадковував це припущення. Пізніше пакування Debian прийняло будь-яку з двох реалізацій, і 24.04 встановлює версію на Go, яка надає kl2tpd. Жодне поле профілю не фіксує, який демон працював раніше, тож заміна залишається непомітною, поки повідомлення не буде відхилено.

Машина з обома пакетами все одно може запускати не той, що ви очікуєте. Вибір — рішення плагіна, а не посібника, якого ви дотримувалися.

Прочитайте етап, перш ніж вибирати виправлення

journalctl -b --no-hostname _COMM=nm-l2tp-service _COMM=kl2tpd _COMM=xl2tpd _COMM=pppd _COMM=charon _COMM=pluto

Зіставте одну спробу по всіх помічниках, замість того щоб довіряти сповіщенню робочого столу. Цей запит покаже, де зупинилася послідовність, а dpkg -l покаже, яка реалізація встановлена. Збій, що з'являється після встановлення партнера IPsec і згадує керівне повідомлення або невідомий атрибут, указує на демон. Збій до появи тунелю означає, що демон так і не було досягнуто.

Розбіжність заздалегідь спільного ключа закінчується на етапі IPsec і називає партнера. Проблема з обліковими даними PPP з'являється, коли тунель уже піднято, і зазвичай несе читабельну відмову CHAP або MS-CHAP. Обидві видно в одному запиті, і це різні проблеми.

Два шляхи, і вони не змішуються

sudo apt install xl2tpd
sudo apt purge go-l2tp

Ця пара ставить xl2tpd, а потім видаляє демон Go, залишаючи плагіну вибір реалізації, діалектом якої говорить шлюз. Порядок важливий: плагін залежить від однієї або іншої реалізації, тож видалення пакета Go першим тягне за собою і плагін. Другий шлях зберігає демон Go і переходить на новішу збірку, яка розуміє повідомлення, а це зазвичай означає PPA супровідника, а не версію з архіву. У керованому парку закріпити PPA легше обґрунтувати, ніж навчати користувачів видаляти пакети.

Не поєднуйте обидва в одній зміні. Тоді пізніший збій не дасть сказати, яка половина допомогла, а майбутнє оновлення може повернути щойно видалений пакет.

У тікеті вкажіть бінарний файл демона, його версію та точне повідомлення. Ніхто не зможе відтворити звіт, який каже лише, що L2TP зламався після випуску, тоді як названий атрибут і версія пакета дають відправну точку.

Три речі, якими це не є

Це не проблема профілю, бо той самий профіль працював на 22.04 з тим самим шлюзом. Це не відсутній маршрут і не зміна брандмауера, бо вони зазнають невдачі в іншому місці з іншими доказами. Перевстановлення плагіна теж не виправляє, бо знову вибирається той самий демон. Корисний опис називає демон і повідомлення, яке він відхилив.

Виправлення на боці шлюзу — інший законний результат. Прошивка, яка перестає надсилати атрибут, переживає кожне оновлення клієнта, тоді як закріплений пакет переживає наступний випуск дистрибутива лише якщо хтось пам'ятає, чому його закріплено.

Порівнюйте два шляхи за витратами на обслуговування, а не за швидкістю. Обидва можуть працювати; лише один усуває розбіжність діалекту.

Схожі статті