Ubuntu 24.04 skiftede stille dæmonen bag NetworkManagers L2TP-plugin. Den ældre vej brugte xl2tpd; den nyere pakning trækker en Go-implementering ind, der skaber en dæmon ved navn kl2tpd. Pluginet starter den, der er installeret, så opgraderingen kan udskifte dæmonen uden at røre din profil eller dine legitimationsoplysninger. Det er hele fejlen: en kontrolbesked, som den nye dæmon ikke genkender.

Pluginet koordinerer IPsec, L2TP og PPP og overdrager derefter den resulterende grænseflade til NetworkManager. Det implementerer ikke L2TP selv.

Pluginet er en koordinator, ikke en dæmon

network-manager-l2tp kører IPsec-hjælperen, en L2TP-dæmon og PPP og forbinder grænsefladen til skrivebordets forbindelsesstyring. I årevis var dæmonen xl2tpd, og enhver vejledning, der nævnte dens konfiguration, arvede den antagelse. Debian-pakning accepterede senere enhver af de to implementeringer, og 24.04 installerer Go-versionen, som leverer kl2tpd. Intet felt i profilen registrerer, hvilken dæmon der kørte tidligere, så udskiftningen forbliver usynlig, indtil en besked afvises.

En maskine med begge pakker kører måske stadig ikke den, du forventer. Valget er pluginets beslutning, ikke den vejledning du fulgte.

Læs trinnet, før du vælger en reparation

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

Korrelér ét forsøg på tværs af hjælperne i stedet for at stole på skrivebordets underretning. Den forespørgsel viser, hvor sekvensen standsede, og dpkg -l viser, hvilken implementering der er installeret. En fejl, der vises, efter at IPsec-partneren er etableret, og som nævner en kontrolbesked eller et ukendt attribut, peger på dæmonen. En fejl, før tunnelen findes, betyder, at dæmonen aldrig blev nået.

Uenighed om den foruddelte nøgle slutter ved IPsec-trinnet og navngiver partneren. PPP-legitimationsproblemer vises, når tunnelen er oppe, og bærer normalt en læsbar CHAP- eller MS-CHAP-afvisning. Begge er synlige i samme forespørgsel, og de er forskellige problemer.

To veje, og de blandes ikke

sudo apt install xl2tpd
sudo apt purge go-l2tp

Det par sætter xl2tpd på plads og fjerner derefter Go-dæmonen, så pluginet kan vælge den implementering, hvis dialekt gatewayen taler. Rækkefølgen betyder noget: pluginet afhænger af den ene eller den anden implementering, så fjernes Go-pakken først, tager den pluginet med ned. Den anden vej beholder Go-dæmonen og skifter til et nyere build, der forstår beskeden, hvilket normalt betyder en vedligeholders PPA i stedet for arkivversionen. På en administreret flåde er det lettere at forsvare at fastlåse en PPA end at lære brugerne at fjerne pakker.

Kombinér ikke de to i én ændring. En senere fejl efterlader dig så uden at kunne sige, hvilken halvdel der hjalp, og en fremtidig opgradering kan gendanne den pakke, du netop fjernede.

Sæt dæmonens binære fil, dens version og den præcise besked i billetten. Ingen kan genskabe en rapport, der kun siger, at L2TP brød sammen efter udgivelsen, mens et navngivet attribut plus en pakkeversion giver dem et sted at begynde.

Tre ting, det ikke er

Det er ikke et profilproblem, da samme profil virkede på 22.04 mod samme gateway. Det er ikke en manglende rute eller en firewallændring, for de fejler andre steder med andre beviser. Geninstallation af pluginet reparerer det heller ikke, da samme dæmon vælges igen. Den brugbare beskrivelse navngiver dæmonen og den besked, den afviste.

En rettelse på gateway-siden er det andet legitime udfald. Firmware, der holder op med at sende attributten, overlever hver klientopgradering, mens en fastlåst pakke kun overlever næste distributionsudgivelse, hvis nogen husker hvorfor den er låst.

Sammenlign de to veje på vedligeholdelsesomkostninger i stedet for hastighed. Begge kan virke; kun én fjerner dialektuoverensstemmelsen.

Relaterede artikler