Mövcud VPN-i qoşan kiçik proqram yeni VPN tətbiqinə deyil, nəzarətçiyə ehtiyac duyur. Dəstəklənən mühərrik danışıqları və tunel trafikini idarə etməlidir; proqramınız istifadəçinin sorğusunu ifadə etməli və nəticəni dürüst izah etməlidir. Linux-da NetworkManager D-Bus interfeysi həmin nəzarətçiyə əməl ediləsi konkret model verir.

Dörd yoxlama nəzarətçinin saxlanmış profili, aktivləşdirmə sorğusunu və işləyən sessiyanı qarışdırmasının qarşısını alır.

Birinci yoxlama: hansı şəxsiyyət seçilir

Profil UUID-ni daimi şəxsiyyət kimi saxlayın və obyekt yoluna ehtiyac duyduqda onu menecer vasitəsilə həll edin. Bir göstərilən ad iki profil tərəfindən paylaşıla bilər və işləmə vaxtı avtobus yolu saxlamaq üçün məntiqli istifadəçi seçimi deyil. Seçimi öz konfiqurasiyanızda yazın, siyahıda hansı girişin ikinci olduğu barədə şərhdə deyil.

Menecerin nə qaytardığını uyğunluq adlandırmazdan əvvəl yoxlayın. Artıq mövcud olmayan UUID axtarış uğursuzluğu yaradır ki, bu da mövcud olan və aktivləşməkdən imtina edən profildən fərqli kod yoludur.

İkinci yoxlama: aktivləşdirmə çağırışı nə qaytarır

Sənədləşdirilmiş aktivləşdirmə çağırışı mövcud bağlantı obyekt yolu, cihaz yolu və konkret obyekt alır. O, aktiv bağlantı yolu qaytarır və bu cavab hazırlıq nəticəsi deyil, tutacaqdır. Tətbiqinizin hazır bayrağını qaytarılan dəyərdən qurmayın; əvəzində aktiv bağlantının vəziyyətinə və səbəbinə abunə olun.

VPN üçün konkret obyekt aktiv əsas bağlantını seçir. Kök yolu ötürmək cihaz seçimini NetworkManager-ə verir və o, hazırda standart olan cihazı seçir. Bu, şifrə sahəsi deyil, marşrut konteksti qərarıdır və tunelin hansı cihaz üzərində qurulduğunu dəyişir.

Ümumi əlavə et və aktivləşdir nümunəsini götürüb onun VPN profili yaradacağını gözləməyin. Sənədləşdirilmiş köməkçi VPN bağlantılarını istisna edir, ona görə profilin təmin edilməsi və ya idxalı ayrı, nəzərdən keçirilmiş addımdır. Bu vacibdir, çünki təminat qoşulma düyməsinin malik olmadığı icazə və nəzərdən keçirmə tələb edir. İdxalı öz jurnal sətri və öz təsdiqləyicisi olan inzibati əməliyyat kimi qəbul edin.

Üçüncü yoxlama: vəziyyət necə təqdim olunur

Aktiv bağlantı aktivləşdirmə, aktiv, deaktivləşdirmə və deaktiv mərhələlərindən keçir və səbəb sahəsi bunun niyə baş verdiyini deyir. Bütün bunları loggedIn adlı Boolean daxilində sıxmaq istifadəçinin ehtiyac duyduğu və dəstəyin soruşacağı məlumatı itirir. Ən azı bağlantının gözləmədə, qurulmuş və ya getmiş olduğunu göstərin və uğursuzluq halı üçün səbəb sətrini saxlayın.

Asinxron cavabları onları yaradan sorğu ilə əlaqələndirin. Köhnə cəhdin gec tamamlanması daha yeni istifadəçi əməliyyatının üzərinə yazmamalıdır və təkrar Connect basması ya nəzərə alınmamalı, ya da görünən siyasətlə ləğv et və yenidən cəhd kimi qəbul edilməlidir.

Dördüncü yoxlama: yenidən başlatmadan sonra nə olur

Menecer yenidən başladıqda və ya nəzarətçiniz avtobusa yenidən qoşulduqda, müşahidə olunan vəziyyəti sahibdən yenidən qurun. Köhnə obyekt yolu hələ yaddaşda olduğu üçün keşlənmiş sessiyanı aktiv kimi göstərməyə davam etməyin. Vəziyyət dəyişmə siqnalları məhz nəzarətçinin təxmin etmək əvəzinə yenidən sinxronlaşdırması üçün mövcuddur.

Nəzarətçini bağlamağın nə demək olduğunu seçin. Mövcud maşına məxsus bağlantını açıq saxlamaq doğru ola bilər və qəsdən qısa ömürlü sessiyanı sökmək də doğru ola bilər. Mövcud maşına məxsus bağlantını açıq saxlamaq doğru ola bilər; qəsdən qısa ömürlü sessiyanı sökmək də doğru ola bilər. Bu sahiblik müqaviləsini prosesin çıxmasının şəbəkə əməliyyatını yerinə yetirdiyini fərz etmək əvəzinə interfeysə yazın. İstifadəçilər pəncərəni bağlamağın tunellərini kəsib-kəsməyəcəyini təxmin etməməlidir. Cavabı yalnız kod şərhində deyil, interfeys mətnində qoyun.

Səlahiyyəti və sirləri sahibləri ilə saxlayın

İcazələr bəli, auth və ya xeyr kimi qayıdır və interfeys icazə verilmiş, autentifikasiyadan sonra icazə verilmiş və rədd edilmiş arasındakı fərqi əks etdirməlidir. Nəzarətçini root kimi işlətmək icazə siyasəti tətbiq etmir; o, sualı aradan qaldırır.

Etimad məlumatları konfiqurasiya edilmiş autentifikasiya metodu üçün dəstəklənən sirr agentinə və ya müştəri inteqrasiyasına aiddir. Mənbədə, arqumentdə və ya jurnalda parol bir tapıntıdır və yerli inzibati səlahiyyət şlüz autentifikasiyası ilə eyni hadisə deyil.

Nəhayət, bağlantı vəziyyətini istifadəçinin yerinə yetirmək istədiyi vəzifədən ayrı bildirin. Şəxsi ad və ya tətbiq əlçatmaz qalarkən tunel aktiv ola bilər və bu ikinci uğursuzluq öz mesajına və öz statusuna layiqdir. Hansı qatın uğursuz olduğunu dəqiq deyən nəzarətçi VPN-in söndüyünü deyəndən daha faydalıdır.

Əlaqəli məqalələr