To parter understøtter begge AES, accepterer begge SHA-256, og tunnelen kommer stadig ikke op. Forslaget fejlede på en komponent, som ingen sammenlignede, normalt nøgleudvekslingsgruppen. Denne kørebog læser den faktiske udveksling, før noget ændres, anvender én afgrænset politik og efterlader en tilbagerulning, der gendanner de tidligere parametre.

Læs fejlen, før du ændrer en gruppe

En »politikmatchfejl« er et resumé, ikke en diagnose. Den betyder, at der ikke blev fundet et gensidigt acceptabelt forslag, og den siger intet om, hvilken komponent der blev afvist. Behandl den som begyndelsen på undersøgelsen og ikke som bevis for en bestemt gruppe.

Svaret findes normalt på serversiden. En strongSwan-log på et passende niveau viser det forslag, den modtog fra klienten, og det forslag, den er konfigureret til at acceptere, og forskellen mellem de to lister navngiver den komponent, der fejlede.

Antag ikke, at klienten tilbyder det, et ældre forumindlæg siger, den tilbyder. Den aktive profil og dens installerede politik bestemmer den tilbudte liste, og et opdateret Windows-build kan tilbyde et andet sæt end det i det skærmbillede, du kopierer fra.

Skriv begge lister ned. Fire transformationspositioner og én gruppe er en kort liste, og at sammenligne den linje for linje tager kortere tid end ethvert eksperiment. Fire positioner er nemme at holde øje med. En logfil er ikke.

Sammenlign hver transformation, ikke ét velkendt navn

Et IKE-forslag er et sæt valg, som alle skal matche. Kryptering beskytter forhandlingen, integritet eller en PRF autentificerer den, og en Diffie-Hellman-gruppe etablerer friskt nøglemateriale. Et forslag, der matcher på de to første og afviger på den tredje, er stadig uacceptabelt for begge parter.

De to Windows-felter, der forveksles her, hører til forskellige faser. DHGroup gælder IKE-nøgleudveksling, mens PfsGroup gælder den underordnede association, der beskytter trafikken. At ændre det andet kan ikke reparere en fejl i det første.

Gruppenavne er forskellige mellem implementeringer, og det er en separat kilde til forvirring. strongSwan skriver modp2048 og ecp256, mens Windows bruger optællingsnavne som Group14 og ECP256, så en sammenligning skal oversætte, før den sammenligner. Hold en to-kolonne note med begge navne. Den næste uoverensstemmelse tager så sekunder at klassificere.

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 komplet, afgrænset politik

Det understøttede værktøj til en indbygget IKEv2-profil er en IPsec-politik per forbindelse, sat som ét objekt i stedet for felt for felt. Se den først, anvend den derefter, og behold de tidligere parametre i ændringsregistret.

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

Skifteren -WhatIf forhåndsviser den lokale ændring og anvender intet. Det er nyttigt og også en almindelig fælde, fordi en forhåndsvisning kun beviser, at parametrene er syntaktisk acceptable for den lokale cmdlet. Den siger intet om, hvorvidt gatewayen accepterer det resulterende forslag.

Tilpas også omfanget, mens du er i gang. En forbindelse i alle-bruger-lageret har brug for den tilsvarende alle-bruger-parameter, og redigering af profil-per-bruger med samme viste navn ændrer et andet objekt, som tunnelen ikke bruger.

Justér derefter strongSwan-siden til samme sæt, før du tester. En koordineret ændring i begge ender er den eneste version af dette, der konvergerer; at ændre den ene side og prøve igen og igen giver en log fuld af den samme afvisning.

Verificér udvekslingen og nøglefornyelsen hver for sig

En vellykket forbindelse er én observation, og nøglefornyelsen er en anden. Den indledende IKE-forhandling bruger ét sæt parametre, og den underordnede association, der bærer trafikken, kan senere genforhandles med sin egen politik. En opsætning, der forbinder og derefter falder efter et stykke tid, er normalt det andet tilfælde.

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

Den første kommando viser serverens syn på de etablerede associationer, inklusive den underordnede SA og dens resterende levetid. Den anden viser, hvad klientprofilen nu indeholder, og det er den eneste måde at bekræfte, at den politik, du satte, er den politik, der gælder.

Overvåg en fuld nøglefornyelse, før du erklærer succes. Det betyder at lade forbindelsen være oppe længe nok til, at den underordnede association udskiftes, og derefter bekræfte, at trafikken fortsætter. De fleste politikmismatch skjuler sig i det trin, fordi den indledende forhandling kan lykkes med et sæt, som fornyelsen ikke accepterer.

Tilbagerulning er det forrige parametersæt, ikke en eftergivende fallback. Hvis klienten kun tilbød en svag ældre gruppe, er svaret at forbedre den fælles politik for klient og server, ikke at føje den gruppe til gatewayen, hvor hver fremtidig part kan forhandle ned til den.

Noter de fire parametre, gruppen, forbindelsens omfang og resultatet af nøglefornyelsen. Det er en kort note, og det er forskellen mellem en kørebog og en historie om dengang, tunnelen kom op.

Relaterede artikler