Ilovani qayta ishga tushiring, menejerdan ulanish holatini so'rang — u uzilgan deb xabar beradi, holbuki tizim menyusi ishlayotgan tunnelni aniq ko'rsatib turibdi. Yoki saqlash chaqiruvi hech narsani tushuntirmaydigan xato qaytaradi, yoki umumiy sir tayinlangandan bir necha soniya o'tib yo'q deb e'lon qilinadi. Uch alomat, bitta mexanizm: menejer — bu tizim omboriga ko'rinish, va ko'rinish kimdir uni yuklamaguncha bo'sh o'qiladi.

Bularning birortasini tuzatishdan oldin qaysi API dan foydalanishingiz kerakligini aniqlang. Tizimning IPsec yoki IKEv2 tunneli ichki menejerga mos keladi; tizim amalga oshirmaydigan protokol o'zingizning paket ishlovingiz bilan tunnel provayderini talab qiladi va maydonlarning hech qanday kombinatsiyasi buni o'zgartirmaydi.

Menejer omborga ko'rinishdir

Menejerni yarating yoki oling, undan sozlamalarini yuklashni so'rang va holatni o'qish yoki protokol sozlamalarini o'zgartirishdan oldin tugatish ishlovchisi tugashiga ruxsat bering. Vazifa saqlangan konfiguratsiyalarni sanash bo'lsa, bitta nusxani ikki maqsadga qayta ishlatish o'rniga barcha variantlar chaqiruvidan foydalaning. Yuklash kelgunga qadar holat odatda yaroqsiz bo'ladi va yaroqsizni o'chirilgan deb qabul qilish — ilovani faqat qayta ishga tushirgandan keyin noto'g'ri ko'rsatadigan aynan o'sha xato.

Yozish ham xuddi shu tartibda. Hech narsa yuklamagan menejerga saqlash urinishi foydali xabarsiz muvaffaqiyatsiz bo'lishi mumkin, chunki o'zgartirish qo'llaniladigan saqlangan shaxs yo'q. Yuklang, o'zgartiring, saqlang, so'ng holatni qayta o'qing. Tizim ulanadigan obyekt — saqlangan profil, xotirada tahrirlayotganingiz emas.

Holat o'zgarishlari faqat kuzatayotganingizda keladi

Sozlamalar yuklangach holat uzilgan, ulanmoqda, ulangan, qayta tasdiqlash va uzilish bosqichlaridan o'tadi. Interfeysni bitta o'qish bilan ishga tushiring, so'ng taymer bilan so'rov yuborish o'rniga o'zgarish bildirishnomasini tinglang. So'rov oldingi planda ishlaydi va orqa planda yolg'on gapiradi, shu bilan ilovalar hech qachon hal bo'lmaydigan aylanma ko'rsatkich bilan qoladi.

Bildirishnomalar faqat ilova oldingi planda bo'lganda keladi. Holatni orqa planda ushlab turadigan har qanday narsa qayta ishga tushirgandan keyin eskirgan ko'rinadi, shuning uchun ishga tushirishda va ilova oldingi planga qaytganda yangilang. Agar tunnel provayderga tegishli bo'lsa, uni mos sessiya obyekti orqali boshqaring; oddiy ulanish xossasi provayderning hayot tsiklini modellashtirmaydi.

Sirlar — havolalar, satrlar emas

Umumiy sir yo'qligi haqidagi xabar uni hech kim tayinlamaganini kamdan-kam bildiradi. Protokol obyekti havola talab qiladi: biri foydalanuvchi paroli uchun, biri IPsec oldindan umumiy kaliti uchun. nil uzatish yoki noto'g'ri kalit zanjiri yozuvidan olingan havolani uzatish bo'sh uya kabi bir xil shikoyat beradi. Xato alomatni nomlaydi va sababni yashiradi, shuning uchun odamlar bir sirni bir necha marta qayta kiritadilar.

Avval sirni oddiy parol elementi sifatida yozing, so'ng unga doimiy havolani qayta o'qing. Doimiy havola xotiradagi ko'rsatkichdan farqli ravishda qayta ishga tushirishdan keyin ham saqlanadi va profilda aynan shu seriyalanadi. Qurilma qulfi ochilgandan keyin ham kirishga ruxsat beradigan foydalanuvchanlik sinfini tanlang, aks holda qulflangan ekranda qayta ulanadigan tunnel to'liq yaroqli sir bilan ham autentifikatsiyada muvaffaqiyatsiz bo'ladi.

Kengaytmaning o'z kalit zanjiri ko'rinishi bor

Tarmoq kengaytmasi alohida jarayon, shuning uchun ilovaning standart kalit zanjiri kirishi unga yetib bormaydi. Ikkala maqsadga o'z huquqlarida bir xil kalit zanjiri kirish guruhini bering, elementni bir marta o'sha guruh ichida saqlang va har bir jarayon uni o'qishiga ruxsat bering. Guruhsiz kengaytma hech narsa topmaydi va ilova takrorlay olmaydigan hisob ma'lumotlari xatosini xabar qiladi.

Agar provayder o'z konfiguratsiya obyekti orqali sozlansa, sirni ilova ichiga ham joylashtirmang. Ikki nusxa uzoqlashadi va bu uzoqlashuv takror emas, yomon hisob ma'lumotlari sifatida ko'rinadi. Boshqa holatni xabar qiladigan vidjet yoki ikkinchi jarayon ham xuddi shu izohga ega: har biriga guruh kerak va har biri o'qishdan oldin sozlamalarni yuklashi kerak.

API ni protokolga moslang

Ichki menejer IPsec va IKEv2 protokol obyektlarini olib yuradi. Qo'shimcha maydonlar orqali u umumiy SSL VPN mijozi bo'lib qolmaydi va nomos profil toza saqlanib, baribir hech qachon ulanmasligi mumkin. Holatni tekshirishdan oldin qaysi toifada ekanligingizni aniqlang, chunki holat xatosi va qo'llab-quvvatlanmaydigan protokol tashqaridan bir xil ko'rinadi.

Keyingi qayta ishga tushirish uchun ro'yxat qisqa: sozlamalarni yuklang, holatni o'qing, o'zgarish obunalarini oldingi planda saqlang, havolalarni umumiy guruhdan qayta quring va protokol obyekti siz amalga oshirgan API ga mos kelishini tasdiqlang. Bu ro'yxatdan o'tish bir daqiqa oladi; u haqida taxmin qilish butun tushdan keyinni oladi.

O'xshash maqolalar