Eraro 789 ĉe Windows L2TP-konekto signifas, ke la tunelo mortis ene de la IPsec-sekureca interŝanĝo, kio okazas longe antaŭ ol Windows ie ajn sendas uzantpasvorton. Riprovi la pasvorton aŭ restarigi ĝin en la adresaro ne povas antaŭenigi tiun etapon. Kio antaŭenigas ĝin estas rekonstrui la konekton el PowerShell kun la propono, kiun la pordego efektive ofertas, ĉar la asistanto de Agordoj silente elektas IPsec-transformojn kaj neniam montras al vi, kion ĝi elektis. Jen la gvidlibro por tio: kreu la profilon, fiksu la proponon, poste uzu etapan tabelon por ke la sekva kodo diru al vi ion.

Kreu la profilon sen la asistanto

Add-VpnConnection skribas indiĝenan telefonlibran enskribon, do la rezulto estas la sama objekto, kiun la aplikaĵo Agordoj poste redaktas. Rulu ĝin el altigita seanco kiam la konekto devas ekzisti por ĉiu konto sur la maŝino, aŭ el la uzanta kunteksto kiam ĝi devas resti privata:

Add-VpnConnection -Name "Contoso L2TP" `
  -ServerAddress 203.0.113.10 `
  -TunnelType L2tp `
  -EncryptionLevel Required `
  -AuthenticationMethod MSChapv2 `
  -RememberCredential -Force

Akkordu -AuthenticationMethod kun tio, kion la pordego ofertas. MSChapv2, EAP kaj PAP ne estas interŝanĝeblaj, kaj profilo, kiu postulas metodon, kiun la servilo ne akceptos, malsukcesas antaŭ ol konsultiĝas iu ajn uzantrekordo. Konservu -EncryptionLevel Required por io ajn reala; Optional lasas Windows akcepti neĉifritan tunelon se la kontraŭparto ofertas unu, kio estas laboratoria mallongigo kaj ne agordo por liveri.

Se vi transdonas -L2tpPsk, tiu antaŭe dividita ŝlosilo estas skribata en la profilon sur la disko, de kie iu ajn, kiu povas legi la profilon sur tiu maŝino, povas rekuperi ĝin. Uzu atestilon por aŭtentigo de la kontraŭparto kiam la pordego subtenas tion, kaj kiam PSK estas neevitebla, tenu ĝin ekster la deponejo kaj ekster la ŝelhistorio anstataŭ englui ĝin en ĉiun provizan ruladon.

Fiksu la proponon anstataŭ akcepti la defaŭltojn

Windows mem plenigas la IPsec-transformojn, kaj tial du maŝinoj kun ŝajne identa konekto povas malsukcesi malsame kontraŭ la sama pordego. Set-VpnConnectionIPsecConfiguration estas la subtenata maniero fiksi ilin:

Set-VpnConnectionIPsecConfiguration -ConnectionName "Contoso L2TP" `
  -AuthenticationTransformConstants SHA256128 `
  -CipherTransformConstants AES128 `
  -EncryptionMethod AES128 `
  -IntegrityCheckMethod SHA256 `
  -DHGroup Group14 `
  -PfsGroup None `
  -PassThru -Force

Tiu aro estas unu kutima L2TP/IPsec-aranĝo, ne universala respondo. Ĉiu parametro akceptas fiksan liston da valoroj, kaj kombinaĵo, kiun la platformo ne povas mapi, revenas kiel cmdlet-eraro anstataŭ silente malfortigita profilo. Traktu tian eraron kiel aserton pri la valoroj, ne pri viaj rajtoj.

Kopiu la proponon el la dokumentaro de la pordego aŭ el ĝiaj vivaj agordoj de fazo 1 kaj fazo 2, kaj ŝanĝu unu kampon samtempe nur dum la pordego registras la transformojn, kiujn ĝi rifuzas. Trapasi kvin kampojn produktas konekton, kiu funkcias hazarde, kaj rikordon, kiu klarigas nenion al la sekva homo.

Legu malsukceson laŭ etapo, ne laŭ la erarteksto

789 apartenas al familio de kodoj, kiuj ĉiuj aspektas same en la klienta dialogo. Metu la kodon apud la etapon, al kiu ĝi apartenas, antaŭ ol vi denove tuŝos la profilon:

What you seeStage that failedCheck first
Nothing happens, then a timeoutNo IKE response at allServer address, UDP 500 and 4500 reachability, NAT traversal on the gateway
Error 789IKE security exchangeProposal, pre-shared key, certificate trust and client clock
Error 691 or a repeated password promptUser authenticationAccount state, domain, RADIUS or NPS policy
Tunnel up, some hosts unreachableRouting or DNS after PPPSplit-tunnel routes, pushed DNS, remote subnet mask

La du roloj de la akreditaĵoj gravas ĉi tie. Antaŭe dividita ŝlosilo aŭ atestilo aŭtentigas la kontraŭpartojn unu al la alia, dum MSChapv2 aŭ EAP aŭtentigas vin ene de la tunelo. Restarigi uzantpasvorton ne povas ripari la unuan, nova komuna sekreto ne povas ripari la duan, kaj ŝanĝi ambaŭ samtempe detruas la pruvon pri tio, kiu estis malĝusta.

Sur la atestila vojo, kontrolu la horloĝon de la kliento, la fidoĉenon kaj la identecon, kiun la pordego atendas, antaŭ ol pripensi malstreĉi la validigon. Malŝalti la validigon transformas videblan 789 en tunelon, kiu konektiĝas dum ĝi fidas la malĝustan kontraŭparton, kaj nenio en la kliento diros al vi, ke tio okazis. listo de eraroj de fora aliro de Microsoft estas la referenco por la kodoj mem, kaj ĝi apartigas la fiaskojn de la sekureca tavolo de la ensalutaj fiaskoj.

Kontrolu de ambaŭ finoj antaŭ ol nomi ĝin riparita

Legu la profilon reen, sed ne atendu la proponon en la eligo. Get-VpnConnection raportas la nomon, la servilan adreson, la tunelan tipon, la ĉifran nivelon kaj la aŭtentigan metodon, kaj ĝi scias nenion pri transformoj, do la relegado konfirmas, ke la enskribo ekzistas kaj montras al la ĝusta gastiganto:

Get-VpnConnection -Name "Contoso L2TP" |
  Select-Object Name, ServerAddress, TunnelType, EncryptionLevel, AuthenticationMethod

Voku el la komandlinio por ricevi numeron anstataŭ dialogon: rasdial "Contoso L2TP" redonas la saman malsukcesan kodon, kiun la interfaco redonus, kaj rasdial "Contoso L2TP" /disconnect forviŝas ĝin inter provoj. Poste legu la flankon de la pordego por tiu sama provo. ipsec statusall de strongSwan aŭ IKE-rikordo de la enkursigilo indikas, kiu propono alvenis kaj kiu estis rifuzita, kaj kompari tion kun la cmdlet-valoroj estas la sola paŝo, kiu vere pruvas, ke la du finoj interkonsentis.

Sukcesa konekto ne estas la cellinio. Malfermu la aplikaĵon, pri kiu la uzanto zorgas, ĉar la itineraj, la puŝitaj DNS kaj la agordoj de dividita tunelo malsukcesas post kiam la tunelo staras kaj produktas tute neniun eraran dialogon.

Aŭtomatigu ĝin kaj ruliĝu reen pure

Senĉesa agordo estas la kialo skripti ĉi tion, kaj la vokpaŝo estas kie la akreditaĵoj likas. rasdial prenas ilin sur sia komandlinio, kie aliaj lokaj uzantoj kaj la plej multaj rikordokolektantoj povas legi ilin:

subprocess.run(["rasdial", "Contoso L2TP"], check=True)

Preferu akreditaĵon limigitan al la konto, kiu plenumas la taskon, aŭ lasu la profilon konservi ĝin per -RememberCredential, anstataŭ transdoni pasvorton kiel argumenton en planita tasko. La provizaj komandoj mem estas sekuraj ripeti per -Force, sed ili volonte supertavolos malnovan proponon, do rerulado helpas nur se la skripto portas la aktualajn valorojn.

Profiloj daŭras tra restartoj kaj vivas pli longe ol la pordega agordo, por kiu ili estis konstruitaj. Kiam la pordega propono moviĝas, forigu la enskribon kaj kreu ĝin denove anstataŭ tavoligi duan aron da valoroj supre: Remove-VpnConnection -Name "Contoso L2TP" -Force, poste ripetu la du cmdlet-ojn kun la nova aro.

Fermu la buklon per kvar kontroloj, kiuj vivas apud la skripto: Get-VpnConnection montras la atendatan tunelan tipon kaj ĉifran nivelon; la pordego registras kompletigitan fazon 1 kaj fazon 2 por la adreso de via kliento; rasdial redonas sukceson kaj la aplikaĵo malfermiĝas; kaj la propono registrita en la skripto kongruas kun la aktuala pordega agordo. Kiam venos la sekva 789, tiu komparo daŭras minutojn anstataŭ posttagmezon.

Rilataj artikoloj