Эмне үчүн 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
Сөзгө эмес, убакыт белгилерине караңыз. Мурунку сессиянын башталуу убактысы менен келген билдирүү туура эмес объектке байланган, ал эми бир мөөнөткө эки жолу келген билдирүү жөнөтүлдү деген желеги эч качан сакталбаганын билдирет.
Уйку, кайра туташуу жана жоголгон жеткирүү
Уйку эки жөнөкөй долбоорду тең бузат. Монотондүү артка саноо машина уктап жатканда токтойт, дубал сааты боюнча мөөнөт кыймылдай берет, ал эми уйку учурунда иштеп кеткен таймер кеч же такыр жеткирилбейт. Талабыңызга кайсы жүрүм-турум керек экенин чечиңиз, анан машинаны чектен ашырып уктатыңыз да, ырастаңыз.
Жеткирүү да ошондой камкордукка татыктуу. Эгер билдирүүнү көрсөтүү мүмкүн болбосо, аны кезекке коюңуз жана акыркы жолу көрсөтүүдөн мурун максаттуу сессия дагы деле бар-жогун кайра текшериңиз; болбосо колдонуучуга мурун эле бүткөн туташуу жөнүндө эскертилет. Мажбурлап ажыратуу жана каттоо маалыматтарын жаңыртуу бул жолдон тышкары калат, анткени туташуунун тагдырын үнсүз өзгөрткөн эскертүү — билдирүү кийимин кийген саясат чечими.