23 saatlıq VPN xatırlatması niyə yanlış sessiya üçün işə düşür
23 saatlıq bildiriş hesaba deyil, bir sessiyaya bağlı olmalıdır. Taymeri başlayan bağlantıya bağlayın və yuxu ilə yenidən qoşulmanı ayrı hallar kimi qəbul edin.
Bildiriş qoşulduqdan iyirmi dəqiqə sonra göründü. Altındakı sayğac keçən səhərdən, ya da hesab son dəfə doğrulandığı vaxtdan işləyirdi və xəbərdarlıqda hansının olduğu deyilmirdi. Əlamət budur: qarşınızdakı bağlantıdan başqa bir şeyə bağlanmış xatırlatma.
Həll daha yaxşı xəbərdarlıq deyil. Tələbin hansı saatı nəzərdə tutduğunu qərarlaşdırmaq, sonra taymeri həmin saatda mövcud olan obyektə bağlamaqdır.
Nə işə düşdü və nəyi sayırdı
Üç ehtimal olunan mənbə eyni mesajı verir. Təqvim qaydası sabit yerli vaxtda işləyir və tunellər haqqında heç nə bilmir. Müştəridəki sayğac hər hansı bağlantı qalxdıqca yığılır və yenidən qoşulmalara dözür. Şlüz siyasəti sessiyanı server tərəfində bitirir və əvvəlcə xəbərdarlıq göndərir.
Yalnız son ikisi sessiyadan bəhs edir və onlar da razılaşmır. Müştəri sayğacı yerli prosesin müşahidə etdiyini ölçür; şlüz isə doğruladığını və hesaba aldığını ölçür. Yuxu, şəbəkə dəyişikliyi və ya müşahidəçinin yenidən başlaması ikisini saatlarla ayıra bilər, buna görə də xəbərdarlıqla məcburi bitmə vaxtı bir-birindən uzaqlaşır.
Bir tələbin arxasında üç saat
Əvvəlcə həqiqətən istədiyiniz cümləni yazın. Şlüz bu bağlantını bitirməzdən əvvəl xəbərdarlıq etmək, bir günlük bağlantı vaxtından sonra xatırlatmaqla eyni tələb deyil. Bu sessiyanın 23 saat açıq olduğunu bildirməklə də eyni deyil. Hər variant başqa hadisəni adlandırır və ona başqa komponent cavab verməlidir.
Sonra məlumatın mövcud olub-olmadığını yoxlayın. Yerli başlama vaxt damğası serverdən asılı olmadan sessiyanın yaşını verir. Şlüz siyasəti qalan ömrü verir, amma yalnız şlüz bunu açıqlayırsa. İstifadə hesabatı müddəti sonradan verir, bu isə əvvəlcədən bildirişi idarə edə bilməz.
Taymeri sessiyaya bağlayın, hesaba yox
Əvvəlcə obyekti seçin. Bir hesab bir neçə cihaz və eyni vaxtda bir neçə sessiya saxlaya bilər, ona görə istifadəçi adına bağlanmış xatırlatma hansı bağlantının yaşa çatdığını deyə bilməz. Onu profilə və həmin aktivləşdirməyə bağlayın, aktivləşdirmə bitəndə gözləyən bildirişi ləğv edin.
| Evidence you can read | What it establishes | Where it misleads |
|---|---|---|
| Connection state changes to active | A session started now | Does not carry the gateway's own session identifier |
| Duration reported at disconnect | Total service time for that session | Arrives too late for any advance notice |
| Interim usage update | Time accounted up to that update | Staleness equals the update interval |
| Local timestamp taken at activation | Age of your observation | Resets whenever the observer restarts |
O cədvəl sizin öz bildiriş alətiniz üçün müqavilədir, heç bir müştərinin geri çağırış API-sinin təsviri deyil. Quraşdırılmış məhsulun bağlantı vəziyyəti üçün sənədləşdirdiyi hər şey bağlanmalı olduğunuz mənbədir; yalnız doğrulama hadisələrini açıqlayırsa, bunu açıq deyin və sessiya çıxarmaq əvəzinə daha qaba davranışı qəbul edin.
Qısa hədd ilə sınaqdan keçirin
Bir günlük taymeri bir günlük gözləmə ilə heç vaxt sazlamayın. Konfiqurasiya oluna bilən hədd əlavə edin, onu otuz saniyəyə qoyun və dörd keçidi sıra ilə işlədin: qoşul, gözlə, ayrıl, yenidən qoşul. Hər keçid dəqiq bir vəziyyət dəyişikliyi yaratmalı, yenidən qoşulma köhnəni miras almaq əvəzinə yeni son tarix planlaşdırmalıdır.
# current connection state and profile identity
nmcli -f GENERAL.STATE,GENERAL.CONNECTION connection show work
# the notifier unit you wrote: does it restart the deadline or resume it?
journalctl --user -u vpn-timer.service --since "-5 min" -o cat
İfadəyə deyil, vaxt damğalarına baxın. Əvvəlki sessiyanın başlama vaxtını daşıyaraq gələn bildiriş yanlış obyekti bağlamışdır, bir son tarix üçün iki dəfə gələn bildiriş isə göndərilmə bayrağının heç vaxt saxlanmadığını göstərir.
Yuxu, yenidən qoşulma və buraxılmış çatdırılma
Yuxu rejimi hər iki sadəlövh dizaynı pozur. Monoton geri sayım maşın yatarkən dayanır, divar saatına əsaslanan son tarix irəliləməyə davam edir və yuxu zamanı işə düşən taymer gec və ya heç çatdırılmır. Tələbinizin hansı davranışı istədiyini qərarlaşdırın, sonra maşını həddən keçərək yuxuya salın və təsdiqləyin.
Çatdırılma da eyni qayğıya layiqdir. Bildiriş göstərilə bilmirsə, onu növbəyə qoyun və nəhayət göstərməzdən əvvəl hədəf sessiyanın hələ də mövcud olduğunu yenidən yoxlayın; əks halda istifadəçi artıq bitmiş bağlantı barədə xəbərdarlıq alır. Məcburi əlaqə kəsilməsi və etimad məlumatlarının yenilənməsi bu yoldan kənarda qalır, çünki bağlantının taleyini səssizcə dəyişən xatırlatma bildiriş libasında bir siyasət qərarıdır.