Directiva personalizada de IKEv2 en Windows: aplíquela como paso propio
Una conexión aprovisionada y un conjunto criptográfico personalizado son dos resultados. Haga coincidir los campos de la directiva, el ámbito del perfil y el propietario que los vuelve a aplicar.
Un paquete de aprovisionamiento crea una conexión IKEv2 y el perfil resultante negocia algo distinto del conjunto que usted pretendía. El paquete hizo su trabajo; simplemente nunca tuvo un campo para la tarea que usted supuso. Trate el conjunto criptográfico como un paso de aprovisionamiento aparte y verificable.
Recorra los cinco puntos de abajo en orden y mantenga separados los resultados de aceptación.
Dos clases de directiva tras nombres parecidos
Windows separa la directiva que protege el intercambio de claves de la directiva que protege el tráfico. El lado IKE se configura con un método de cifrado y un método de integridad. El lado de datos se configura con constantes de cifrador y de transformación de autenticación, y esas constantes usan nombres propios. Una sola etiqueta AES copiada en el campo equivocado produce una conexión que se establece bajo una directiva que nadie aprobó.
El grupo de intercambio de claves y el secreto perfecto hacia adelante pertenecen a la misma negociación y deben ser aceptables para la puerta de enlace. Configurarlos sin comprobar el extremo remoto produce un fallo en una etapa posterior a la que estaba editando, y por eso estos errores parecen problemas de la puerta de enlace.
Construya una directiva completa, no dos nombres de algoritmo
Escriba cada campo de forma explícita, incluidos los que cree que son valores predeterminados. Una directiva parcial aplicada con un indicador de forzado se convierte en la configuración guardada, y los valores que omitió son los que la plataforma tenía en ese momento. Los valores que empiezan con el mismo prefijo no son intercambiables entre campos, y uno de los nombres de transformación conocidos solo es válido como transformación de autenticación.
$policy = @{
ConnectionName = 'Corp IKEv2'
AllUserConnection = $true
EncryptionMethod = 'AES256'
IntegrityCheckMethod = 'SHA384'
CipherTransformConstants = 'AES256'
AuthenticationTransformConstants = 'SHA384128'
DHGroup = 'Group19'
PfsGroup = 'PFS2048'
Force = $true
}
Set-VpnConnectionIPsecConfiguration @policy
Trate ese bloque como un conjunto ilustrativo que ambos pares deben admitir, no como una recomendación. El conmutador de forzado suprime un aviso; no aprueba un paquete que usted no haya revisado.
Primero cree, luego aplique, en un solo ámbito
La conexión debe existir antes de que se pueda establecer su directiva, y el ámbito debe coincidir en cada paso. Un paso en contexto de máquina no puede encontrar el perfil privado de un usuario arbitrario solo porque el nombre visible sea el mismo. Las conexiones para todos los usuarios, las conexiones de usuario y sus directorios de estado son objetos separados con nombres separados.
El orden importa más de lo que parece en un paquete de aprovisionamiento, porque dos comandos pueden ejecutarse más cerca de lo que tarda en crearse la conexión. Empaquete el trabajo posterior a la configuración como un comando de aprovisionamiento aprobado con un contexto de ejecución declarado, y deje que el motor de aprovisionamiento lo secuencie en lugar de insertar un retardo supuesto. Una espera suficientemente larga en su hardware de pruebas es una condición de carrera con un retardo añadido. Registre la dependencia en lugar de la duración.
Los campos documentados del Configuration Designer describen un ajuste de VPN y no exponen todos los controles nativos de IPsec. Si el requisito es una entrega gestionada, el proveedor de servicio de configuración VPNv2 tiene una sección de conjunto criptográfico justo para ese propósito.
Designe un único propietario de la directiva
Una actualización posterior del perfil de administración puede recrear la conexión y sustituir lo que aplicó un script, y la sustitución parecerá una regresión. Decida si el conjunto pertenece al perfil, a un script o al canal de administración, y haga que las actualizaciones rutinarias sigan la misma ruta que la primera instalación.
Dos propietarios son lo mismo que ninguno cuando los dos no coinciden. Escriba el nombre del propietario en el registro de cambios del perfil. La próxima actualización seguirá lo que diga ese registro.
Verifique el resultado negociado, no el paquete
Lea el perfil guardado y su ámbito, luego establezca una conexión nueva y compare las propuestas seleccionadas en la puerta de enlace. Confirme también el comportamiento de renovación de claves, porque un apretón de manos inicial puede tener éxito con un conjunto que una fase posterior rechaza.
Get-VpnConnection -Name 'Corp IKEv2' -AllUserConnection | Format-List
Get-ChildItem 'C:\ProgramData\Microsoft\Network\Connections\Pbk' | Select-Object Name, LastWriteTime
Tres resultados de aceptación no son el mismo suceso: el paquete se instaló, el perfil existe con la directiva prevista y los pares la negociaron. Manténgalos separados, para que un campo ausente nunca se repare debilitando la autenticación ni habilitando una alternativa que nadie eligió.