keepalive — бұл қайта қосылу емес: өз ақауыңызға қарай таңдаңыз
Бір пакет карталауды тірі ұстайды; қайта қосылу қатынасты қайта құрады. Механизмді ақауға сәйкестендіріп, содан кейін нақты сұраныспен тексеріңіз.
keepalive пен қайта қосылу бір деммен конфигурацияланады, бірақ әртүрлі мәселелерді шешеді, сондықтан біреуін реттеу екіншісін сирек түзейді. keepalive күй жазбасын тірі ұстау немесе серіктестің жауап беруді тоқтатқанын байқау үшін шағын трафик жібереді. Қайта қосылу сынғанды бұзып, қатынасты қайта құрады, оның ішінде кілттер, мекенжайлар және маршруттар. Ақауға сай механизмді таңдаңыз, түймесін бұрыннан білетін механизмді емес. Бұны екі сұрақ шешеді: жол өлі ме, әлде серіктестер арасындағы бірдеңе оны ұмытып жатыр ма?
Карталау мәселе болғанда
Тек бірнеше минут үнсіздіктен кейін өлетін туннель әдетте серіктесті емес, аударма жазбасын жоғалтады. WireGuard-тың PersistentKeepalive NAT және фаервол күйі үшін бар, және жобаның өз жазбалары оны дәл осылай сипаттайды, денсаулық тексерісі ретінде емес. Бірнеше ондаған секундтық интервал жазбаны жылы ұстайды, ал әр секунд сайын пакет батарея шешімі, сенімділік шешімі емес. OpenVPN сол жерге ping және ping-restart арқылы жетеді, олар алдымен үнсіздікті байқап, сосын оған әрекет етеді.
Бұл параметрлер протоколдар арасында да алмаспайды. IKEv2-нің өлі серіктес саясаты, OpenVPN-нің ping таймері және WireGuard-тың keepalive бір сұраққа үш түрлі синтаксис және үш түрлі әдепкі мәнмен жауап береді, сондықтан олардың арасында санды көшіру реттеу киімін киген болжам.
Қатынас жоғалғанда
Егер серіктес мекенжайын ауыстырса, куәлік мерзімі бітсе немесе алыс жақ қайта іске қосылса, шағын пакеттер жөндеу емес. Қайта қосылу күйді қайта құруы керек : мекенжай алу, маршруттарды қайта орнату, кілттерді қайта келісу және кейбір орналастыруларда пайдаланушыны қайта аутентификациялау.
Қадағалаусыз қайта қосылатын клиенттер сертификат немесе сақталған құпия ұстайды. Адамнан сұрайтын клиент дәл ешкім жоқ кезде сәтсіздікке ұшырайды, және бұл қайта қосылудың маңызы болған сценарий. Бұл айлар бұрын қабылданған дизайн шешімі, үзіліс кезінде өзгертетін параметр емес.
Екеуі де нені дәлелдемейді
Туннель қайта қосылған, кілттері мен маршруттары бар болуы мүмкін, ал оның артындағы қызмет тоқтап тұр, және keepalive сервері сағаттар бұрын жоғалған сессия үшін карталауды ашық ұстай алады. Екі механизм де сізге шынымен маңызды нәрсе қолжетімсіз болғанда табыс туралы хабарлай алады.
Сондықтан тест нақты сұраныспен аяқталады. Сізге маңызды интервалдан кейін туннель арқылы бірдеңе жіберіңіз, содан кейін жобалаған ақауыңызды бөлек тудырыңыз: карталау жағдайы үшін бос тұру кезеңі, қайта қосылу жағдайы үшін қайта іске қосу немесе мекенжай өзгерісі.
Тікелей трафикті блоктау жеке шешім
Қайта қосылу циклі толық сау болуы мүмкін, ал қолданба үнсіз әдеттегі жолды пайдаланып жатса, бұл ақау емес, ағып кету. Егер талап туннельден тыс ештеңе шықпауы болса, оны клиент конфигурациясында анық айтыңыз және туннельді түсіріп, әлі не қосылып жатқанын бақылау арқылы дәлелдеңіз. Екі механизмнің ешқайсысы бұл мінез-құлықты білдірмейді және қайталау тәртібінің ешбір мөлшері оны орнатпайды.
Қай механизм жұмыс істегенін және кейін жаңа сұраныстың сәтті болғанын жазыңыз. Келесі инженерге дәл осы екі факт қажет, және олардың ешқайсысы күй белгішесінде көрінбейді. Клиент қайта қосылды деген журнал жолы жұмыс істеген сұраныспен бірдей емес.
Саясатты жазыңыз, тек санды емес
Жұпты бір сөйлемге салыңыз: бос тұру интервалы, тіршілік шегі, қайта құруды не тудырады , және қайталау кезінде клиент не істейді. Сол сөйлемсіз әрбір болашақ оқиға keepalive тым қысқа ма әлде қайта қосылу тым баяу ма деген дауды қайта ашады.
WireGuard-тың шектеулер туралы жазбалары keepalive-тың аралық құрылғылар үшін айналма жол екенін, жалпы тіршілік дизайны емес екенін еске салады. Ол шеше алмайтын мәселеге жауап ретінде жиілікті арттырмас бұрын сол шектеуді оқыңыз.