რატომ ირთვება 23-საათიანი VPN შეხსენება არასწორი სესიისთვის
23-საათიანი შეტყობინება ერთ სესიას უნდა მიჰყვეს და არა ანგარიშს. მიამაგრეთ ტაიმერი იმ კავშირს, რომელიც დაიწყო, ხოლო ძილი და ხელახლა დაკავშირება ცალკე შემთხვევებად მიიჩნიეთ.
შეტყობინება გამოჩნდა დაკავშირებიდან ოცი წუთის შემდეგ. მის ქვეშ არსებული მთვლელი მუშაობდა წინა დილიდან, ან ანგარიშის ბოლო ავთენტიფიკაციიდან მოყოლებული, და გაფრთხილებაში არაფერი არ ამბობდა, რომელი. ეს არის სიმპტომი: შეხსენება, რომელიც თქვენ წინაშე არსებულ კავშირზე სხვა რამეზეა მიბმული.
გამოსწორება უკეთესი გაფრთხილება არ არის. ეს არის გადაწყვეტილება, რომელი საათი გულისხმობს მოთხოვნას, და შემდეგ ტაიმერის იმ ობიექტზე მიბმა, რომელიც ამ საათში არსებობს.
რა ჩაირთო და რას ითვლიდა
სამი სავარაუდო წყარო ერთსა და იმავე შეტყობინებას იძლევა. კალენდრის წესი მუშაობს ფიქსირებულ ადგილობრივ დროს და ტუნელების შესახებ არაფერი იცის. კლიენტში არსებული მთვლელი გროვდება მანამ, სანამ რომელიმე კავშირი აქტიურია, და გადაურჩება ხელახლა დაკავშირებებს. კარიბჭის პოლიტიკა სესიას სერვერის მხრიდან ამთავრებს და ჯერ გაფრთხილებას აგზავნის.
მხოლოდ ბოლო ორი ეხება სესიას და არც ისინი თანხმდებიან. კლიენტის მთვლელი ზომავს იმას, რაც ლოკალურმა პროცესმა დააფიქსირა; კარიბჭე ზომავს იმას, რაც მან ავთენტიფიცირა და აღრიცხა. ძილმა, ქსელის შეცვლამ ან დამკვირვებლის გადატვირთვამ შეიძლება ისინი საათობით გააშოროს, და ამიტომ გაფრთხილება და იძულებითი ვადის გასვლა ერთმანეთს შორდება.
სამი საათი ერთი მოთხოვნის უკან
დაიწყეთ იმ წინადადების ჩაწერით, რომელიც ნამდვილად გსურთ. გაფრთხილება მანამ, სანამ კარიბჭე ამ კავშირს დაასრულებს, არ არის იგივე მოთხოვნა, რაც ერთი დღის დაკავშირებული დროის შემდეგ შეხსენება. ეს ასევე არ არის იგივე, რაც შეტყობინება, რომ ეს სესია 23 საათია აქტიური. თითოეული ვერსია სხვადასხვა მოვლენას ასახელებს და სხვადასხვა კომპონენტმა უნდა უპასუხოს მას.
შემდეგ შეამოწმეთ, არსებობს თუ არა მონაცემები. ლოკალური დაწყების დროის ნიშა გაძლევთ სესიის ასაკს სერვერზე დამოკიდებულების გარეშე. კარიბჭის პოლიტიკა გაძლევთ დარჩენილ სიცოცხლეს, მაგრამ მხოლოდ მაშინ, თუ კარიბჭე ამხელს მას. გამოყენების ანგარიში გაძლევთ ხანგრძლივობას ფაქტის შემდეგ და ეს ვერ განაგებს წინასწარ შეტყობინებას.
მიამაგრეთ ტაიმერი სესიას და არა ანგარიშს
ჯერ ობიექტი აირჩიეთ. ანგარიშს შეიძლება ჰქონდეს რამდენიმე მოწყობილობა და რამდენიმე ერთდროული სესია, ამიტომ მომხმარებლის სახელზე მიბმული შეხსენება ვერ იტყვის, რომელი კავშირი მიაღწია ასაკს. მიამაგრეთ იგი პროფილს და იმ გააქტიურებას, ხოლო გააქტიურების დასრულებისას გააუქმეთ მოლოდინში მყოფი შეტყობინება.
| 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 |
ის ცხრილი თქვენი საკუთარი შემატყობინებლისთვის არის ხელშეკრულება და არა რომელიმე კლიენტის უკუგამოძახების API-ის აღწერა. რასაც დაყენებული პროდუქტი ადასტურებს კავშირის მდგომარეობის შესახებ, ის არის წყარო, რომელზეც უნდა მიბმა; სადაც ის მხოლოდ ავთენტიფიკაციის მოვლენებს ამხელს, ეს ხმამაღლა თქვით და მიიღეთ უფრო უხეში ქცევა სესიის დაშვების ნაცვლად.
შეამოწმეთ მოკლე ზღვრით
არასოდეს გამართეთ დღეზე გრძელი ტაიმერის გამართვა დღეზე გრძელი ლოდინით. დაამატეთ კონფიგურირებადი ზღვარი, დააყენეთ ის ოცდაათ წამზე და თანმიმდევრულად გაატარეთ ოთხი გადასვლა: დაკავშირება, ლოდინი, გათიშვა, ხელახლა დაკავშირება. თითოეულმა გადასვლამ ზუსტად ერთი მდგომარეობის ცვლილება უნდა მოგვცეს, ხოლო ხელახლა დაკავშირებამ ახალი ვადა უნდა დანიშნოს და არა ძველი დაიმკვიდროს.
# 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
უყურეთ დროის ნიშებს და არა ფორმულირებას. შეტყობინება, რომელიც წინა სესიის დაწყების დროით მოდის, არასწორ ობიექტზეა მიბმული, ხოლო შეტყობინება, რომელიც ერთ ვადაზე ორჯერ მოდის, ნიშნავს, რომ გაგზავნის დროშა არასოდეს შენახულა.
ძილი, ხელახლა დაკავშირება და დაკარგული მიწოდება
ძილი ორივე გულუბრყვილო დიზაინს ამტვრევს. მონოტონური ათვლა ჩერდება, სანამ მანქანა ძინავს, კედლის საათის ვადა აგრძელებს მოძრაობას, ხოლო ტაიმერი, რომელიც ძილის დროს ირთვება, გვიან ან საერთოდ არ მიდის. გადაწყვიტეთ, რომელი ქცევა სჭირდება თქვენს მოთხოვნას, შემდეგ გადაიყვანეთ მანქანა ძილში ზღვრის გავლით და დაადასტურეთ.
მიწოდება იმავე ზრუნვას იმსახურებს. თუ შეტყობინებას ვერ აჩვენებთ, ჩასვით ის რიგში და სანამ საბოლოოდ აჩვენებთ, კვლავ შეამოწმეთ, რომ სამიზნე სესია ჯერ კიდევ არსებობს; თორემ მომხმარებელი გაფრთხილდება უკვე დასრულებულ კავშირზე. იძულებითი გათიშვა და სერტიფიკატის განახლება ამ გზის გარეთ რჩება, რადგან შეხსენება, რომელიც ჩუმად ცვლის კავშირის ბედს, შეტყობინების სამოსში ჩაცმული პოლიტიკის გადაწყვეტილებაა.