up және down ілмектерімен OpenVPN клиентінің жұмыс уақытын қалай өлшеуге болады
OpenVPN-де жұмыс уақытының санауышы жоқ. up ілмегінен epoch таңбасын сақтаңыз, down кезінде өшіріңіз, азайтыңыз және қайта іске қосулар мен даналар арасында дәл ұстаңыз.
Бақылау тақтасы қосылым қанша уақыттан бері қосулы екенін сұрайды, ал OpenVPN оны бермейді. Клиент туннелі қашан көтерілгенін біледі, бірақ сессия күйі жоғалмай тұрып біреу сол сәтті жазып қойса ғана. Қолдау көрсетілетін орын — up ілмегі, ал сақтауға тұрарлық мән пішімделген жол емес, шикі epoch секунды. Одан кейінгінің бәрі арифметика, қоса алғанда санның адал қалуын шешетін бірнеше реттік ереже.
Ілмектердің шынымен іске қосылатынын растаңыз
Оның айналасында бірдеңе жобаламас бұрын ілмектің іске қосылатынын дәлелдеңіз. Ең аз клиент конфигурациясына script-security 2 және айқын жолдар up мен down қажет; қауіпсіздік жолы болмаса OpenVPN скриптті орындаудан бас тартады және мұны анық айтады. Бір уақытта up-restart мен down-pre қосыңыз, сонда қайта іске қосу мен бөлшектеу жолдары болжамды түрде әрекет етеді.
Ілмектің бірінші нұсқасын өз ортасын файлға қосатын және басқа ештеңе жасамайтын етіп жасаңыз. Бұл сізге құрастыруыңыз шынымен экспорттайтын айнымалы атауларын көрсетеді, мысалы dev мен script_type, басқа нұсқадан есте қалған атаулардың орнына. Бір қосылым мен бір ажыратуды іске қосыңыз, содан кейін файлды оқыңыз. Егер ештеңе көрінбесе, осы жерде тоқтаңыз, өйткені ешқашан іске қосылмайтын ілмекке салынған уақыт таңбасының жобасы апталар бойы мониторинг ақауы сияқты көрінеді.
Ілмектің қай пайдаланушы ретінде жұмыс істейтінін тексеріңіз. user мен group орнатылған кезде OpenVPN скрипттерді іске қоспас бұрын артықшылықтардан бас тартады, сондықтан root жаза алатын каталог ілмек үшін жабық болуы мүмкін. Жолды өз shell-іңіздің емес, қызметтің көзқарасынан таңдаңыз.
Бір epoch мәнін жазып алыңыз және оны әдейі өшіріңіз
up ілмегіне бір жол қажет, date +%s > /run/openvpn-client.started, жол әр дана үшін бейімделген. Epoch мәні кейін тіл, уақыт белдеуі және пішім сұрақтарын болдырмайды, және бұл мониторинг агенті өз сағатымен салыстыра алатын сол сан.
Өшіру жазу сияқты маңызды. down ілмегі файлды босатуы немесе жоюы керек, ал down-pre мұны интерфейс жабылмай тұрып жасайды, бұл файл әлдеқашан кеткен туннельді сипаттайтын терезені жояды. up-restart содан кейін ішкі қайта іске қосу кезінде таңбаны жаңартады, бастапқы мәнді орнында қалдырудың орнына. Осы жұпсыз ping уақыты біткеннен кейінгі қайта іске қосу туннель қайта орныға сала өсе беретін санды береді.
Өмірі дұрыс орынды таңдаңыз. /run астындағы файл қайта жүктеу кезінде жоғалады, бұл шындыққа сәйкес келеді, ал /tmp астындағы файл болжанбайтын түрде тазалануы мүмкін, ал конфигурация каталогындағы файл адастыратын түрде қалады. Рұқсаттарды тек қызмет пайдаланушысы мен мониторинг оқырманы оқи алатындай етіп орнатыңыз.
Журнал жолдарына сенбей жұмыс уақытын есептеңіз
Сақталған секундты оқыңыз, ағымдағы секундты оқыңыз, азайтыңыз. Файл жоқ немесе бос болса, адал жауап — белсенді туннель жоқ, ал жұмыс уақыты нөл дегенді білдірмейді, өйткені бұл екі күй әртүрлі дабылдар көтеруі керек. Мониторинг деректерінде шикі секундтарды сақтаңыз, ал күндер мен сағаттарды көрсету қабатында пішімдеңіз. Экспорттаушының ішінде дөңгелектейтін пішімдеуші оқиға кезінде біреуге қажет болатын дәлдікті лақтырып тастайды.
Журналдың уақыт таңбаларын талдау — азғызатын қысқа жол, және ол үш жерден сүрінеді: пішім қандай опция орнатылса соған бағынады, айналдыру тарихты жояды, ал қайта қосылулар бір үздіксіз туннель емес, жеке сессиялар болып көрінеді. Ілмек оқиғаны бір рет, болған сәтте жазады.
Тексеру басқа хостта жүрсе, ұзақтықтың орнына уақыт таңбасын жіберіңіз, сонда оқырман өз сағатын қолданады. Сонда кішкене теріс нәтиже сынған ілмек емес, сағат айырмасы ретінде оқылады.
Қайта қосылуларды, қайта іске қосуларды және бірнеше дананы қамтыңыз
Бір хосттағы екі туннельге екі файл қажет, кілті қызмет әлдеқашан қолданатын дана атауы. Ортақ жол дегеніміз ең соңғы қосылым әр профильдің басталу уақытын қайта жазады, ал симптом — екінші туннель басталғанда артқа секіретін сан.
Қайта қосылу мінезі жеке сынаққа лайық, өйткені дәл сол жерде сенімді көрінетін жоба үнсіз қате нәрсені хабарлайды. Серіктесті тастап немесе процеске сигнал жіберіп қайта іске қосуды мәжбүрлеңіз, содан кейін интерфейс күйін файлмен салыстырыңыз. Туннель қайта оралған сәтте уақыт таңбасы алға жылжуы керек.
Сервер жағында күй файлы әр клиент үшін connected-since мәнін алып жүреді, ол басқа сұраққа жауап береді: сервер сол серіктесті соңғы рет қашан көрді. Оны алмастырғыш ретінде емес, айқас тексеру үшін пайдаланыңыз, өйткені ол сипаттайтын сессиямен бірге жоғалады. Екі өлшеудің ешқайсысы туннель артындағы қосымшаның денсаулығы туралы ештеңе айтпайды.
Рет қателерін ұстайтын үш тексеруді іске қосыңыз
Қалыпты қосылымды, мәжбүрлі қайта қосылуды және таза тоқтауды сынап көріңіз, әрқайсысынан кейін интерфейстер тізімі мен файлды бірге оқыңыз. Таза тоқтаудан кейін де қалған таңба немесе интерфейстер тізімінде жоқ туннельді дәлелдейтін файл тікелей ілмектер ретіне нұсқайды. Тексерулерді қызмет пайдаланушысы ретінде және қызмет жолдарымен орындаңыз, өйткені root shell басқа файлды көріп, сенімді түрде қате жауап бере алады. Содан кейін баяу сұрауышқа файлды оқытуға рұқсат етіңіз және ол оған ешқашан жазбайтынына көз жеткізіңіз.
Әр алпыс секунд сайынғы сауалнама дабылдарды қамтиды, және ешбір ілмек сол сұрауыштың тірі болуына сенбеуі керек. Осы екі жауапкершілікті бөлек ұстаңыз, сонда қай жақ қайта орналастырылса да сан сенімді болып қалады.