Tətbiq VPN işləyərkən işləməməlidir: bunu nə təmin edir
Tunel qalxmışkən tətbiqi dayandırmaq kill switch deyil. Rejim dəyişikliyinin kimə aid olduğunu, yenidən başlatmanı nəyin blokladığını və systemd-nin nə edə bilib-bilmədiyini müəyyənləşdirin.
Kill switch-lər və üst-üstə düşməmə qaydaları əks istiqamətlərə işarə edir və bu, adi VPN parametrlərinin ikincisini heç vaxt ifadə etməməsini izah edir. Kill switch aşağı düşmüş tunelə reaksiya verir, bu tələb isə qalxmış tunelə reaksiya verir və tətbiqi kənarda saxlayır. Bir dizayn qərarı bunun çoxunu həll edir: tətbiq dayandırılır, başlamasına mane olunur, yoxsa sadəcə şəbəkə girişindən məhrum edilir. Firewall qaydasına və ya proses öldürmə dövrəsinə əl atmaqdan əvvəl bu qatı seçin, çünki müşahidə ilə tətbiq edilən qayda hər işə salmada bir pəncərə buraxır.
Mif: kill switch proqramların başlamasının qarşısını alır
Kill switch-lər trafik nəzarətidir və bunu açıq deyirlər: tunelin vəziyyətinə görə paketlərə icazə verir və ya onları rədd edirlər. Heç biri proqramın başlamasından imtina etmir və heç biri hansı icra faylının soket açdığını yoxlamır. Masaüstü qısayolu, planlaşdırılmış tapşırıq və fon köməkçisi tətbiqin adını bilən heç nədən keçmədən şəbəkəyə çatır. Bu iki mexanizm arasındakı məsafə çaşqınlığın çoxunun yaşadığı yerdir.
Proqramın başlaya biləcəyini həqiqətən həll edən quruluş tətbiq nəzarətidir. Windows-da bu AppLocker və ya WDAC deməkdir, idarə olunan macOS-da isə cihaz profili ilə tətbiq edilən icazə siyahısı deməkdir. Hər ikisi tuneldən asılı deyil, buna görə iki tələb eyni biletdə birləşdirilir və sonra heç biri ilə ödənilmir.
Alətin adını çəkməzdən əvvəl rejimin adını çəkin
Qaydanı üç vəziyyətli dövlət maşını kimi yazın: adi istifadə, VPN iş sessiyası və çıxış. Qadağan olunmuş üst-üstə düşmə orta vəziyyətə aiddir, müştəri proqramına yox.
Vəziyyəti dəyişən şəxs sıra ilə üç hərəkətə sahibdir: tətbiqin işini bitirmək, onun normal bağlanmasını tələb etmək və tunel qalxmazdan əvvəl nüsxənin getdiyini təsdiqləmək. Sıralama digər tərəfdə də vacibdir, çünki əvvəl qoşulan və proqramı sonra dayandıran VPN artıq üst-üstə düşməyə icazə verib. Əgər tələb bağlantının qurulmasını əhatə edirsə, qoşulma göstəricisini gözləmək gecdir.
İkitərəfli konflikt əslində nə edir
Həqiqətən systemd tərəfindən idarə olunan iki xidmət üçün Conflicts= simmetrikdir: birini başlatmaq digərini dayandırır. vahid sənədi bu davranışı sənədləşdirir və biri digəri başlamazdan əvvəl dayanmağı bitirməlidirsə, ayrıca açıq sıralama tələb edir. Belə sıralama qeydləri olmadan dayanma və başlama yarışır və nəticə vaxtdan asılı olur.
Bu qadağan siyahısı deyil. Asılılığı tərs qoşun və tətbiqin başlaması əvəzində VPN-i dayandırar, bu da tunelin gözlənilən anda özbaşına qopması zamanı şübhələnməli olduğunuz nasazlıqdır. Masaüstü tətbiq systemd vahidi deyil, NetworkManager bağlantısı da vahid deyil, buna görə bu naxış yalnız özünüz əhatə etdiyiniz xidmətlər üçün işləyir.
Yalnız ilk işə salmanı deyil, keçidləri yoxlayın
Dörd keçid tələbin qüvvədə qalıb-qalmadığını həll edir: sessiyaya tətbiq işləyərkən daxil olmaq, sessiya ortasında onu yenidən başlatmaq, uğursuz VPN başlanğıcı və qəsdən ayırma. Hər birini sınayın və nəticəni vahid fayllarının yanında saxlayın. Aşağıdakı əmrlər cari əlaqəni oxuyur və sonra ən vacib keçidi tətbiq edir.
systemctl show work-vpn.service -p Conflicts -p After
systemctl start work-vpn.service
systemctl is-active office-sync.service
nmcli connection show --active
Üçüncü əmr tətbiqi qeyri-aktiv qoymalı, dördüncü isə sessiya işləyərkən yalnız tunel bağlantısını göstərməlidir. Fərqli nəticə keçidin heç tətbiq olunmadığını bildirir.
Sessiya zamanı yenidən başlatma qapaq əsaslı dizaynı üzə çıxaran haldır, çünki masaüstündən başladılan qısayol heç vaxt başladıcı skriptinə müraciət etmir. Əgər bu yan keçmə vacibdirsə, tətbiqetmə tətbiq nəzarətinə aiddir, VPN müştərisinə yox. Sessiyanın sonunu da sənədləşdirin və daxil olarkən dayandırılmış hər prosesi yenidən açmaqdansa, qəsdən davam etməyə üstünlük verin. Hər keçidin nəticəsini vahid fayllarını saxlayan eyni qeyddə yazın.