Windows дээрх L2TP/IPsec 789 алдаа: профайлыг үүсгэж, саналыг бэхлээрэй
789 алдаа нь IPsec солилцоонд гардаг, нууц үгэнд биш. L2TP профайлыг скриптээр үүсгэж, саналыг бэхлээд дараагийн кодуудыг үе шатаар уншина уу.
Windows-ийн L2TP холболт дээрх 789 алдаа нь туннель 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 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 |
Энд итгэмжлэлийн хоёр үүрэг чухал. Урьдчилан хуваалцсан түлхүүр эсвэл гэрчилгээ нь талуудыг бие биенийхээ өмнө баталгаажуулдаг бол 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 ирэхэд тэр харьцуулалт үдээс хойш биш, хэдхэн минутад дуусна.