789 սխալը Windows-ի L2TP միացման վրա նշանակում է, որ թունելը մահացել է IPsec անվտանգության փոխանակման ներսում, ինչը տեղի է ունենում շատ ավելի վաղ, քան Windows-ը որևէ տեղ կուղարկի օգտատիրոջ գաղտնաբառը։ Գաղտնաբառը նորից փորձելը կամ այն գրացուցակում վերականգնելը չի կարող այդ փուլը առաջ տանել։ Այն առաջ է տանում միացումը PowerShell-ից վերակառուցելը այն առաջարկով, որն իսկապես տրամադրում է դարպասը, որովհետև Կարգավորումների հրաշագործը լռին ընտրում է IPsec փոխակերպումները և երբեք չի ցույց տալիս, թե ինչ է ընտրել։ Սա այդ ամենի ուղեցույցն է՝ ստեղծեք պրոֆիլը, ամրացրեք առաջարկը, ապա օգտագործեք փուլերի աղյուսակ, որպեսզի հաջորդ կոդը ձեզ ինչ-որ բան ասի։

Ստեղծեք պրոֆիլը առանց հրաշագործի

Add-VpnConnection գրում է բնիկ հեռախոսագիրքային գրառում, ուստի արդյունքը նույն օբյեկտն է, որը Կարգավորումներ հավելվածը հետագայում խմբագրում է։ Գործարկեք այն բարձրացված նստաշրջանից, երբ միացումը պետք է գոյություն ունենա մեքենայի յուրաքանչյուր հաշվի համար, կամ օգտատիրոջ համատեքստից, երբ այն պետք է մնա մասնավոր՝

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

Համապատասխանեցրեք -AuthenticationMethod-ը դարպասի առաջարկածին։ MSChapv2-ը, EAP-ն և PAP-ը փոխանակելի չեն, և պրոֆիլը, որը պահանջում է մեթոդ, որը սերվերը չի ընդունի, ձախողվում է նախքան որևէ օգտատիրոջ գրառում դիտարկելը։ Պահեք -EncryptionLevel Required-ը ամեն իրական բանի համար՝ Optional-ը թույլ է տալիս Windows-ին ընդունել չգաղտնագրված թունել, եթե հակառակորդը առաջարկում է այդպիսին, ինչը լաբորատոր կարճուղի է, ոչ թե առաքման կարգավորում։

Եթե փոխանցեք -L2tpPsk-ը, այդ նախապես համօգտագործված բանալին գրվում է սկավառակի պրոֆիլում, որտեղից ցանկացած ոք, ով կարող է կարդալ պրոֆիլը այդ մեքենայի վրա, կարող է վերականգնել այն։ Օգտագործեք վկայական հակառակորդի նույնականացման համար, երբ դարպասը դա աջակցում է, և երբ PSK-ն անխուսափելի է, պահեք այն պահոցից դուրս և shell-ի պատմությունից դուրս՝ փոխարենը այն ամեն տեղադրման աշխատանքի մեջ չփակցնելու։

Ամրացրեք առաջարկը՝ լռելյայն արժեքներն ընդունելու փոխարեն

Windows-ը ինքն է լրացնում IPsec փոխակերպումները, և դրա պատճառով նույնական թվացող միացումով երկու մեքենա կարող են տարբեր կերպ ձախողվել նույն դարպասի դեմ։ Set-VpnConnectionIPsecConfiguration-ը դրանք ամրացնելու աջակցվող եղանակն է՝

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

Այդ հավաքածուն L2TP/IPsec-ի մեկ տարածված դասավորություն է, ոչ համընդհանուր պատասխան։ Յուրաքանչյուր պարամետր ընդունում է արժեքների ֆիքսված ցուցակ, և այն համակցությունը, որը հարթակը չի կարող քարտեզագրել, վերադառնում է որպես cmdlet սխալ՝ լուռ թուլացած պրոֆիլի փոխարեն։ Նման սխալը դիտարկեք որպես հայտարարություն արժեքների մասին, ոչ ձեր թույլտվությունների մասին։

Պատճենեք առաջարկը դարպասի փաստաթղթերից կամ նրա կենդանի փուլ 1 և փուլ 2 կարգավորումներից, և միաժամանակ փոխեք միայն մեկ դաշտ, միայն այն ժամանակ, երբ դարպասը գրանցում է մերժված փոխակերպումները։ Հինգ դաշտերով անցնելը ստեղծում է պատահաբար աշխատող միացում և գրառում, որը հաջորդ մարդուն ոչինչ չի բացատրում։

Ձախողումը կարդացեք ըստ փուլի, ոչ ըստ սխալի տեքստի

789-ը պատկանում է կոդերի այն ընտանիքին, որոնք հաճախորդի երկխոսության մեջ բոլորը նույն տեսքն ունեն։ Կոդը դրեք այն փուլի դիմաց, որին այն պատկանում է, նախքան պրոֆիլին նորից դիպչելը՝

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

Այստեղ կարևոր են հավատարմագրերի երկու դերերը։ Նախապես համօգտագործված բանալին կամ վկայականը նույնականացնում է կողմերին միմյանց նկատմամբ, մինչդեռ MSChapv2-ը կամ EAP-ն նույնականացնում է ձեզ թունելի ներսում։ Օգտատիրոջ գաղտնաբառի վերականգնումը չի կարող շտկել առաջինը, նոր համօգտագործված գաղտնիքը չի կարող շտկել երկրորդը, և երկուսն էլ միանգամից փոխելը ոչնչացնում է ապացույցը, թե որն էր սխալ։

Վկայականի ուղու վրա ստուգեք հաճախորդի ժամացույցը, վստահության շղթան և այն ինքնությունը, որն ակնկալում է դարպասը, նախքան վավերացման թուլացումը քննարկելը։ Վավերացումն անջատելը տեսանելի 789-ը վերածում է թունելի, որը միանում է սխալ կողմին վստահելով, և հաճախորդում ոչինչ ձեզ չի ասի, որ դա տեղի է ունեցել։ Microsoft-ի հեռահար մուտքի սխալների ցանկը հենց կոդերի համար է հղում, և այն անվտանգության շերտի ձախողումները տարանջատում է մուտքի ձախողումներից։

Ստուգեք երկու ծայրերից նախքան այն ուղղված հայտարարելը

Կարդացեք պրոֆիլը հետ, բայց մի սպասեք առաջարկին ելքում։ Get-VpnConnection-ը հաղորդում է անունը, սերվերի հասցեն, թունելի տեսակը, գաղտնագրման մակարդակը և նույնականացման մեթոդը, և ոչինչ չգիտի փոխակերպումների մասին, ուստի հետընթերցումը հաստատում է, որ գրառումը գոյություն ունի և ուղղված է ճիշտ հոսթին՝

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

Հավաքեք հրամանի տողից, որպեսզի երկխոսության փոխարեն թիվ ստանաք՝ rasdial "Contoso L2TP"-ը վերադարձնում է նույն ձախողման կոդը, որը կվերադարձներ ինտերֆեյսը, և rasdial "Contoso L2TP" /disconnect-ը մաքրում է այն փորձերի միջև։ Այնուհետև կարդացեք դարպասի կողմը նույն փորձի համար։ strongSwan-ի ipsec statusall-ը կամ երթուղիչի IKE մատյանը նշում է, թե որ առաջարկն է եկել և որը մերժվել, և դա cmdlet արժեքների հետ համեմատելը միակ քայլն է, որն իսկապես ապացուցում է, որ երկու ծայրերը համաձայնել են։

Հաջող միացումը վերջնագիծ չէ։ Բացեք այն հավելվածը, որը կարևոր է օգտատիրոջը, որովհետև երթուղիները, մղված DNS-ը և բաժանված թունելի կարգավորումները ձախողվում են թունելի բարձրանալուց հետո և ընդհանրապես սխալի երկխոսություն չեն տալիս։

Ավտոմատացրեք այն և մաքուր հետ գլորեք

Չհսկվող տեղադրումը սա սկրիպտավորելու պատճառն է, և հավաքման քայլն այն տեղն է, որտեղ հավատարմագրերը արտահոսում են։ rasdial-ը վերցնում է դրանք իր հրամանի տողում, որտեղ այլ լոկալ օգտատերեր և մատյանների հավաքիչների մեծ մասը կարող են կարդալ դրանք՝

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

Նախընտրեք աշխատանքը կատարող հաշվին սահմանափակված հավատարմագիր, կամ թույլ տվեք պրոֆիլին պահել այն -RememberCredential-ով, փոխարենը գաղտնաբառը որպես արգումենտ փոխանցելու պլանավորված առաջադրանքում։ Տեղադրման հրամաններն իրենք անվտանգ են կրկնելու -Force-ով, բայց նրանք հաճույքով կծածկեն հին առաջարկը, ուստի կրկնակի գործարկումը օգնում է միայն այն դեպքում, երբ սկրիպտը կրում է ընթացիկ արժեքները։

Պրոֆիլները գոյատևում են վերագործարկումներից և ապրում են ավելի երկար, քան այն դարպասի կազմաձևը, որի համար կառուցվել են։ Երբ դարպասի առաջարկը տեղափոխվում է, հեռացրեք գրառումը և նորից ստեղծեք այն՝ վրան արժեքների երկրորդ հավաքածու շերտավորելու փոխարեն՝ Remove-VpnConnection -Name "Contoso L2TP" -Force, ապա կրկնեք երկու cmdlet-ը նոր հավաքածուով։

Փակեք շրջանը սկրիպտի կողքին ապրող չորս ստուգումներով՝ Get-VpnConnection-ը ցույց է տալիս սպասվող թունելի տեսակը և գաղտնագրման մակարդակը՝ դարպասը գրանցում է ավարտված փուլ 1 և փուլ 2 ձեր հաճախորդի հասցեի համար՝ rasdial-ը վերադարձնում է հաջողություն և հավելվածը բացվում է՝ և սկրիպտում գրանցված առաջարկը համապատասխանում է դարպասի ընթացիկ կարգավորմանը։ Երբ գա հաջորդ 789-ը, այդ համեմատությունը տևում է րոպեներ՝ կես օրվա փոխարեն։

Առնչվող հոդվածներ