Ødela Ubuntu-oppgraderingen L2TP/IPsec? Sammenlign IKEv1-forslagene
Profilen og passordet ble ikke endret, men fase 1 feiler nå. Klientens akseptable forslag har flyttet seg, og serveren tilbyr fortsatt det den alltid har tilbudt.
Tilkoblingen virket torsdag, oppgraderingen kjørte fredag, og mandag spinner klienten på “connecting” og gir opp. Samme bærbare, samme server, samme konto, samme forhåndsdelte nøkkel. Ingenting i profilen ble redigert, og derfor kaster de åpenbare mistenkte, passordet og brannmuren, bort tiden din.
Det som endret seg, er listen over transformasjoner som maskinen din er villig til å tilby. Begge IPsec-stakkene som brukes på Ubuntu, strongSwan og Libreswan, fjerner algoritmer de ikke lenger anser som trygge, og NetworkManager-pluginen foran dem har sin egen liste, som beveger seg etter en annen tidsplan. En server låst til 3DES, SHA1 og en 1024-bits Diffie-Hellman-gruppe kan ende med å ikke høre noe den godtar.
Hva oppgraderingen faktisk endret
To lag mater IKEv1-forslaget. Dæmonen leverer et innebygd standardforslagssett, og L2TP-pluginen enten lener seg på det eller leverer sin egen liste. Før NetworkManager-l2tp 1.2.16 lente pluginen seg på det, så forslaget ditt var det installerte dæmonen anså som rimelig. Fra 1.2.16 sender pluginen en dokumentert liste modellert etter Windows- og Apple-klienter, og den listen er bredere enn den gamle standarden, men inneholder ikke lenger hver eldre kombinasjon fremst i køen.
Den splittelsen forklarer en feilmodus folk finner forvirrende: to maskiner på samme Ubuntu-utgivelse kan oppføre seg ulikt fordi den ene har distribusjonspakken og den andre har en backport, og dæmonversjonen på begge ser identisk ut i en feilrapport. Sjekk pluginversjonen, ikke bare dæmonversjonen, før du konkluderer med at oppgraderingen ikke endret noe relevant.
Det er en mindre felle i samme område. De to dæmonene skriver de elliptiske-kurve Diffie-Hellman-gruppene ulikt, den ene skriver ecp384 og den andre ecp_384. Lim inn den feil skrivemåten i Advanced-dialogen, og dæmonen avviser innstillingen som uparserbar, noe som i loggen fremstår som et forhandlingsproblem og ikke som en skrivefeil i konfigurasjonen.
Les feilen før du endrer noe
Start med hvilken backend du kjører, fordi svaret avgjør både syntaksen og loggens plassering.
ipsec --version
nmcli connection show "Your VPN name" | grep -i ipsec
Les deretter selve utvekslingen. På strongSwan skriver dæmonen til journalen på en gjeldende utgivelse og til /var/log/syslog på en eldre, og den interessante delen er forslaget den sender, ikke den siste linjen. Du ser etter formuleringer om ingen passende forslag, som er et algoritmeproblem; en autentiseringsfeil, som peker på nøkkelen eller kontoen; eller en vanlig timeout, som peker på tilgjengelighet.
Disse tre utfallene blir alt for ofte behandlet som ett symptom. En timeout med tom dæmonlogg betyr at pakkene ikke kommer frem. En avvisning av forslaget betyr at de kom frem og ble avvist. Hvis loggen din er stille, hev pluginens feilsøkingsnivå for ett forsøk og senk det etterpå, fordi den detaljerte utskriften fyller en journal raskt.
Fase 1 og fase 2 er separate veddemål
IKEv1 forhandler to ganger. Hovedmodus bygger IKE-sikkerhetsassosiasjonen fra en krypteringsalgoritme, en integritetsalgoritme, en Diffie-Hellman-gruppe og en autentiseringsmetode. Hurtigmodus bygger deretter ESP-assosiasjonen som skal bære L2TP. En server står fritt til å godta den første og avvise den andre, så en halvveis riktig profil feiler senere enn du forventer og ser ut som en annen feil.
Phase 1: 3des-sha1-modp1024!
Phase 2: 3des-sha1!
Utropstegnet er strongSwan-syntaks for en streng oppføring: tilby denne ene kombinasjonen og ingenting annet. Uten det slutter oppføringen seg til en reserveliste, noe som er greit når motparten er moderne og kontraproduktivt når den er en enhet med én hardkodet policy. Betrakt paret ovenfor som en illustrasjon av formen, ikke som en anbefaling for noe du bygger i dag.
Endre ett felt, og gjenta deretter testen
På en gjeldende plugin er den raskeste første testen å tømme begge forslagsfeltene helt og koble til på nytt, fordi den medfølgende standardlisten allerede inneholder de vanlige Windows- og Apple-kombinasjonene. På en eldre plugin gir tømmingen kontrollen tilbake til en dæmon som kanskje har droppet algoritmen serveren din insisterer på, og feilen blir verre.
Hvis tømmingen ikke hjelper, setter du det strenge paret serveren din dokumenterer, én fase om gangen. Endre fase 1, koble til på nytt og les loggen før du rører fase 2. Når en kombinasjon endelig virker, skriv den ned ved siden av servermodellen og pluginversjonen, fordi standardene vil flytte seg igjen, og den noten er det som gjør neste oppgradering til en femminutters sjekk.