Els dos parells admeten AES, tots dos accepten SHA-256 i, tot i així, el túnel no s’aixeca. La proposta va fallar en un component que ningú no havia comparat, normalment el grup d’intercanvi de claus. Aquesta guia llegeix l’intercanvi real abans de canviar res, aplica una sola política acotada i deixa una reversió que restaura els paràmetres anteriors.

Llegiu la fallada abans de canviar un grup

Un «error de coincidència de política» és un resum, no un diagnòstic. Vol dir que no s’ha trobat cap proposta acceptable per les dues bandes i no diu res sobre quin component s’ha rebutjat. Tracteu-lo com l’inici de la investigació i no com una prova sobre un grup concret.

La resposta normalment la té el costat del servidor. Un registre de strongSwan en un nivell adequat llista la proposta que ha rebut del client i la proposta que està configurat per acceptar, i la diferència entre les dues llistes assenyala el component que ha fallat.

No doneu per fet que el client ofereix el que diu una publicació antiga del fòrum. El perfil actiu i la seva política instal·lada decideixen la llista oferta, i una compilació de Windows actualitzada pot oferir un conjunt diferent del de la captura de pantalla que esteu copiant.

Escriviu totes dues llistes. Quatre posicions de transformació i un grup és una llista curta, i comparar-la línia per línia porta menys temps que qualsevol experiment. Quatre posicions es poden retenir fàcilment. Un fitxer de registre, no.

Compareu cada transformació, no un sol nom conegut

Una proposta IKE és un conjunt de tries que han de coincidir totes. El xifratge protegeix la negociació, la integritat o un PRF l’autentica, i un grup Diffie-Hellman estableix material de clau nou. Una proposta que coincideix en les dues primeres i difereix en la tercera continua sent inacceptable per als dos parells.

Els dos camps de Windows que aquí es confonen pertanyen a fases diferents. DHGroup s’aplica a l’intercanvi de claus IKE, mentre que PfsGroup s’aplica a l’associació filla que protegeix el trànsit. Canviar el segon no pot reparar una fallada en el primer.

Els noms dels grups difereixen entre implementacions, i això és una font de confusió a part. strongSwan escriu modp2048 i ecp256, mentre que Windows fa servir noms d’enumeració com Group14 i ECP256, així que una comparació ha de traduir abans de comparar. Manteniu una nota de dues columnes amb tots dos noms. Aleshores la propera discrepància es classifica en segons.

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

Apliqueu una política completa i acotada

L’instrument admès per a un perfil IKEv2 natiu és una política IPsec per connexió, definida com un sol objecte i no camp a camp. Previsualitzeu-la primer, apliqueu-la després i conserveu els paràmetres anteriors al registre de canvis.

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

L’interruptor -WhatIf previsualitza el canvi local i no aplica res. Això és útil i també és un parany habitual, perquè una previsualització només demostra que els paràmetres són sintàcticament acceptables per al cmdlet local. No diu res sobre si la passarel·la acceptarà la proposta resultant.

De passada, encaixeu també l’abast. Una connexió a l’emmagatzematge de tots els usuaris necessita el paràmetre corresponent de tots els usuaris, i editar el perfil per usuari amb el mateix nom de visualització canvia un altre objecte que el túnel no fa servir.

Després ajusteu el costat de strongSwan al mateix conjunt abans de provar. Un canvi coordinat a les dues bandes és l’única versió d’això que convergeix; canviar una banda i reintentar-ho una vegada i una altra produeix un registre ple de la mateixa denegació.

Verifiqueu l’intercanvi i la renovació de claus per separat

Una connexió correcta és una observació, i la renovació de claus n’és una altra. La negociació IKE inicial fa servir un conjunt de paràmetres, i l’associació filla que transporta el trànsit es pot renegociar més endavant amb la seva pròpia política. Una instal·lació que connecta i després cau al cap d’una estona sol ser el segon cas.

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

La primera ordre mostra la visió del servidor de les associacions establertes, inclosa l’associació filla i la seva vida restant. La segona mostra què té ara el perfil del client, i és l’única manera de confirmar que la política que heu definit és la política vigent.

Observeu una renovació de claus completa abans de declarar l’èxit. Això vol dir deixar la connexió activa prou estona perquè es substitueixi l’associació filla i després confirmar que el trànsit continua. La majoria de discrepàncies de política s’amaguen en aquest pas, perquè la negociació inicial pot reeixir amb un conjunt que la renovació no accepta.

La reversió és el conjunt de paràmetres anterior, no un replegament permissiu. Si el client només oferia un grup antic feble, la resposta és millorar la política comuna del client i el servidor, no afegir aquell grup a la passarel·la on qualsevol parell futur podrà negociar a la baixa fins a ell.

Anoteu els quatre paràmetres, el grup, l’abast de la connexió i el resultat de la renovació. És una nota curta, i és la diferència entre una guia i una història sobre el dia que el túnel es va aixecar.

Articles relacionats