Napaka 789 pri povezavi L2TP v sistemu Windows pomeni, da je tunel umrl znotraj izmenjave varnosti IPsec, kar se zgodi veliko prej, preden Windows kamor koli pošlje uporabniško geslo. Ponovno poskušanje gesla ali njegova ponastavitev v imeniku tega koraka ne more premakniti naprej. Premakne ga ponovna zgraditev povezave iz PowerShell z predlogom, ki ga prehod resnično ponuja, ker čarovnik v Nastavitvah izbere transformacije IPsec tiho in vam nikoli ne pokaže, kaj je izbral. To je vodnik za to: ustvarite profil, pritrdite predlog in nato uporabite tabelo korakov, da vam naslednja koda nekaj pove.

Ustvarite profil brez čarovnika

Add-VpnConnection zapiše izvorni vnos v telefonski imenik, zato je rezultat isti objekt, ki ga bo aplikacija Nastavitve pozneje urejala. Zaženite ga iz povišane seje, ko mora povezava obstajati za vsak račun na napravi, ali iz uporabniškega konteksta, ko mora ostati zasebna:

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

Uskladite -AuthenticationMethod s tem, kar ponuja prehod. MSChapv2, EAP in PAP niso zamenljivi, profil, ki zahteva metodo, ki je strežnik ne bo sprejel, pa spodleti, še preden je pregledan kateri koli uporabniški zapis. Ohranite -EncryptionLevel Required za vse resnično; Optional dovoli Windows sprejeti nešifriran tunel, če nasprotna stran ponudi takega, kar je laboratorijska bližnjica in ne nastavitev za objavo.

Če posredujete -L2tpPsk, se ta vnaprej deljeni ključ zapiše v profil na disku, od koder ga lahko obnovi vsakdo, ki lahko prebere profil na tem računalniku. Uporabite potrdilo za preverjanje pristnosti nasprotne strani, kadar prehod to podpira, in kadar je PSK neizogiben, ga hranite zunaj shrambe in zunaj zgodovine lupine, namesto da bi ga prilepili v vsak zagon zagotavljanja.

Pritrdite predlog, namesto da sprejmete privzete vrednosti

Windows sam zapolni transformacije IPsec, zato lahko dva računalnika z navidez enako povezavo proti istemu prehodu spodletita različno. Set-VpnConnectionIPsecConfiguration je podprt način, kako jih pritrditi:

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

Ta nabor je ena običajna razporeditev L2TP/IPsec, ne univerzalni odgovor. Vsak parameter sprejme fiksen seznam vrednosti, kombinacija, ki je platforma ne more preslikati, pa se vrne kot napaka cmdlet namesto tiho oslabljenega profila. Takšno napako obravnavajte kot izjavo o vrednostih, ne o vaših dovoljenjih.

Kopirajte predlog iz dokumentacije prehoda ali iz njegovih živih nastavitev faze 1 in faze 2 in spreminjajte eno polje naenkrat le, ko prehod beleži zavrnjene transformacije. Prehod skozi pet polj ustvari povezavo, ki deluje po naključju, in zapis, ki naslednji osebi ne pojasni ničesar.

Beri okvaro po koraku, ne po besedilu napake

789 spada v družino kod, ki v pogovornem oknu odjemalca izgledajo vse enako. Preden se znova dotaknete profila, postavite kodo nasproti koraku, ki mu pripada:

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

Tu sta pomembni dve vlogi poverilnic. Vnaprej deljeni ključ ali potrdilo overi strani medsebojno, medtem ko MSChapv2 ali EAP overi vas znotraj tunela. Ponastavitev uporabniškega gesla ne more popraviti prvega, nova skupna skrivnost ne more popraviti drugega, sprememba obeh hkrati pa uniči dokaz, katera je bila napačna.

Na poti s potrdilom preverite uro odjemalca, verigo zaupanja in identiteto, ki jo prehod pričakuje, preden razmislite o omilitvi preverjanja. Izklop preverjanja spremeni vidno 789 v tunel, ki se poveže, medtem ko zaupa napačni strani, in nič v odjemalcu vam ne bo povedalo, da se je to zgodilo. seznam napak oddaljenega dostopa Microsoft je referenca za same kode in ločuje odpovedi varnostne plasti od odpovedi prijave.

Preverite z obeh strani, preden to razglasite za popravljeno

Preberite profil nazaj, vendar v izhodu ne pričakujte predloga. Get-VpnConnection poroča ime, naslov strežnika, vrsto tunela, raven šifriranja in metodo preverjanja pristnosti in ne ve ničesar o transformacijah, zato branje potrdi, da vnos obstaja in kaže na pravega gostitelja:

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

Kličite iz ukazne vrstice, da dobite številko namesto pogovornega okna: rasdial "Contoso L2TP" vrne isto kodo napake, kot bi jo vrnil vmesnik, rasdial "Contoso L2TP" /disconnect pa jo med poskusi počisti. Nato preberite stran prehoda za isti poskus. ipsec statusall strongSwan ali dnevnik IKE usmerjevalnika pove, kateri predlog je prispel in kateri je bil zavrnjen, primerjava tega z vrednostmi cmdlet pa je edini korak, ki resnično dokaže, da sta se oba konca dogovorila.

Uspešna povezava ni ciljna črta. Odprite aplikacijo, ki je uporabniku pomembna, ker poti, potisnjen DNS in nastavitve razdeljenega tunela spodletijo po dvigu tunela in sploh ne ustvarijo pogovornega okna z napako.

Avtomatizirajte to in se čisto povrnite

Nadzorovana namestitev je razlog za skript, korak klicanja pa je mesto, kjer uhajajo poverilnice. rasdial jih sprejme v svoji ukazni vrstici, kjer jih lahko preberejo drugi lokalni uporabniki in večina zbiralnikov dnevnikov:

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

Dajte prednost poverilnici, omejeni na račun, ki izvaja opravilo, ali pustite, da jo profil shrani z -RememberCredential, namesto da posredujete geslo kot argument v načrtovanem opravilu. Sami ukazi za zagotavljanje so varni za ponavljanje z -Force, vendar bodo z veseljem prepisali star predlog, zato ponovni zagon pomaga le, če skript nosi trenutne vrednosti.

Profili preživijo ponovne zagone in živijo dlje od konfiguracije prehoda, za katero so bili zgrajeni. Ko se predlog prehoda premakne, odstranite vnos in ga znova ustvarite, namesto da bi čez polagali drug nabor vrednosti: Remove-VpnConnection -Name "Contoso L2TP" -Force, nato ponovite oba cmdleta z novim naborom.

Zaprite zanko s štirimi preverjanji, ki živijo ob skriptu: Get-VpnConnection pokaže pričakovano vrsto tunela in raven šifriranja; prehod zabeleži dokončano fazo 1 in fazo 2 za naslov vašega odjemalca; rasdial vrne uspeh in aplikacija se odpre; predlog, zapisan v skriptu, pa se ujema s trenutno nastavitvijo prehoda. Ko pride naslednja 789, ta primerjava vzame minute namesto popoldneva.

Sorodni članki