L2TP/IPsec-flater 789 op Windows: meitsje it profyl en pin it foarstel fêst
Flater 789 mislearret yn 'e IPsec-útwikseling, net by it wachtwurd. Skript it L2TP-profyl, pin it foarstel fêst en lês lettere koades per stap.
Flater 789 op in Windows L2TP-ferbining betsjut dat de tunnel stoarn is binnen de IPsec-feiligensútwikseling, wat lang foar't Windows ea in brûkerswachtwurd earne hinne stjoert bart. It wachtwurd nochris besykje of it yn 'e map weromsette kin dy stap net foarút bewege. Wat it wol foarút beweget is de ferbining opnij bouwe út PowerShell mei it foarstel dat de poarte echt biedt, om't de tsjoender fan Ynstellingen de IPsec-transformaasjes stil kiest en jo nea lit sjen wat er keazen hat. Dit is de hânlieding dêrfoar: meitsje it profyl, pin it foarstel fêst en brûk dan in staptabel sadat de folgjende koade jo wat seit.
Meitsje it profyl sûnder de tsjoender
Add-VpnConnection skriuwt in eigen telefoanboekynstap, dus it resultaat is itselde objekt dat de Ynstellingen-app letter bewurket. Rin it út in ferhege sesje as de ferbining foar elk akkount op 'e masine bestean moat, of út 'e brûkerskontekst as it privee bliuwe moat:
Add-VpnConnection -Name "Contoso L2TP" `
-ServerAddress 203.0.113.10 `
-TunnelType L2tp `
-EncryptionLevel Required `
-AuthenticationMethod MSChapv2 `
-RememberCredential -Force
Pas -AuthenticationMethod oan by wat de poarte biedt. MSChapv2, EAP en PAP binne net útwikselber, en in profyl dat in metoade easket dy't de tsjinner net akseptearret mislearret foar't ea in brûkersrekord rieplachte wurdt. Hâld -EncryptionLevel Required foar alles echts; Optional lit Windows in net-fersifere tunnel akseptearje as de oare kant der ien biedt, wat in laboratoariumkoartpaad is en net in ynstelling om te ferstjoeren.
As jo -L2tpPsk trochjouwe, wurdt dy foarôf dielde kaai yn it profyl op 'e skiif skreaun, dêr't elkenien dy't it profyl op dy masine lêze kin it weromhelje kin. Brûk in sertifikaat foar de autentikaasje fan 'e oare kant as de poarte dat stipet, en as in PSK net te fermijen is, hâld it bûten it depot en bûten de shell-skiednis ynstee fan it yn elke foarsjenningstocht te plakken.
Pin it foarstel fêst ynstee fan de standertwearden te akseptearjen
Windows follet de IPsec-transformaasjes sels yn, en dêrom kinne twa masines mei in ferbining dy't identyk liket oars mislearje tsjin deselde poarte. Set-VpnConnectionIPsecConfiguration is de stipe wize om se fêst te pinjen:
Set-VpnConnectionIPsecConfiguration -ConnectionName "Contoso L2TP" `
-AuthenticationTransformConstants SHA256128 `
-CipherTransformConstants AES128 `
-EncryptionMethod AES128 `
-IntegrityCheckMethod SHA256 `
-DHGroup Group14 `
-PfsGroup None `
-PassThru -Force
Dy set is ien gewoane L2TP/IPsec-opstelling, gjin universeel antwurd. Eltse parameter akseptearret in fêste list wearden, en in kombinaasje dy't it platfoarm net mappe kin komt werom as in cmdlet-flater ynstee fan in stil ferswakke profyl. Behannelje sa'n flater as in útspraak oer de wearden, net oer jo rjochten.
Kopiearje it foarstel út 'e dokumintaasje fan 'e poarte of út har libbene ynstellingen fan faze 1 en faze 2, en feroarje ien fjild tagelyk allinnich wylst de poarte de transformaasjes logt dy't se wegeret. Troch fiif fjilden te gongen jout in ferbining dy't by tafal wurket en in rekord dat de folgjende persoan neat ferklearret.
Lês in mislearring per stap, net per flatertekst
789 heart by in famylje koades dy't allegear itselde lykje yn 'e kliïntdialooch. Set de koade tsjin de stap dêr't er by heart foar't jo it profyl wer oanreitsje:
| What you see | Stage that failed | Check first |
|---|---|---|
| Nothing happens, then a timeout | No IKE response at all | Server address, UDP 500 and 4500 reachability, NAT traversal on the gateway |
| Error 789 | IKE security exchange | Proposal, pre-shared key, certificate trust and client clock |
| Error 691 or a repeated password prompt | User authentication | Account state, domain, RADIUS or NPS policy |
| Tunnel up, some hosts unreachable | Routing or DNS after PPP | Split-tunnel routes, pushed DNS, remote subnet mask |
De twa rollen fan 'e referinsjes binne hjir wichtich. In foarôf dielde kaai of sertifikaat autentisearret de kanten foar elkoar, wylst MSChapv2 of EAP jo binnen de tunnel autentisearret. It weromsetten fan in brûkerswachtwurd kin it earste net reparearje, in nij dield geheim kin it twadde net reparearje, en beide tagelyk feroarje ferneatiget it bewiis fan hokker ferkeard wie.
Op it sertifikaatpaad kontrolearje jo de klok fan 'e kliïnt, de fertrouwensketen en de identiteit dy't de poarte ferwachtet foar't jo it fersoepeljen fan 'e falidaasje oertinke. It útsetten fan falidaasje feroaret in sichtbere 789 yn in tunnel dy't ferbynt wylst er de ferkearde kant fertrout, en neat yn 'e kliïnt sil jo fertelle dat dat barde. list fan flaters foar remote tagong fan Microsoft is de referinsje foar de koades sels, en se skiedt de mislearrings fan 'e feiligenslaach fan 'e oanmeldmislearrings.
Kontrolearje fan beide kanten foar't jo it reparearre neame
Lês it profyl werom, mar ferwachtsje it foarstel net yn 'e útfier. Get-VpnConnection meldt de namme, it serveradres, it tunneltype, it fersiferingnivo en de autentikaasjemetoade en wit neat fan transformaasjes, dus it weromlêzen befestiget dat de ynstap bestiet en nei de juste host wiist:
Get-VpnConnection -Name "Contoso L2TP" |
Select-Object Name, ServerAddress, TunnelType, EncryptionLevel, AuthenticationMethod
Belje fan 'e opdrachtline sadat jo in nûmer krije ynstee fan in dialooch: rasdial "Contoso L2TP" jout deselde mislearringskoade dy't de interface jaan soe, en rasdial "Contoso L2TP" /disconnect skriuwt it tusken besykjen skjin. Lês dan de kant fan 'e poarte foar itselde besykjen. In ipsec statusall fan strongSwan of in IKE-log fan 'e router seit hokker foarstel oankaam en hokker wegere waard, en dat fergelykje mei de cmdlet-wearden is de iennichste stap dy't echt bewist dat beide kanten it iens waarden.
In slagge ferbining is net de finishline. Iepenje de app dêr't de brûker om jout, want rûtes, trochstjoerde DNS en ynstellingen foar split-tunnel mislearje nei't de tunnel omheech is en jouwe hielendal gjin flaterdialooch.
Automatisearje it, en rol skjin werom
Unbehearske ynstallaasje is de reden om dit te skripten, en de kiesstap is wêr't referinsjes lekke. rasdial nimt se op syn opdrachtline, dêr't oare lokale brûkers en de measte logfersamelders se lêze kinne:
subprocess.run(["rasdial", "Contoso L2TP"], check=True)
Ferkies in referinsje beheind ta it akkount dat de taak útfiert, of lit it profyl it mei -RememberCredential opslaan, boppe it trochjaan fan in wachtwurd as argumint yn in plande taak. De foarsjenningopdrachten sels binne feilich om mei -Force te werheljen, mar se oerdekke graach in âld foarstel, dus in werheljen helpt allinnich as it skript de aktuele wearden draacht.
Profylen hâlde oer werstarts hinne en libje langer as de poartekonfiguraasje dêr't se foar boud binne. As it foarstel fan 'e poarte ferskoot, ferwiderje dan de ynstap en meitsje it opnij ynstee fan in twadde set wearden der boppe op te lizzen: Remove-VpnConnection -Name "Contoso L2TP" -Force, en werhelje dan de twa cmdlets mei de nije set.
Slút de lus mei fjouwer kontrôles dy't njonken it skript libje: Get-VpnConnection lit it ferwachte tunneltype en fersiferingnivo sjen; de poarte logt in foltôge faze 1 en faze 2 foar it adres fan jo kliïnt; rasdial jout sukses en de app iepenet; en it foarstel dat yn it skript fêstlein is komt oerien mei de aktuele poarte-ynstelling. As de folgjende 789 komt, nimt dy fergeliking minuten ynstee fan in middei.