Туннельде үш түрлі нәрсе дұрыс болмауы мүмкін және олар үш түрлі жауап талап етеді. Серіктес жауап беруді тоқтатады, демон процесі өледі немесе туннель артындағы қолданба қызмет көрсетуді тоқтатады. Осылардың кез келгенінде қызметті қайта іске қосатын конфигурация мұқият қадағалау емес; ол байланысы жоқ ақауларға қолданылатын бір дөрекі әрекет. Әр механизмнің іс жүзінде нені байқай алатынын салыстыру еңбек бөлінісін айқын етеді.

Бір сияқты көрінетін үш ақау

Серіктестің үнсіздігі екінші жақ жіберуді тоқтатқанын білдіреді және OpenVPN мұны өзі анықтай алады, себебі жүрек соғысы өзінде. Процестің өлуі демон шыққанын білдіреді, оны қызмет менеджері байқайды, ал OpenVPN байқай алмайды. Қолданба ақауы туннель дұрыс, ал оның артындағы бірдеңе дұрыс емес дегенді білдіреді және қалған екі механизмнің ешқайсысында мұны білуге жол жоқ. Әрқайсысы басқа жауап талап етеді және олардың ешқайсысы туннельдің жұмыс істеп тұрғанын байқаумен бірдей емес.

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

Кез келген таймерді өзгертуден бұрын үш жағдайды жазып шығыңыз. Тізімнің өзі әдетте бір механизмнен үшеуін де жабу сұралып отырғанын көрсетеді.

keepalive іс жүзінде неге кеңейеді

keepalive директивасы қысқарту және кеңею режимге қарай әртүрлі. Серверде keepalive 10 60 әр он секунд сайын жергілікті ping, 120 секундтық жергілікті қайта іске қосу мерзімі және клиенттерге жіберілетін 10 мен 60 мәндеріне айналады. Сервер мерзімі әдейі екі еселенеді, сонда клиент сервер бас тартпас бұрын қайта іске қосуға мүмкіндік алады. Профильдегі қысқартуды емес, жұмыс істеп тұрған конфигурациядағы кеңейтілген пішінді оқыңыз.

Осы екі еселеу себебінен екі жақ та алпыс секундтан кейін қайта іске қосылады деген кез келген сипаттама қате. Ол жол нашарлағанда екі жақтың неге бірге тербелмейтінін де түсіндіреді.

Жүрек соғысы — OpenVPN серіктес трафигі, қандай да бір ашық хосттың ICMP тексерісі емес. Жауап туннельдің алыс жағы тірі екенін ғана дәлелдейді. Ол пайдаланушыға шынымен қажет дерекқор немесе веб-қызмет туралы ештеңе айтпайды.

Restart=on-failure нені қадағаламайды

Қайта анықтау қоспас бұрын орнатылған юнитті оқыңыз. Restart=on-failure құжатталған процесс ақауы шарттарына жауап береді, бұл байланыс күйін қадағалаумен бірдей емес. Ол ішкі қайта қосылу басталғаны үшін іске қосылмайды және таза шығудың апаттан өзге мағынасы бар.

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

RestartSec және іске қосу шектеулерін әдейі қойыңыз, әйтпесе апаттар циклі шлюзді соғып, нақты қатені қайта іске қосу хабарламаларының астына көмеді. Іске қосылған қайта іске қосу шегі юнитті ақаулы күйде қалдырады, бұл көрінеді, ал шексіз цикл көрінбейді.

ping-restart және ping-exit өзара алмастырылмайды

ping-restart OpenVPN-тің ішкі қайта іске қосылуын тудырады және процесті сақтайды. ping-exit процесті сол типтегі мерзімде аяқтайды, бұл шешімді қызмет менеджеріне тапсырады. Олар бірін-бірі жоққа шығарады және екіншісін таңдау қалпына келтіру кімге тиесілі екенін өзгертеді. Айырмашылық — қайта көруді кім шешеді және әрекеттен қанша күй аман қалады.

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

Әр орналастыру үшін бір өмірлік цикл таңдап, себебін жазыңыз. Екі директиваны да алып жүрген профиль — шешім қабылдамаған профиль.

Әр ақауды жеке жағдай ретінде сынаңыз

Мақұлданған терезеде үнсіз серіктесті, өлтірілген демонды және қолжетімсіз қолданбаны имитациялаңыз, сосын қай қалпына келтіру іске қосылғанын тексеріңіз. Үнсіз серіктес ішкі қайта қосылуды, өлтірілген процесс юниттің қайта іске қосылуын, ал қолданба үзілісі олардың ешқайсысын бермеуі керек. Екі жағдай бір әрекет берсе, иелік әлі аралас.

Қайталанатын қалпына келтіру де жөндеу емес. Қабылданбаған тіркелгі деректері немесе бір тиімді атауды бөлісетін екі клиент бірін-бірі ауыстыра береді және жылдамырақ таймерлер сол тербелісті тек жылдамдатады.

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