Begge partar støttar AES, begge godtek SHA-256, og tunnelen kjem likevel ikkje opp. Forslaget feila på ein komponent ingen samanlikna, vanlegvis nøkkelutvekslingsgruppa. Denne køyreboka les den faktiske utvekslinga før noko blir endra, brukar éin avgrensa policy og lèt etter ein tilbakerulling som gjenopprettar dei førre parametrane.

Les feilen før du endrar ei gruppe

Ein «policy-samsvarsfeil» er eit samandrag, ikkje ein diagnose. Han tyder at det ikkje vart funne noko gjensidig akseptabelt forslag, og han seier ingenting om kva komponent som vart avvist. Handsama han som starten på undersøkinga og ikkje som prov for ei bestemd gruppe.

Svaret ligg vanlegvis på serversida. Ein strongSwan-logg på rett nivå listar forslaget han fekk frå klienten, og forslaget han er konfigurert til å godta, og skilnaden mellom dei to listene namngjev komponenten som feila.

Ikkje gå ut frå at klienten tilbyr det eit eldre foruminnlegg seier. Den aktive profilen og den installerte policyen hans avgjer lista som blir tilboden, og ein oppdatert Windows-bygg kan tilby eit anna sett enn det i skjermbiletet du kopierer frå.

Skriv ned begge listene. Fire transformposisjonar og éi gruppe er ei kort liste, og å samanlikne henne linje for linje tek kortare tid enn noko eksperiment. Fire posisjonar er lette å halde i syne. Ei loggfil er det ikkje.

Samanlikn kvar transform, ikkje eitt kjent namn

Eit IKE-forslag er eit sett val som alle må stemme overeins. Kryptering vernar forhandlinga, integritet eller ein PRF autentiserer henne, og ei Diffie-Hellman-gruppe etablerer ferskt nøkkelmateriale. Eit forslag som stemmer på dei to første og avvik på den tredje, er framleis uakseptabelt for begge partar.

Dei to Windows-felta som blir forveksla her, høyrer til ulike fasar. DHGroup gjeld IKE-nøkkelutveksling, medan PfsGroup gjeld barnetilknytinga som vernar trafikken. Å endre det andre kan ikkje reparere ein feil i det første.

Gruppenamn er ulike mellom implementasjonar, og det er ei eiga kjelde til forvirring. strongSwan skriv modp2048 og ecp256, medan Windows brukar oppramsingsnamn som Group14 og ECP256, så ei samanlikning må omsetje før ho samanliknar. Hald eit notat i to kolonnar med begge namna. Den neste uoverensstemminga blir då klassifisert på sekund.

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 éin fullstendig og avgrensa policy

Det støtta verktøyet for ein innebygd IKEv2-profil er ein IPsec-policy per tilknyting, sett som eitt objekt i staden for felt for felt. Førehandsvis han først, bruk han deretter, og ta vare på dei førre parametrane i endringsloggen.

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

Brytaren -WhatIf førehandsvisar den lokale endringa og brukar ingenting. Det er nyttig og samstundes ei vanleg felle, fordi ei førehandsvisning berre provar at parametrane er syntaktisk akseptable for den lokale cmdleten. Ho seier ingenting om gatewayen godtek forslaget som følgjer.

Tilpass også omfanget medan du er der. Ei tilknyting i lageret for alle brukarar treng den tilsvarande alle-brukar-parameteren, og å redigere profilen per brukar med same visingsnamn endrar eit anna objekt som tunnelen ikkje brukar.

Deretter set du strongSwan-sida til same settet før du testar. Ei koordinert endring i begge endar er den einaste versjonen av dette som konvergerer; å endre éi side og prøve om att og om att gjev ein logg full av den same avvisinga.

Stadfest utvekslinga og nøkkelutskiftinga kvar for seg

Ei vellukka tilknyting er éin observasjon, og nøkkelutskiftinga er ein annan. Den innleiande IKE-forhandlinga brukar eitt sett parametrar, og barnetilknytinga som ber trafikken kan seinare forhandlast på nytt med sin eigen policy. Eit oppsett som koplar til og deretter fell etter ei stund, er vanlegvis det andre tilfellet.

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

Den første kommandoen viser serveren sitt syn på dei etablerte tilknytingane, inkludert barn-SA og den gjenverande levetida hans. Den andre viser kva klientprofilen no held, og det er den einaste måten å stadfeste at policyen du sette, er policyen som gjeld.

Følg med på ei full nøkkelutskifting før du erklærer suksess. Det tyder å la tilknytinga stå oppe lenge nok til at barnetilknytinga blir erstatta, og deretter stadfeste at trafikken held fram. Dei fleste policy-avvik gøymer seg i det trinnet, fordi den innleiande forhandlinga kan lukkast med eit sett som utskiftinga ikkje godtek.

Tilbakerulling er det førre parametersettet, ikkje eit ettergjevande reserveval. Viss klienten berre tilbaud ei svak eldre gruppe, er svaret å betre den felles policyen for klient og server, ikkje å leggje den gruppa til gatewayen der kvar framtidig part kan forhandle seg ned til henne.

Noter dei fire parametrane, gruppa, omfanget til tilknytinga og resultatet av nøkkelutskiftinga. Det er eit kort notat, og det er skilnaden mellom ei køyrebok og ei historie om den gongen tunnelen kom opp.

Relaterte artiklar