Windows-da L2TP/IPsec xətası 789: profili yarat və təklifi bərkit
789 xətası parolda deyil, IPsec mübadiləsində baş verir. L2TP profilini skriptlə yarat, təklifi bərkit və sonrakı kodları mərhələyə görə oxu.
Windows-da L2TP bağlantısında 789 xətası tunelin IPsec təhlükəsizlik mübadiləsi içində öldüyünü bildirir və bu, Windows hər hansı istifadəçi parolunu hara isə göndərməsindən xeyli əvvəl baş verir. Parolu yenidən cəhd etmək və ya kataloqda onu sıfırlamaq o mərhələni irəli aparmır. Onu irəli aparan şey bağlantını PowerShell-dən şlüzün həqiqətən təklif etdiyi təkliflə yenidən qurmaqdır, çünki Parametrlər ustası IPsec çevrilmələrini səssizcə seçir və nə seçdiyini sizə heç vaxt göstərmir. Bu, bunun üçün təlimatdır: profili yarat, təklifi bərkit, sonra mərhələ cədvəlindən istifadə et ki, növbəti kod sizə bir şey desin.
Profili ustasız yarat
Add-VpnConnection yerli telefon kitabçası girdisi yazır, ona görə nəticə Parametrlər tətbiqinin sonra redaktə etdiyi eyni obyektdir. Bağlantı maşındakı hər hesab üçün mövcud olmalı olduqda onu yüksəldilmiş sessiyadan, yalnız sizə aid qalmalı olduqda isə istifadəçi kontekstindən işə salın:
Add-VpnConnection -Name "Contoso L2TP" `
-ServerAddress 203.0.113.10 `
-TunnelType L2tp `
-EncryptionLevel Required `
-AuthenticationMethod MSChapv2 `
-RememberCredential -Force
-AuthenticationMethod parametrini şlüzün təklif etdiyi ilə uyğunlaşdırın. MSChapv2, EAP və PAP bir-birini əvəz etmir və serverin qəbul etməyəcəyi metodu tələb edən profil hər hansı istifadəçi qeydinə baxılmadan uğursuz olur. Həqiqi hər şey üçün -EncryptionLevel Required saxlayın; Optional Windows-un qarşı tərəf təklif edərsə şifrələnməmiş tuneli qəbul etməsinə imkan verir ki, bu laboratoriya qısaltmasıdır və göndəriləcək parametr deyil.
-L2tpPsk ötürsəniz, həmin əvvəlcədən paylaşılmış açar diskdəki profilə yazılır və o maşında profili oxuya bilən hər kəs onu bərpa edə bilər. Şlüz dəstəkləyirsə qarşı tərəfin autentifikasiyası üçün sertifikatdan istifadə edin və PSK qaçılmaz olduqda onu depodan və shell tarixçəsindən kənarda saxlayın, hər quraşdırma işinə yapışdırmayın.
Susmaya görə dəyərləri qəbul etmək əvəzinə təklifi bərkit
Windows IPsec çevrilmələrini özü doldurur, buna görə eyni görünən bağlantıya malik iki maşın eyni şlüzə qarşı fərqli uğursuz ola bilər. Set-VpnConnectionIPsecConfiguration onları bərkitməyin dəstəklənən yoludur:
Set-VpnConnectionIPsecConfiguration -ConnectionName "Contoso L2TP" `
-AuthenticationTransformConstants SHA256128 `
-CipherTransformConstants AES128 `
-EncryptionMethod AES128 `
-IntegrityCheckMethod SHA256 `
-DHGroup Group14 `
-PfsGroup None `
-PassThru -Force
Bu dəst adi bir L2TP/IPsec düzümüdür, universal cavab deyil. Hər parametr sabit dəyərlər siyahısı qəbul edir və platformanın xəritələyə bilmədiyi kombinasiya səssizcə zəiflədilmiş profil əvəzinə cmdlet xətası kimi qayıdır. Belə xətanı dəyərlər barədə bəyanat kimi qəbul edin, icazələriniz barədə deyil.
Təklifi şlüzün sənədləşməsindən və ya onun canlı mərhələ-1 və mərhələ-2 parametrlərindən köçürün və yalnız şlüz rədd etdiyi çevrilmələri qeyd edərkən bir dəfəyə bir sahəni dəyişin. Beş sahəni gəzmək təsadüfən işləyən bağlantı və növbəti şəxsə heç nə izah etməyən qeyd yaradır.
Uğursuzluğu mərhələyə görə oxuyun, xəta mətninə görə deyil
789 müştəri dialoqunda hamısı eyni görünən kodlar ailəsinə aiddir. Kodu profili yenidən toxunmadan əvvəl aid olduğu mərhələ ilə tutuşdurun:
| 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 |
Burada iki etimad rolu vacibdir. Əvvəlcədən paylaşılmış açar və ya sertifikat tərəfləri bir-birinə autentifikasiya edir, MSChapv2 və ya EAP isə tunelin içində sizi autentifikasiya edir. İstifadəçi parolunu sıfırlamaq birincini, yeni ortaq sirr ikincini düzəldə bilməz və hər ikisini bir anda dəyişmək hansının yanlış olduğuna dair sübutu məhv edir.
Sertifikat yolunda, doğrulamayı yumşaltmağı düşünməzdən əvvəl müştəri saatını, etimad zəncirini və şlüzün gözlədiyi kimliyi yoxlayın. Doğrulamanı söndürmək görünən 789-u yanlış tərəfə güvənərək qoşulan bir tunelə çevirir və müştəridə heç nə bunun baş verdiyini sizə deməyəcək. Microsoft-un uzaq giriş xəta siyahısı kodların özləri üçün istinaddır və təhlükəsizlik qatı uğursuzluqlarını giriş uğursuzluqlarından ayırır.
Düzəldi deməzdən əvvəl hər iki tərəfdən yoxlayın
Profili geri oxuyun, lakin çıxışda təklifi gözləməyin. Get-VpnConnection adı, server ünvanını, tunel növünü, şifrələmə səviyyəsini və autentifikasiya metodunu bildirir və çevrilmələr barədə heç nə bilmir, ona görə geri oxuma girdinin mövcud olduğunu və düzgün hosta yönəldiyini təsdiqləyir:
Get-VpnConnection -Name "Contoso L2TP" |
Select-Object Name, ServerAddress, TunnelType, EncryptionLevel, AuthenticationMethod
Rəqəm əldə etmək üçün dialoqu deyil, əmr sətrini istifadə edin: rasdial "Contoso L2TP" interfeysin qaytaracağı eyni uğursuzluq kodunu qaytarır və rasdial "Contoso L2TP" /disconnect onu cəhdlər arasında təmizləyir. Sonra həmin cəhd üçün şlüz tərəfini oxuyun. strongSwan ipsec statusall və ya marşrutlaşdırıcı IKE jurnalı hansı təklifin gəldiyini və hansının rədd edildiyini bildirir və bunu cmdlet dəyərləri ilə müqayisə etmək iki tərəfin razılaşdığını həqiqətən sübut edən yeganə addımdır.
Uğurlu qoşulma finiş xətti deyil. İstifadəçinin maraqlandığı tətbiqi açın, çünki marşrutlar, ötürülən DNS və split-tunnel parametrləri tunel qalxdıqdan sonra uğursuz olur və ümumiyyətlə heç bir xəta dialoqu yaratmır.
Avtomatlaşdırın və təmiz geri qaytarın
Nəzarətsiz quraşdırma bunu skriptləməyin səbəbidir və etimad məlumatlarının sızdığı yer dial mərhələsidir. rasdial onları öz əmr sətrində alır, burada digər yerli istifadəçilər və əksər jurnal toplayıcıları onları oxuya bilər:
subprocess.run(["rasdial", "Contoso L2TP"], check=True)
Etimad məlumatını işi icra edən hesabla məhdudlaşdırmağa və ya profilin onu -RememberCredential ilə saxlamasına üstünlük verin, parolu planlaşdırılmış tapşırıqda arqument kimi ötürməkdənsə. Quraşdırma əmrlərinin özü -Force ilə təkrarlanmaq üçün təhlükəsizdir, lakin köhnə təklifin üstünə rahatlıqla yazacaqlar, ona görə yenidən icra yalnız skript cari dəyərləri daşıyırsa kömək edir.
Profillər yenidən başlatmalardan keçir və qurulduqları şlüz konfiqurasiyasından daha uzun yaşayır. Şlüz təklifi dəyişdikdə, üstünə ikinci dəyər dəsti qatmaq əvəzinə girdini silin və yenidən yaradın: Remove-VpnConnection -Name "Contoso L2TP" -Force, sonra iki cmdlet-i yeni dəstlə təkrarlayın.
Dövrəni skriptin yanında yaşayan dörd yoxlama ilə bağlayın: Get-VpnConnection gözlənilən tunel növünü və şifrələmə səviyyəsini göstərir; şlüz müştəri ünvanınız üçün tamamlanmış mərhələ 1 və mərhələ 2 qeyd edir; rasdial uğur qaytarır və tətbiq açılır; və skriptdə qeydə alınan təklif cari şlüz parametrinə uyğun gəlir. Növbəti 789 gəldikdə, bu müqayisə bir günortadan sonra əvəzinə dəqiqələr çəkir.