Mavjud VPN ni ulaydigan kichik dasturga yangi VPN amalga oshirilishi emas, kontroller kerak. Qo'llab-quvvatlanadigan dvigatel muzokaralar va tunnel trafigini bajarishi kerak; dasturingiz foydalanuvchi so'rovini ifodalashi va natijani halol tushuntirishi kerak. Linux da NetworkManager D-Bus interfeysi o'sha kontrollerga amal qilish mumkin bo'lgan aniq model beradi.

To'rt tekshiruv kontrollerni saqlangan profil, faollashtirish so'rovi va ishlab turgan sessiyani chalkashtirishdan saqlaydi.

Birinchi tekshiruv: qaysi o'zlik tanlanadi

Profil UUID sini doimiy o'zlik sifatida saqlang va obyekt yo'li kerak bo'lganda uni menejer orqali hal qiling. Ko'rsatiladigan nomni ikki profil bo'lishishi mumkin, va ish vaqtidagi avtobus yo'li saqlash uchun oqilona foydalanuvchi sozlamasi emas. Tanlovni o'z konfiguratsiyangizga yozing, ro'yxatda qaysi yozuv ikkinchi bo'lgani haqidagi izohga emas.

Uni moslik deb atashdan oldin menejer nima qaytarishini tekshiring. Endi mavjud bo'lmagan UUID qidiruv xatosi hosil qiladi va bu mavjud bo'lib, faollashishdan bosh tortadigan profildan boshqa kod yo'li.

Ikkinchi tekshiruv: faollashtirish chaqiruvi nima qaytaradi

Hujjatlashtirilgan faollashtirish chaqiruvi mavjud ulanishning obyekt yo'lini, qurilma yo'lini va aniq obyektni oladi. U faol ulanish yo'lini qaytaradi va bu javob tayyorlik natijasi emas, dastadir. Dasturingizning tayyorlik bayrog'ini qaytarilgan qiymatdan o'rnatmang; buning o'rniga faol ulanishning holati va sababiga obuna bo'ling.

VPN uchun aniq obyekt faol asosiy ulanishni tanlaydi. Ildiz yo'lini uzatish qurilma tanlovini NetworkManager ga qoldiradi, u o'sha paytda standart bo'lganini tanlaydi. Bu parol maydoni emas, marshrutlash konteksti qarori va tunnel qaysi qurilma ustiga qo'yilishini o'zgartiradi.

Umumiy qo'shish-va-faollashtirish misolini olib, u VPN profili yaratadi deb kutmang. Hujjatlashtirilgan yordamchi VPN ulanishlarini chiqarib tashlaydi, shuning uchun profilni tayyorlash yoki import qilish alohida, ko'rib chiqilgan qadam. Bu muhim, chunki tayyorlash ulanish tugmasida yo'q ruxsat va ko'rib chiqishni talab qiladi. Importni o'z jurnal satri va o'z tasdiqlovchisiga ega ma'muriy harakat deb biling.

Uchinchi tekshiruv: holat qanday ifodalanadi

Faol ulanish faollashtirish, faol, o'chirish va o'chirilgan bosqichlaridan o'tadi va sabab maydoni nima uchun ekanini aytadi. Bularning barchasini loggedIn deb nomlangan mantiqiy qiymatga siqish foydalanuvchiga kerak va qo'llab-quvvatlash so'raydigan ma'lumotni yo'qotadi. Hech bo'lmaganda ulanish kutilayotganini, o'rnatilganini yoki yo'qolganini ko'rsating va muvaffaqiyatsizlik holati uchun sabab satrini saqlang.

Asinxron javoblarni ularni keltirib chiqargan so'rov bilan bog'lang. Eski urinishning kech tugashi yangiroq foydalanuvchi harakati ustiga yozmasligi kerak va Connect ni ikki marta bosish yo e'tiborsiz qoldirilishi, yo ko'rinadigan siyosat bilan bekor qilish va qayta urinish deb qaralishi kerak.

To'rtinchi tekshiruv: qayta ishga tushgandan keyin nima bo'ladi

Menejer qayta ishga tushganda yoki kontrolleringiz avtobusga qayta ulanganda, kuzatilgan holatni egasidan qayta quring. Eski obyekt yo'li hali xotirada bo'lgani uchun keshlangan sessiyani faol deb ko'rsatishni davom ettirmang. Holat o'zgarishi signallari kontroller taxmin qilish o'rniga qayta sinxronlashishi uchun aynan mavjud.

Kontrollerni yopish nimani anglatishini tanlang. Mashinaga tegishli mavjud ulanishni ochiq qoldirish to'g'ri bo'lishi mumkin va ataylab qisqa muddatli sessiyani buzish ham to'g'ri bo'lishi mumkin. Mashinaga tegishli mavjud ulanishni ochiq qoldirish to'g'ri bo'lishi mumkin; ataylab qisqa muddatli sessiyani buzish ham to'g'ri bo'lishi mumkin. Jarayon chiqishi tarmoq harakatini bajaradi deb taxmin qilish o'rniga o'sha egalik shartnomasini interfeysga yozing. Foydalanuvchilar oynani yopish tunnellarini uzadimi-yo'qmi deb taxmin qilmasligi kerak. Javobni faqat kod izohiga emas, interfeys matniga qo'ying.

Vakolat va sirlarni egalarida saqlang

Ruxsatlar ha, auth yoki yo'q shaklida qaytadi va interfeys ruxsat etilgan, autentifikatsiyadan keyin ruxsat etilgan va rad etilgan o'rtasidagi farqni aks ettirishi kerak. Kontrollerni root sifatida ishga tushirish ruxsat siyosatini amalga oshirmaydi; u savolni olib tashlaydi.

Hisob ma'lumotlari sozlangan autentifikatsiya usuli uchun qo'llab-quvvatlanadigan sir agenti yoki mijoz integratsiyasiga tegishli. Manba kodida, argumentda yoki jurnalda parol topilma hisoblanadi va mahalliy ma'muriy ruxsat shlyuzdagi autentifikatsiya bilan bir xil hodisa emas.

Nihoyat, ulanish holatini foydalanuvchi bajarmoqchi bo'lgan vazifadan alohida xabar bering. Shaxsiy nom yoki dastur mavjud bo'lmaganda tunnel faol bo'lishi mumkin va bu ikkinchi muvaffaqiyatsizlik o'z xabari va o'z holatiga loyiq. Qaysi qatlam muvaffaqiyatsiz bo'lganini aniq aytadigan kontroller VPN ishlamayapti deganidan foydaliroq.

O'xshash maqolalar