Ambele părți acceptă AES, ambele acceptă SHA-256, iar tunelul tot nu urcă. Propunerea a eșuat pe o componentă pe care nimeni nu a comparat-o, de obicei grupul de schimb de chei. Acest ghid citește schimbul real înainte de a schimba ceva, aplică o singură politică delimitată și lasă o revenire care restaurează parametrii anteriori.

Citiți eșecul înainte de a schimba un grup

O „eroare de potrivire a politicii“ este un rezumat, nu un diagnostic. Înseamnă că nu s-a găsit nicio propunere acceptabilă reciproc și nu spune nimic despre componenta care a fost respinsă. Tratați-o ca începutul investigației și nu ca dovadă despre un anumit grup.

Răspunsul se află de obicei pe partea serverului. Un jurnal strongSwan la nivelul potrivit listează propunerea primită de la client și propunerea pe care este configurat să o accepte, iar diferența dintre cele două liste numește componenta care a eșuat.

Nu presupuneți că clientul oferă ceea ce afirmă o postare veche de pe forum. Profilul activ și politica instalată decid lista oferită, iar o versiune Windows actualizată poate oferi un set diferit de cel din captura de ecran de pe care copiați.

Scrieți ambele liste. Patru poziții de transformare și un grup sunt o listă scurtă, iar compararea ei linie cu linie durează mai puțin decât orice experiment. Patru poziții se rețin ușor din vedere. Un fișier de jurnal nu.

Comparați fiecare transformare, nu un singur nume cunoscut

O propunere IKE este un set de alegeri care trebuie să se potrivească toate. Cifrarea protejează negocierea, integritatea sau un PRF o autentifică, iar un grup Diffie-Hellman stabilește material de cheie nou. O propunere care se potrivește la primele două și diferă la a treia rămâne inacceptabilă pentru ambele părți.

Cele două câmpuri Windows care se confundă aici aparțin unor faze diferite. DHGroup se aplică schimbului de chei IKE, iar PfsGroup se aplică asocierii copil care protejează traficul. Schimbarea celui de-al doilea nu poate repara un eșec în primul.

Numele grupurilor diferă între implementări, iar aceasta este o sursă separată de confuzie. strongSwan scrie modp2048 și ecp256, în timp ce Windows folosește nume de enumerare precum Group14 și ECP256, așa că o comparație trebuie să traducă înainte de a compara. Țineți o notă pe două coloane cu ambele nume. Următoarea nepotrivire se clasează apoi în câteva secunde.

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

Aplicați o politică completă și delimitată

Instrumentul acceptat pentru un profil IKEv2 nativ este o politică IPsec pentru fiecare conexiune, setată ca un singur obiect și nu câmp cu câmp. Previzualizați-o mai întâi, apoi aplicați-o și păstrați parametrii anteriori în registrul modificărilor.

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

Comutatorul -WhatIf previzualizează modificarea locală și nu aplică nimic. Este util și totodată o capcană obișnuită, pentru că o previzualizare dovedește doar că parametrii sunt acceptabili sintactic pentru cmdletul local. Nu spune nimic despre dacă poarta va accepta propunerea rezultată.

Aliniați și domeniul de aplicare, cât timp sunteți acolo. O conexiune din depozitul tuturor utilizatorilor are nevoie de parametrul corespunzător pentru toți utilizatorii, iar editarea profilului pe utilizator cu același nume afișat schimbă un alt obiect pe care tunelul nu îl folosește.

Apoi aliniați partea strongSwan la același set înainte de testare. O modificare coordonată la ambele capete este singura versiune care converge; schimbarea unei singure părți și reîncercarea repetată produce un jurnal plin de aceeași respingere.

Verificați separat schimbul și reînnoirea cheilor

O conexiune reușită este o observație, iar reînnoirea cheilor este alta. Negocierea IKE inițială folosește un singur set de parametri, iar asocierea copil care transportă traficul poate fi renegociată mai târziu cu propria politică. O configurație care se conectează și apoi cade după un timp este de obicei al doilea caz.

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

Prima comandă arată viziunea serverului asupra asocierilor stabilite, inclusiv asocierea copil și durata ei de viață rămasă. A doua arată ce deține acum profilul clientului, și este singura modalitate de a confirma că politica setată este politica în vigoare.

Observați o reînnoire completă a cheilor înainte de a anunța succesul. Aceasta înseamnă să lăsați conexiunea activă suficient de mult pentru ca asocierea copil să fie înlocuită, apoi să confirmați că traficul continuă. Majoritatea nepotrivirilor de politică se ascund în acel pas, pentru că negocierea inițială poate reuși cu un set pe care reînnoirea nu îl acceptă.

Revenirea este setul anterior de parametri, nu o variantă permisivă. Dacă clientul oferea doar un grup vechi și slab, răspunsul este să îmbunătățiți politica comună a clientului și a serverului, nu să adăugați acel grup la poartă, unde fiecare partener viitor va putea negocia în jos până la el.

Notați cei patru parametri, grupul, domeniul conexiunii și rezultatul reînnoirii cheilor. Este o notă scurtă, și ea este diferența dintre un ghid și o poveste despre momentul în care tunelul a urcat.

Articole similare