L2TP/IPsec kļūda 789 operētājsistēmā Windows: izveidojiet profilu un fiksējiet piedāvājumu
789 kļūda rodas IPsec apmaiņā, nevis ar paroli. Izveidojiet L2TP profilu ar skriptu, fiksējiet piedāvājumu un lasiet vēlākos kodus pa posmiem.
789 kļūda Windows L2TP savienojumā nozīmē, ka tunelis nomira IPsec drošības apmaiņas iekšienē, kas notiek daudz agrāk, nekā Windows kaut kur nosūta lietotāja paroli. Paroles atkārtota mēģināšana vai atiestatīšana direktorijā nevar pavirzīt šo posmu uz priekšu. To pavirza savienojuma pārbūve no PowerShell ar piedāvājumu, ko vārteja patiešām piedāvā, jo Iestatījumu vednis IPsec transformācijas izvēlas klusi un nekad neparāda, ko tas izvēlējās. Šī ir tā darba rokasgrāmata: izveidojiet profilu, fiksējiet piedāvājumu un pēc tam izmantojiet posmu tabulu, lai nākamais kods jums kaut ko pateiktu.
Izveidojiet profilu bez vedņa
Add-VpnConnection ieraksta vietēju tālruņu grāmatas ierakstu, tāpēc rezultāts ir tas pats objekts, ko Iestatījumu lietotne vēlāk rediģē. Palaidiet to no paaugstinātas sesijas, ja savienojumam jāpastāv katram datora kontam, vai no lietotāja konteksta, ja tam jāpaliek privātam:
Add-VpnConnection -Name "Contoso L2TP" `
-ServerAddress 203.0.113.10 `
-TunnelType L2tp `
-EncryptionLevel Required `
-AuthenticationMethod MSChapv2 `
-RememberCredential -Force
Saskaņojiet -AuthenticationMethod ar to, ko piedāvā vārteja. MSChapv2, EAP un PAP nav savstarpēji aizstājami, un profils, kas pieprasa metodi, kuru serveris nepieņems, neizdodas vēl pirms jebkura lietotāja ieraksta apskates. Saglabājiet -EncryptionLevel Required jebkam reālam; Optional ļauj Windows pieņemt nešifrētu tuneli, ja pretējā puse to piedāvā, kas ir laboratorijas saīsinājums, nevis iestatījums, ko izlaist.
Ja nododat -L2tpPsk, šī iepriekš kopīgotā atslēga tiek ierakstīta profilā uz diska, no kurienes ikviens, kas var nolasīt profilu šajā datorā, var to atgūt. Izmantojiet sertifikātu pretējās puses autentifikācijai, kad vārteja to atbalsta, un, ja PSK nav izbēgams, turiet to ārpus krātuves un ārpus čaulas vēstures, nevis ielīmējiet to katrā nodrošināšanas palaišanā.
Fiksējiet piedāvājumu, nevis pieņemiet noklusējuma vērtības
Windows pats aizpilda IPsec transformācijas, tāpēc divi datori ar šķietami identisku savienojumu var pret to pašu vārtu neizdoties atšķirīgi. Set-VpnConnectionIPsecConfiguration ir atbalstītais veids, kā tās fiksēt:
Set-VpnConnectionIPsecConfiguration -ConnectionName "Contoso L2TP" `
-AuthenticationTransformConstants SHA256128 `
-CipherTransformConstants AES128 `
-EncryptionMethod AES128 `
-IntegrityCheckMethod SHA256 `
-DHGroup Group14 `
-PfsGroup None `
-PassThru -Force
Šis komplekts ir viens izplatīts L2TP/IPsec izkārtojums, nevis universāla atbilde. Katrs parametrs pieņem fiksētu vērtību sarakstu, un kombinācija, ko platforma nevar kartēt, atgriežas kā cmdlet kļūda, nevis klusi novājināts profils. Uztveriet šādu kļūdu kā apgalvojumu par vērtībām, nevis par jūsu atļaujām.
Kopējiet piedāvājumu no vārtejas dokumentācijas vai no tās dzīvajiem 1 un 2 posma iestatījumiem un mainiet vienu lauku vienlaikus tikai tad, kamēr vārteja reģistrē noraidītās transformācijas. Izejot piecus laukus, tiek iegūts savienojums, kas darbojas nejauši, un ieraksts, kas nākamajam cilvēkam neko neizskaidro.
Lasiet kļūmi pa posmiem, nevis pēc kļūdas teksta
789 pieder kodu saimei, kas klienta dialogā visas izskatās vienādi. Pirms vēlreiz aiztikat profilu, novietojiet kodu pret posmu, kuram tas pieder:
| 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 |
Šeit svarīgas ir divas akreditācijas datu lomas. Iepriekš kopīgota atslēga vai sertifikāts autentificē puses vienu pret otru, bet MSChapv2 vai EAP autentificē jūs tuneļa iekšienē. Lietotāja paroles atiestatīšana nevar salabot pirmo, jauns kopīgs noslēpums nevar salabot otro, un abu maiņa uzreiz iznīcina pierādījumu par to, kurš bija nepareizs.
Sertifikāta ceļā pārbaudiet klienta pulksteni, uzticības ķēdi un identitāti, ko vārteja gaida, pirms apsverat validācijas atslābināšanu. Validācijas izslēgšana pārvērš redzamu 789 par tuneli, kas savienojas, uzticoties nepareizajai pusei, un nekas klientā jums nepateiks, ka tas ir noticis. Microsoft attālinātās piekļuves kļūdu saraksts ir atsauce uz pašiem kodiem, un tas atdala drošības slāņa kļūmes no pieteikšanās kļūmēm.
Pārbaudiet no abiem galiem, pirms pasludināt to salabotu
Nolasiet profilu atpakaļ, bet negaidiet izvadē piedāvājumu. Get-VpnConnection ziņo nosaukumu, servera adresi, tuneļa tipu, šifrēšanas līmeni un autentifikācijas metodi un neko nezina par transformācijām, tāpēc nolasīšana apstiprina, ka ieraksts pastāv un norāda uz pareizo resursdatoru:
Get-VpnConnection -Name "Contoso L2TP" |
Select-Object Name, ServerAddress, TunnelType, EncryptionLevel, AuthenticationMethod
Zvaniet no komandrindas, lai iegūtu numuru, nevis dialogu: rasdial "Contoso L2TP" atgriež to pašu kļūmes kodu, ko atgrieztu saskarne, un rasdial "Contoso L2TP" /disconnect to notīra starp mēģinājumiem. Pēc tam nolasiet vārtejas pusi tam pašam mēģinājumam. strongSwan ipsec statusall vai maršrutētāja IKE žurnāls norāda, kurš piedāvājums ieradās un kurš tika noraidīts, un salīdzināšana ar cmdlet vērtībām ir vienīgais solis, kas patiešām pierāda, ka abi gali vienojās.
Veiksmīgs savienojums nav finiša līnija. Atveriet lietotni, kas lietotājam ir svarīga, jo maršruti, uzspiests DNS un sadalītā tuneļa iestatījumi neizdodas pēc tuneļa pacelšanas un vispār nerada kļūdas dialogu.
Automatizējiet to un atritiniet tīri
Bezuzraudzības instalēšana ir iemesls rakstīt skriptu, un zvanīšanas solis ir vieta, kur noplūst akreditācijas dati. rasdial tos uzņem savā komandrindā, kur citi vietējie lietotāji un lielākā daļa žurnālu savācēju tos var nolasīt:
subprocess.run(["rasdial", "Contoso L2TP"], check=True)
Dodiet priekšroku akreditācijas datiem, kas ierobežoti ar kontu, kurš izpilda uzdevumu, vai ļaujiet profilam tos glabāt ar -RememberCredential, nevis nododiet paroli kā argumentu plānotā uzdevumā. Pašas nodrošināšanas komandas ir droši atkārtot ar -Force, taču tās labprāt pārklās veco piedāvājumu, tāpēc atkārtota palaišana palīdz tikai tad, ja skripts nes pašreizējās vērtības.
Profili saglabājas pēc pārstartēšanas un dzīvo ilgāk par vārtejas konfigurāciju, kurai tie tika veidoti. Kad vārtejas piedāvājums mainās, noņemiet ierakstu un izveidojiet to no jauna, nevis uzlieciet otru vērtību kopu: Remove-VpnConnection -Name "Contoso L2TP" -Force, pēc tam atkārtojiet divas cmdlet ar jauno kopu.
Noslēdziet cilpu ar četrām pārbaudēm, kas dzīvo blakus skriptam: Get-VpnConnection parāda gaidīto tuneļa tipu un šifrēšanas līmeni; vārteja reģistrē pabeigtu 1 un 2 posmu jūsu klienta adresei; rasdial atgriež panākumus un lietotne atveras; un skriptā ierakstītais piedāvājums atbilst pašreizējam vārtejas iestatījumam. Kad pienāks nākamais 789, šis salīdzinājums prasīs minūtes, nevis pēcpusdienu.