Begge parter støtter AES, begge aksepterer SHA-256, og tunnelen kommer fortsatt ikke opp. Forslaget mislyktes på en komponent ingen sammenlignet, vanligvis nøkkelutvekslingsgruppen. Dette dokumentet leser den virkelige utvekslingen før noe endres, anvender én avgrenset politikk og etterlater en tilbakerulling som gjenoppretter de tidligere parameterne.

Les feilen før du endrer en gruppe

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

Svaret finnes vanligvis på serversiden. En strongSwan-logg på riktig nivå lister opp forslaget den mottok fra klienten og forslaget den er satt opp til å akseptere, og forskjellen mellom de to listene navngir komponenten som mislyktes.

Ikke anta at klienten tilbyr det et eldre foruminnlegg hevder. Den aktive profilen og dens installerte politikk bestemmer listen som tilbys, og en oppdatert Windows-versjon 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 mindre tid enn noe eksperiment. Fire posisjoner er enkle å holde oversikt over. En loggfil er det 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 ferskt 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, tilhører forskjellige faser. DHGroup gjelder IKE-nøkkelutveksling, mens PfsGroup gjelder barneassosiasjonen som beskytter trafikken. Å endre det andre kan ikke reparere en feil i det første.

Gruppenavn varierer mellom implementasjoner, og det er en egen kilde til forvirring. strongSwan skriver modp2048 og ecp256, mens Windows bruker opplistingnavn som Group14 og ECP256, så en sammenligning må oversette før den sammenligner. Hold et notat i to kolonner 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

Anvend én fullstendig og avgrenset politikk

Det støttede verktøyet for en innebygd IKEv2-profil er en IPsec-politikk per tilkobling, satt som ett objekt i stedet for felt for felt. Forhåndsvis den først, anvend den deretter, og ta vare på de tidligere 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 anvender 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 aksepterer 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 profilen 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 barneassosiasjonen som bærer trafikken kan senere forhandles på nytt med sin egen politikk. 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 assosiasjonene, inkludert barne-SA og dens gjenværende levetid. Den andre viser hva klientprofilen nå inneholder, og det er den eneste måten å bekrefte at politikken du satte, er politikken 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 barneassosiasjonen erstattes, og deretter bekrefte at trafikken fortsetter. De fleste politikkavvik gjemmer seg i det trinnet, fordi den innledende forhandlingen kan lykkes med et sett som utskiftningen ikke aksepterer.

Tilbakerulling er det forrige parametersettet, ikke et ettergivende reservevalg. Hvis klienten bare tilbød en svak eldre gruppe, er svaret å forbedre den felles politikken for klient og server, ikke å føye den gruppen til gatewayen der hver fremtidige 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