Bou 'n IKEv2-VPN in PowerShell met 'n masjien-sertifikaat
Sertifikaatplasing, roete-prefikse en EAP-geloofsbriewe is waar 'n IKEv2-skrip misluk. Bou die tonnel in PowerShell en verifieer elke stadium afsonderlik.
Windows lewer 'n IKEv2-kliënt wat PowerShell van begin tot einde beheer, so 'n werkende tonnel het geen GUI en geen derdeparty-sagteware nodig nie. Byna elke mislukking kom van drie plekke: waar die sertifikaat beland het, hoe die roete-prefikse geskryf is, en wat die gekose EAP-metode verwag. Hanteer hulle in daardie volgorde, want elkeen is nagegaan voordat die volgende begin en 'n latere fout sal 'n vroeëre een verberg.
Masjien-sertifikaat-tonnels bestaan om te begin voordat iemand aanmeld, en daarom moet die identiteit gewoonlik in die rekenaar se stoorkas woon eerder as in 'n gebruiker s'n.
Eers die sertifikaat, dan die tonnel
Twee invoere maak saak. Die kliëntidentiteit gaan in Cert:\LocalMachine\My via Import-PfxCertificate, en die uitreikende CA gaan in Cert:\LocalMachine\Root via Import-Certificate. 'n Bladsertifikaat op sy eie bewys geen ketting nie, so om die tweede invoer oor te slaan laat verifikasie met niks om op te bou. Buiten teenwoordigheid moet die private sleutel aangeheg wees en die rekenaarrekening moet dit mag lees. Get-ChildItem Cert:\LocalMachine\My lys wat aangekom het; vergelyk duimafdrukke eerder as onderwerpe, want byna-identiese onderwerpe is algemeen.
Kontroleer die uitgebreide sleutelgebruik voordat jy dit ontplooi. Kliëntverifikasie is die gewone vereiste vir 'n IKEv2-masjienidentiteit, en die ander kant moet die CA vertrou wat dit onderteken het. 'n Identiteit in 'n gebruiker se stoorkas bestaan nie vir 'n verbinding in rekenaarkonteks nie.
Skep die profiel en sy roetes
Add-VpnConnection -Name "Office IKEv2" -ServerAddress vpn.example.com -TunnelType Ikev2 -EncryptionLevel Required -AuthenticationMethod MachineCertificate -AllUserConnection skryf die profiel. Die -AllUserConnection-skakelaar publiseer dit in die globale telefoonboek, gepas vir 'n gedeelde of diensbestuurde boks; laat dit weg vir 'n enkele gebruiker. Watter adres jy ook al deurgee, moet ooreenstem met die DNS-naam in die bediener se sertifikaat, anders verskyn die fout nadat die tonnel reeds op is. Prefikse word dan een op 'n slag bygevoeg met Add-VpnConnectionRoute, en net dié wat die ontwerp werklik nodig het.
IPv6 het 'n eienaardigheid: Windows weier ::/0 as 'n VPN-roete, so ::/1 en 8000::/1 dek saam dieselfde adresruimte. Om 'n prefuks te roete gee ook niks by die afgeleë firewall nie, so die prefukslys en die firewallbeleid bly aparte dokumente.
Geloofsbriewe hoort by die verifikasiemetode
'n Masjien-sertifikaatprofiel het glad geen gebruiker-geheim nodig nie, terwyl 'n EAP-MSCHAPv2-profiel dit wel het. Vir die tweede geval voorsien die VPNCredentialsHelper-module Set-VpnConnectionUsernamePassword, en dit wil gewone teks hê: $cred.Password is 'n SecureString, so maak dit eers oop met GetNetworkCredential().Password. Installeer die module oral waar die opdrag loop, nie net op die werkstasie waar dit opgestel is nie. EAP-TLS of 'n pasgemaakte metode gebruik glad nie hierdie cmdlet nie; dit neem eerder 'n EAP-konfigurasie-XML.
rasdial "Office IKEv2" lig die verbinding uit 'n dop, wat die vinnigste manier is om die resultaat in die voorgrond te sien eerder as in 'n gebeurtenislog.
Wat 'n gekoppelde tonnel nie bewys nie
Gekoppelde status dek die IKE-uitruiling en die verifikasiestap, en niks verder nie. DNS-gedrag, die pad na 'n private gasheer en die afgeleë firewall is almal nog onbewys. Werk na buite: die tonnel-adapter, dan 'n roete-soektog vir 'n private adres, dan een diens wat jy mag gebruik. Die eerste waarneming wat misluk, dui die laag aan om te ondersoek.
Wanneer jy 'n profiel verander, skrap die vorige een met Remove-VpnConnection -Name "Office IKEv2" -Force voordat jy dit herskep; anders bly verouderde instellings en roetes deur die wysiging heen. As dit steeds nie wil koppel nie, vergelyk die duimafdruk wat in die profiel aangeteken is met die een wat in die stoorkas teenwoordig is, want Windows kan 'n verwysing hou na 'n identiteit wat intussen onder 'n onveranderde onderwerp vervang is.
Hou die duimafdruk, die EAP-metode en die roetelys langs die profiel. Saam verduidelik hulle die meeste van wat later verkeerd gaan.