L2TP på Ubuntu 24.04 er øydelagt: xl2tpd eller go-l2tp-demon?
Demonen bak NetworkManager sin L2TP-plugin vart bytt i 24.04. Les kva trinn som feila, og vel så éin reparasjon i staden for å fjerne og feste samstundes.
Ubuntu 24.04 bytte lydlaust ut demonen bak NetworkManager sin L2TP-plugin. Den eldre vegen brukte xl2tpd; den nyare pakkinga dreg inn ein Go-implementasjon som lagar ein demon kalla kl2tpd. Pluginen startar den som er installert, så oppgraderinga kan bytte demonen utan å røre profilen eller påloggingsdetaljane dine. Det er heile feilen: ei kontrollmelding som den nye demonen ikkje kjenner att.
Pluginen koordinerer IPsec, L2TP og PPP og overleverer deretter grensesnittet til NetworkManager. Han implementerer ikkje L2TP sjølv.
Pluginen er ein koordinator, ikkje ein demon
network-manager-l2tp køyrer IPsec-hjelparen, ein L2TP-demon og PPP og koplar grensesnittet til tilkoplingsstyringa på skrivebordet. I mange år var demonen xl2tpd, og kvar rettleing som nemnde konfigurasjonen, arva den føresetnaden. Debian-pakkinga godtok seinare kva som helst av dei to implementasjonane, og 24.04 installerer Go-versjonen, som leverer kl2tpd. Ingen felt i profilen registrerer kva demon som køyrde før, så byttet blir verande usynleg til ei melding blir avvist.
Ein maskin med begge pakkane køyrer kanskje framleis ikkje den du ventar. Valet er pluginens avgjerd, ikkje rettleinga du følgde.
Les trinnet før du vel ein reparasjon
journalctl -b --no-hostname _COMM=nm-l2tp-service _COMM=kl2tpd _COMM=xl2tpd _COMM=pppd _COMM=charon _COMM=pluto
Korreler eitt forsøk på tvers av hjelparane i staden for å stole på skrivebordsvarselet. Den spørjinga viser kvar sekvensen stoppa, og dpkg -l viser kva implementasjon som er installert. Ein feil som dukkar opp etter at IPsec-peer-en er etablert, og som nemner ei kontrollmelding eller eit ukjent attributt, peikar på demonen. Ein feil før tunnelen finst betyr at demonen aldri vart nådd.
Ueinigheit om den førehandsdelt nøkkelen endar ved IPsec-trinnet og namngjev peer-en. PPP-påloggingsproblem viser seg når tunnelen er oppe og ber vanlegvis ei lesbar CHAP- eller MS-CHAP-avvising. Begge er synlege i same spørjing, og dei er ulike problem.
To vegar, og dei blandar seg ikkje
sudo apt install xl2tpd sudo apt purge go-l2tp
Det paret set xl2tpd på plass og fjernar deretter Go-demonen, slik at pluginen vel implementasjonen kva sin dialekt gatewayen snakkar. Rekkefølgja betyr noko: pluginen er avhengig av den eine eller den andre implementasjonen, så blir Go-pakken fjerna først, tek han pluginen med seg ned. Den andre vegen held på Go-demonen og går over til eit nyare bygg som forstår meldinga, noko som vanlegvis tyder ein vedlikehaldar sin PPA i staden for arkivversjonen. På ein administrert flåte er det lettare å forsvare å feste ein PPA enn å lære brukarane å fjerne pakkar.
Ikkje kombiner dei to i éi endring. Ein seinare feil lèt deg då ikkje seie kva halvdel som hjelpte, og ei framtidig oppgradering kan gjenopprette pakken du nettopp fjerna.
Set demonen sin binærfil, versjonen og den nøyaktige meldinga i saka. Ingen kan gjenskape ein rapport som berre seier at L2TP vart øydelagt etter utgjevinga, medan eit namngjeve attributt pluss ein pakkeversjon gjev dei eit stad å byrje.
Tre ting det ikkje er
Det er ikkje eit profilproblem, sidan same profil verka på 22.04 mot same gateway. Det er ikkje ei manglande rute eller ei brannmur-endring, fordi dei feilar andre stader med andre prov. Ny installasjon av pluginen reparerer det heller ikkje, sidan same demon blir vald igjen. Den nyttige skildringa namngjev demonen og meldinga han avviste.
Ei retting på gateway-sida er det andre legitime utfallet. Fastvare som sluttar å sende attributtet overlever kvar klientoppgradering, medan ein festa pakke berre overlever neste distribusjonsutgjeving om nokon hugsar kvifor han er festa.
Samanlikn dei to vegane på vedlikehaldskostnad i staden for fart. Begge kan verke; berre éin fjernar dialektavviket.