Anpassad IKEv2-princip i Windows: använd den som ett eget steg
En etablerad anslutning och en anpassad kryptosvit är två resultat. Matcha principfälten, profilens omfattning och ägaren som tillämpar dem igen.
Ett etableringspaket skapar en IKEv2-anslutning, och profilen som blir resultatet förhandlar om något annat än den svit du hade tänkt dig. Paketet gjorde sitt jobb; det hade bara aldrig något fält för det arbete du antog. Behandla kryptosviten som ett separat och verifierbart etableringssteg.
Gå igenom de fem punkterna nedan i ordning och håll godkännanderesultaten åtskilda.
Två slags principer bakom liknande namn
Windows skiljer principen som skyddar nyckelutbytet från principen som skyddar trafiken. IKE-sidan konfigureras med en krypteringsmetod och en integritetsmetod. Datasidan konfigureras med chiffer- och autentiseringstransformkonstanter, och dessa konstanter använder egna namn. En enda AES-etikett kopierad till fel fält ger en anslutning som upprättas under en princip som ingen har godkänt.
Nyckelutbytesgrupp och perfekt forward secrecy hör till samma förhandling och måste vara acceptabla för gatewayen. Att ställa in dem utan att kontrollera andra änden ger ett fel i ett senare skede än det du redigerade, och därför ser dessa fel ut som gateway-problem.
Bygg en fullständig princip, inte två algoritmnamn
Skriv varje fält uttryckligen, även de du tror är standardvärden. En delvis princip som tillämpas med en tvinga-flagga blir den sparade konfigurationen, och värdena du utelämnade är de som plattformen hade i det ögonblicket. Värden som börjar med samma prefix är inte utbytbara mellan fält, och ett av de kända transformnamnen är bara giltigt som autentiseringstransform.
$policy = @{
ConnectionName = 'Corp IKEv2'
AllUserConnection = $true
EncryptionMethod = 'AES256'
IntegrityCheckMethod = 'SHA384'
CipherTransformConstants = 'AES256'
AuthenticationTransformConstants = 'SHA384128'
DHGroup = 'Group19'
PfsGroup = 'PFS2048'
Force = $true
}
Set-VpnConnectionIPsecConfiguration @policy
Behandla det blocket som en illustrativ svit som båda dina parter måste stödja, inte som en rekommendation. Tvinga-brytaren dämpar en fråga; den godkänner inte ett paket du inte har granskat.
Skapa först, tillämpa sedan — inom en enda omfattning
Anslutningen måste finnas innan dess princip kan ställas in, och omfattningen måste stämma i varje steg. Ett steg i maskinkontext kan inte hitta en godtycklig användares privata profil bara för att visningsnamnet är detsamma. Anslutningar för alla användare, användaranslutningar och deras tillståndskataloger är separata objekt med separata namn.
Ordningen spelar större roll än den verkar i ett etableringspaket, eftersom två kommandon kan köras närmare varandra än det tar att skapa anslutningen. Paketera arbetet efter konfigurationen som ett godkänt etableringskommando med en deklarerad körningskontext, och låt etableringsmotorn sekvensera det i stället för att infoga en gissad fördröjning. En sömn som är tillräckligt lång på din testhårdvara är ett kapplöpningstillstånd med en fördröjning på. Registrera beroendet, inte varaktigheten.
De dokumenterade Configuration Designer-fälten beskriver en enda VPN-inställning och exponerar inte alla inbyggda IPsec-kontroller. Om kravet är en hanterad leverans har VPNv2-konfigurationstjänsteleverantören ett avsnitt för kryptosviter just för detta ändamål.
Utse en enda ägare av principen
En senare uppdatering av hanteringsprofilen kan återskapa anslutningen och ersätta det ett skript tillämpade, och ersättningen kommer att se ut som en regression. Bestäm om sviten ägs av profilen, av ett skript eller av hanteringskanalen, och se till att rutinuppdateringar följer samma väg som den första installationen.
Två ägare är detsamma som ingen när de två är oense. Skriv ägarens namn i profilens ändringslogg. Nästa uppdatering följer vad den loggen säger.
Verifiera det förhandlade resultatet, inte paketet
Läs den sparade profilen och dess omfattning, upprätta sedan en ny anslutning och jämför de valda förslagen vid gatewayen. Bekräfta också beteendet vid nyckelbyte, eftersom ett inledande handskakning kan lyckas med en svit som en senare fas avvisar.
Get-VpnConnection -Name 'Corp IKEv2' -AllUserConnection | Format-List
Get-ChildItem 'C:\ProgramData\Microsoft\Network\Connections\Pbk' | Select-Object Name, LastWriteTime
Tre godkännanderesultat är inte samma händelse: paketet installerades, profilen finns med den avsedda principen, och parterna förhandlade den. Håll dem åtskilda, så att ett saknat fält aldrig repareras genom att försvaga autentiseringen eller genom att aktivera en reserv som ingen valde.