Кез келген параметр өзгерісінің алдында төрт сұрақ тұр: клиент белсенді кезде сол ресурс жұмыс істей ме, бос тұру кезеңі қанша ұзақ болды, құрылғы ұйықтады ма әлде желіні ауыстырды ма, және ақау тек қарсы жақ бастаған трафикте ғана көріне ме. Жауаптар мерзімі өткен NAT бейнелеуін ұйықтаған радиодан және ескірген қолданбадан ажыратады. Олар сондай-ақ keepalive-тің жалпы қатысы бар-жоғын айтады. Бағыттан бастаңыз, себебі ол бір командаға тұрады және ықтимал себептердің жартысын жояды.

Қай бағыт істен шығады?

Клиенттің жаңа шығыс сұрауы және тыныш кезеңнен кейін оған қарай келетін трафик күйі бар жабдықты түрліше сынайды. Шығыс пакеттер шығар кезде бейнелеуді қайта құрады, ал кіріс пакеттерге ескі бейнелеудің аман қалуы қажет. Осы асимметрия — бүкіл тест. Егер клиент сыртқа шыға алса, бірақ ішке ештеңе келмесе, бейнелеу мерзімі өткен болуы ықтимал, ал екеуі де жұмыс істемесе, туннель немесе клиенттің желіге қатынасы жоғалған.

Тыныш кезең қанша созылғанын және құрылғы ұйықтады ма әлде осы арада басқа желіге көшті ме, жазып алыңыз. Осы екі факт кез келген параметрден бұрын диагностиканы өзгертеді.

wg show wg0 latest-handshakes
wg show wg0 endpoints
wg show wg0 transfer

Тыныш кезеңнің алдында және кейін осы үшеуін іске қосыңыз, себебі әрқайсысы сұрақтың өзге бөлігіне жауап береді. Қозғалмаған handshake уақыт белгісі тараптар сөйлеуді тоқтатқанын айтады, ал өзгерген соңғы нүкте бейнелеудің өлгенін емес, жылжығанын айтады. Тасымалдау санағыштары жалпы бірдеңе келді ме, соны көрсетеді, және бұл ескірген бейнелеу мен үнсіз қолданбаның айырмашылығы. Сандарды екі нүктеде де жазыңыз, себебі салыстыру — дәлел.

Ұйқы, радио және қолданба күйі

Телефонда немесе ноутбукта ұйықтаған құрылғы желіге қатынасты толық жоғалтуы мүмкін, ал keepalive өшірілген радионы қалпына келтіре алмайды немесе орындалмаған captive portal-ды аяқтай алмайды. Мобильді платформалар фондық жұмысты саясат бойынша тоқтатады, сондықтан мерзімді трафиктің жалғасуы платформаға және қолданбаның онымен келіскеніне байланысты. Кэштелген қосылым — үшінші жағдай және ең адастырарлығы, себебі туннельдің қайтуы қолданбаның оған қайта қосылуымен бірдей емес.

Бос тұрудан кейін ашық қалған қойындыға сенудің орнына қолданбаны қайта ашыңыз. Ескі сессия сәтсіз болған жерде жаңа сұрау сәтті болса, туннель ешқашан мәселе болмаған.

keepalive шын мәнінде не істейді

PersistentKeepalive әріптеске мерзімді түрде аутентификацияланған бос пакет жібереді, бұл әріптестер арасында NAT бейнелеуін тірі ұстауға және қарсы жақтың соңғы нүктесін өзекті ұстауға жетеді, WireGuard-тың жылдам бастауы сипаттағандай. Ол ұйықтаған радионы, жоғалған маршрутты немесе ешқашан қайта көрмейтін қолданбаны жөндемейді. Аралықты қолдау көрсетілетін клиент параметрлері арқылы таңдаңыз және тек күй индикаторы үнсіз қалды деп барлық жерде агрессивті мәнді қоспаңыз.

Бос тұру кезеңдерінің көбісі ақау емес. Бес минут үнсіздіктен кейін қайта қосылатын туннель дұрыс әрекет етеді, ал мәселе тек қарсы жақтан бірдеңе келуі тиіс болған жағдайда.

Бұрын сәтсіз болған аралықты күтіңіз

Бір қолдау көрсетілетін өзгеріс жасаңыз, содан кейін сол ресурсты қайта тексермес бұрын дәл сол бос тұру кезеңі өтсін. Күту тесттің бөлігі, рәсім емес. Қайта қосылғаннан кейінгі бірден сәттілік ұзақ бос тұру симптомы туралы ештеңе айтпайды, себебі қайта қосылу — күйді қайта орнататын дәл сол оқиға. Егер мәселе белсенді пайдалану кезінде де пайда болса, көбірек мерзімді трафик қосудың орнына handshake және деректер жолын тексеруге оралыңыз.

Әр тестте бір өзгерісті сақтаңыз және пайдаланылған бос тұру ұзақтығын жазыңыз. Онсыз әр кейінгі салыстыру сырғып кетеді және қай өзгерістің маңызды болғанын ешкім айта алмайды. Төрт фактіні бірге жазыңыз: бағыт, ұзақтық, ұйқы күйі және қолданбаның мінез-құлқы.

Қатысты мақалалар