Башкаруу панели туташуу канча убакыттан бери күйүп турганын сурайт, ал эми 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 башка файлды көрүп, ишенимдүү түрдө туура эмес жооп бере алат. Анан жай суроочуга файлды окууга уруксат бериңиз жана ал ага эч качан жазбай турганын ырастаңыз.

Ар алтымыш секундда бир сурамжылоо эскертүүлөрдү камтыйт, жана эч бир илмек ошол суроочунун тирүү экенине таянбашы керек. Ушул эки жоопкерчиликти өзүнчө кармаңыз, ошондо кайсы тарап кайра жайгаштырылса да сан ишенимдүү бойдон калат.

Тектеш макалалар