Begge parter støtter AES, begge godtar SHA-256, og tunnelen kommer likevel ikke opp. Forslaget feilet på en komponent ingen sammenlignet, vanligvis nøkkelutvekslingsgruppen. Denne kjøreboken leser den faktiske utvekslingen før noe endres, bruker én avgrenset policy og etterlater en tilbakerulling som gjenoppretter de forrige parameterne.

Les feilen før du endrer en gruppe

En «policy-samsvarsfeil» er et sammendrag, ikke en diagnose. Den betyr at det ikke ble funnet noe gjensidig akseptabelt forslag, og den sier ingenting om hvilken komponent som ble avvist. Behandle den som starten på undersøkelsen og ikke som bevis for en bestemt gruppe.

Svaret ligger vanligvis på serversiden. En strongSwan-logg på riktig nivå lister forslaget den mottok fra klienten, og forslaget den er konfigurert til å godta, og forskjellen mellom de to listene navngir komponenten som feilet.

Ikke anta at klienten tilbyr det et eldre foruminnlegg sier. Den aktive profilen og dens installerte policy avgjør listen som tilbys, og en oppdatert Windows-bygg kan tilby et annet sett enn det i skjermbildet du kopierer fra.

Skriv ned begge listene. Fire transformposisjoner og én gruppe er en kort liste, og å sammenligne den linje for linje tar kortere tid enn noe eksperiment. Fire posisjoner er lette å holde i syne. En loggfil er ikke.

Sammenlign hver transform, ikke ett kjent navn

Et IKE-forslag er et sett valg som alle må stemme overens. Kryptering beskytter forhandlingen, integritet eller en PRF autentiserer den, og en Diffie-Hellman-gruppe etablerer friskt nøkkelmateriale. Et forslag som stemmer på de to første og avviker på den tredje, er fortsatt uakseptabelt for begge parter.

De to Windows-feltene som forveksles her, hører til ulike faser. DHGroup gjelder IKE-nøkkelutveksling, mens PfsGroup gjelder barnetilknytningen som beskytter trafikken. Å endre det andre kan ikke reparere en feil i det første.

Gruppenavn er forskjellige mellom implementasjoner, og det er en egen kilde til forvirring. strongSwan skriver modp2048 og ecp256, mens Windows bruker oppramsingsnavn som Group14 og ECP256, så en sammenligning må oversette før den sammenligner. Hold et to-kolonners notat med begge navnene. Den neste uoverensstemmelsen klassifiseres da på sekunder.

TransformWindows parameterstrongSwan nameFailure it causes
EncryptionCipherTransformConstantsaes, aes256gcm and similarNo common proposal at all
Integrity or PRFAuthenticationTransformConstantssha256, sha512 and similarProposal rejected after encryption matches
Key-exchange groupDHGroupmodp2048, ecp256Exchange fails during key establishment
Child SA protectionPfsGroupesp proposal groupsTunnel negotiates, data association does not

Bruk én fullstendig og avgrenset policy

Det støttede verktøyet for en innebygd IKEv2-profil er en IPsec-policy per tilkobling, satt som ett objekt i stedet for felt for felt. Forhåndsvis den først, bruk den deretter, og ta vare på de forrige parameterne i endringsloggen.

Set-VpnConnectionIPsecConfiguration -ConnectionName "Northwind IKEv2" -AuthenticationTransformConstants SHA256128 -CipherTransformConstants AES256 -EncryptionMethod AES256 -IntegrityCheckMethod SHA256 -DHGroup ECP256 -PfsGroup ECP256 -WhatIf

Bryteren -WhatIf forhåndsviser den lokale endringen og bruker ingenting. Det er nyttig og samtidig en vanlig felle, fordi en forhåndsvisning bare beviser at parameterne er syntaktisk akseptable for den lokale cmdleten. Den sier ingenting om hvorvidt gatewayen godtar forslaget som følger.

Tilpass også omfanget mens du er der. En tilkobling i lageret for alle brukere trenger den tilsvarende alle-bruker-parameteren, og å redigere profil per bruker med samme visningsnavn endrer et annet objekt som tunnelen ikke bruker.

Deretter setter du strongSwan-siden til samme sett før du tester. En koordinert endring i begge ender er den eneste versjonen av dette som konvergerer; å endre én side og prøve igjen og igjen gir en logg full av den samme avvisningen.

Verifiser utvekslingen og nøkkelutskiftningen hver for seg

En vellykket tilkobling er én observasjon, og nøkkelutskiftningen er en annen. Den innledende IKE-forhandlingen bruker ett sett parametere, og barnetilknytningen som bærer trafikken kan senere forhandles på nytt med sin egen policy. Et oppsett som kobler til og deretter faller etter en stund, er vanligvis det andre tilfellet.

ipsec statusall | grep -A6 "Northwind"
Get-VpnConnection -Name "Northwind IKEv2" | Format-List *

Den første kommandoen viser serverens syn på de etablerte tilknytningene, inkludert barn-SA og dens gjenværende levetid. Den andre viser hva klientprofilen nå holder, og det er den eneste måten å bekrefte at policyen du satte, er policyen som gjelder.

Følg med på en full nøkkelutskiftning før du erklærer suksess. Det betyr å la tilkoblingen stå oppe lenge nok til at barnetilknytningen erstattes, og deretter bekrefte at trafikken fortsetter. De fleste policy-avvik gjemmer seg i det trinnet, fordi den innledende forhandlingen kan lykkes med et sett som utskiftningen ikke godtar.

Tilbakerulling er det forrige parametersettet, ikke et ettergivende reservevalg. Hvis klienten bare tilbød en svak eldre gruppe, er svaret å forbedre den felles policyen for klient og server, ikke å føye den gruppen til gatewayen der hver framtidig part kan forhandle seg ned til den.

Noter de fire parameterne, gruppen, tilkoblingens omfang og resultatet av nøkkelutskiftningen. Det er et kort notat, og det er forskjellen mellom en kjørebok og en historie om den gangen tunnelen kom opp.

Relaterte artikler