Windows pateikia IKEv2 klientą, kurį PowerShell valdo nuo pradžios iki pabaigos, todėl veikiančiam tuneliui nereikia nei grafinės sąsajos, nei trečiųjų šalių programinės įrangos. Beveik kiekviena nesėkmė kyla iš trijų vietų: kur atsidūrė sertifikatas, kaip buvo užrašyti maršrutų priešdėliai ir ko tikisi pasirinktas EAP metodas. Tvarkykite juos šia tvarka, nes kiekvieną galima patikrinti prieš prasidedant kitam, o vėlesnė klaida paslėps ankstesnę.

Kompiuterio sertifikato tuneliai egzistuoja tam, kad pradėtų veikti prieš kam nors prisijungiant, todėl tapatybė paprastai turi būti kompiuterio, o ne naudotojo saugykloje.

Pirmiau sertifikatas, paskui tunelis

Svarbūs du importai. Kliento tapatybė patenka į Cert:\LocalMachine\My per Import-PfxCertificate, o išduodanti CA patenka į Cert:\LocalMachine\Root per Import-Certificate. Vien lapas neįrodo jokios grandinės, todėl praleidus antrą importą tikrinimas lieka be pagrindo. Be buvimo, privatusis raktas turi būti pridėtas, o kompiuterio paskyrai turi būti leista jį skaityti. Get-ChildItem Cert:\LocalMachine\My išvardija, kas atkeliavo; lyginkite pirštų atspaudus, o ne subjektus, nes beveik identiški subjektai yra įprasti.

Prieš diegdami patikrinkite išplėstinį rakto naudojimą. IKEv2 kompiuterio tapatybei paprastai reikalingas kliento autentifikavimas, o kita pusė turi pasitikėti CA, kuris ją pasirašė. Naudotojo saugykloje esanti tapatybė kompiuterio konteksto ryšiui neegzistuoja.

Sukurkite profilį ir jo maršrutus

Add-VpnConnection -Name "Office IKEv2" -ServerAddress vpn.example.com -TunnelType Ikev2 -EncryptionLevel Required -AuthenticationMethod MachineCertificate -AllUserConnection įrašo profilį. Jungiklis -AllUserConnection paskelbia jį visuotinėje telefonų knygoje, kas tinka bendrai ar paslaugos valdomai mašinai; vienam naudotojui jo atsisakykite. Kokį bebūtų perduodamą adresą, jis turi atitikti DNS vardą serverio sertifikate, kitaip klaida pasirodys po to, kai tunelis jau pakeltas. Tada priešdėliai pridedami po vieną su Add-VpnConnectionRoute, ir tik tie, kurių dizainui tikrai reikia.

IPv6 turi ypatumą: Windows atmeta ::/0 kaip VPN maršrutą, todėl ::/1 ir 8000::/1 kartu apima tą pačią adresų erdvę. Maršruto priešdėlio nukreipimas taip pat nieko neduoda nuotolinėje užkardoje, todėl priešdėlių sąrašas ir užkardos politika lieka atskirais dokumentais.

Prisijungimo duomenys priklauso autentifikavimo metodui

Kompiuterio sertifikato profiliui visiškai nereikia naudotojo paslapties, o EAP-MSCHAPv2 profiliui reikia. Antruoju atveju modulis VPNCredentialsHelper suteikia Set-VpnConnectionUsernamePassword, ir jam reikia paprasto teksto: $cred.Password yra SecureString, todėl pirmiausia išpakuokite jį su GetNetworkCredential().Password. Įdiekite modulį visur, kur vykdoma komanda, ne tik toje darbo vietoje, kurioje jis buvo parašytas. EAP-TLS ar pasirinktinis metodas visiškai nenaudoja šio cmdlet; vietoj to jis priima EAP konfigūracijos XML.

rasdial "Office IKEv2" pakelia ryšį iš apvalkalo, ir tai greičiausias būdas pamatyti rezultatą pirmame plane, o ne įvykių žurnale.

Ko prijungtas tunelis neįrodo

Prijungto būsena apima IKE mainus ir autentifikavimo žingsnį ir nieko daugiau. DNS elgsena, kelias į privatų prieglobos serverį ir nuotolinė užkarda vis dar neįrodyti. Dirbkite į išorę: tunelio adapteris, tada maršruto paieška privačiam adresui, tada viena paslauga, kurią turite teisę naudoti. Pirmas nepavykęs stebėjimas nurodo tirtiną sluoksnį.

Keisdami profilį, ištrinkite ankstesnį su Remove-VpnConnection -Name "Office IKEv2" -Force prieš jį kuriant iš naujo; kitaip pasenę nustatymai ir maršrutai išlieka po redagavimo. Jei jis vis tiek nesijungia, palyginkite profilyje užrašytą piršto atspaudą su esančiu saugykloje, nes Windows gali laikyti nuorodą į tapatybę, kuri nuo to laiko buvo pakeista nepakeistu subjektu.

Laikykite piršto atspaudą, EAP metodą ir maršrutų sąrašą šalia profilio. Kartu jie paaiškina didžiąją dalį to, kas vėliau nepavyksta.

Susiję straipsniai