OpenVPN журналдары кимге таандык: демонго, rsyslog го же logrotate го?
Бир жазуучу, бир айландыруучу, бир сактоо саясаты. Адегенде жолду тандаңыз, тар чыпка үчүн демонго ат бериңиз жана бир айландырылган файл менен кайра ачууну далилдеңиз.
Журналдарды айландыруу алдын ала айтууга боло турган түрдө бузулат: үч компоненттин ар бири файлды өзүнүкү деп ойлойт, жана натыйжада жаңы файл бош турганда өсө берүүчү айландырылган журнал пайда болот. Демон дескрипторду кармайт, logrotate жолдун атын өзгөртөт, ал эми rsyslog таптакыр башка жерге жазат. Үймөккө дагы бир эреже кошпостон мурун бир жазуучуну жана бир айландыруучуну тандаңыз. Төмөнкү текшерүү тизмеси дал ушундай ирет менен жүрөт, анткени ар бир кийинки кадам ага көз каранды.
Файлды ким жазарын чечиңиз
Эки долбоор тең мыйзамдуу. Биринчисинде VPN процесси өзүнүн log же log-append параметри аркылуу файлды өзү жазат. Экинчисинде жазууларды тутумдук журналга жөнөтөт, ал эми rsyslog же journald алардын кайда түшөрүн чечет.
Булар альтернативалар, катмарлар эмес. Экөөнү тең күйгүзгөн хост макулдашпаган эки файл менен калат, ал эми сиз окуп жаткан файл көбүнчө эскирген болот. Жолду атайын тандап, андан кийин экинчи жазуучуну алып салыңыз.
Бир нерсени өзгөртүүдөн мурун кызматтын иштеп жаткан конфигурациясын окуңуз, анын ичинде unit файлын басып кашы мүмкүн болгон drop-in файлдарын да. Сиз түзөткөн профилдеги директива анын иштеп жаткан процесс жүктөгөн директива экенине далил эмес. Unit тизмесин процесс аргументтери менен, андан кийин ал чындап ачкан файлдар менен салыштырыңыз.
Чыпка тар болушу үчүн демонго ат бериңиз
syslog жолунда демонго өзүнчө инсандык берип, ошого чыпка жасаңыз. Ушул VPN нускасынын программа атына дал келген эреже анын жазууларын сактоо саясаты башка нерсеге таандык болгон жалпы файлдан тышкары кармайт.
Тар эрежелер кийинки суроого да жооп берүүгө мүмкүндүк берет: бул сапты кайсы кызмат жаратты? VPN сөзү бар бардыгына дал келген чыпка экинчи туннелдин трафигин да кубаныч менен чогултуп, экөөнү тең бүдөмүк кылат. Unit журналга берген так идентификаторго дал келтириңиз.
Жазуулар демейки багытка да түшпөшү үчүн аракеттен кийин эрежени жабыңыз. Эки файлдагы кайталанган саптар журнал катасына окшош, чындыгында бул жетишпеген токтоо. Ошол эле бир кетирүү сактоо саясатынын дисктик наркын да эки эсе көбөйтөт.
Дескрипторду жоготпостон айландырыңыз
Демон файлды жазганда, logrotate жолдун атын өзгөртөт, бирок процесс өзүнүн ачык дескрипторун сактайт. Жаңы жазуулар аты өзгөргөн файлга улана берет, бир нерсе процессти баштапкы жолду кайра ачууга мажбурлаганга чейин; ошондуктан айландыруу иштеп жаткандай көрүнүшү мүмкүн, ал эми жаңы файл бош калат.
Чечим — кызматтын документтелген кайра жүктөө же кайра баштоо жүрүм-турумун иштетүүчү postrotate аракети. Журналга сигнал жөнөтүү таптакыр башка аракет жана өз файлын кармаган демонго эч нерсе кылбайт.
Кайра ачуу мүмкүн болбогон жерде copytruncate — камдык чечим: файлды көчүрүңүз, анан ордунда кыркыңыз. Дескрипторду жарактуу кармайт, бирок көчүрүү менен кыркуунун ортосунда жазылгандын баарын жоготот, ошондуктан бул чечим эмес, алмашуу. Жүктөм астында ошол боштук кармагыңыз келген бузулууну өзүн жутуп кетиши мүмкүн.
Ар бир файл үчүн экөөнүн бирин тандап, тандоону жазып коюңуз, анткени аларды бир жолдо аралаштыруу кийин теңдештирүү абдан кыйын болгон боштуктарды жаратат. Бир папкадан эки үлгүнү тең тапкан окурман кайсынысы негизги экенин айта албайт.
Сактоону окуя терезесинен белгилеңиз
Сактоо, кысуу жана эң чоң өлчөм сиз чындап канчалык артка изилдегениңизден келип чыгышы керек. Кысуу жана өлчөм чеги бар жети күндүк терезе көп жайгаштыруулар үчүн акылга сыярлык башталгыч чекит; окуу куралынан көчүрүлгөн сан андай эмес.
Саясатты бир жерде кармаңыз. Эгер logrotate файлды айландырса жана rsyslog да аны айландырса, экинчи айландыруу жеңет жана биринчисинин атоо схемасы башаламандык катары калат. Ээсин тандаңыз, экинчи айландырууну өчүрүңүз жана ошол чечимди саясаттын жанына жазыңыз.
rsyslog документтери анын маршруттоо жана аракет моделинин камтыйт, ал эми OpenVPN кызматынын документтери демондун өз журнал параметрлери үчүн ыйгарым укуктуу бойдон калат. Экөөнүн эч бири сиздин ордуңузга сактоо саясатын чечпейт.
Бир айландырууну жана бир жаңы окуяны сынап көрүңүз
Бир гана айландырууну мажбурлап, анан бир жаңы окуя жаратыңыз, мисалы ийгиликсиз аутентификация. Жаңы жазуу жаңы файлда пайда болгонун жана эски файлдын өсүшү токтогонун ырастаңыз.
Жаңы файлдын уруксаттарын да текшериңиз, анткени аны башка ээ менен кайра түзгөн айландыруу кийинки жазууда жазуучуну бузат жана кулоого окшош боштук жаратат. Кетээрден мурун ээсин жана режимин кызмат эсеби менен салыштырыңыз. Андан кийин кысылган архив окуларын ырастаңыз, анткени эч ким ача албаган архив сактоо эмес. Эски файлдагы эң жаңы жазууну тез окуу кысууну да, уруксаттарды да далилдейт.
Ар бир кадамдын ээсин жазып бүтүрүңүз: кайсы компонент жазат, кайсысы айландырат жана сактоо саясаты кайда турат. Дал ошол жазуу кийинки журнал окуясын кайсы катмар сапты түшүрүп койду деп болжолдоого кетүүчү жарым күндүн ордуна беш мүнөттүк текшерүүгө айландырат.