OpenVPN serveri jurnalini qayerga yozishi kerak va nima uchun
log, log-append va syslog farq qiladi, xizmat menejeri esa o'z nusxasini saqlaydi. Bitta vakolatli oqimni tanlang, hayot sikli o'qilishi oson bo'lsin va saqlash muddatini belgilang.
Jurnal dizayni uchta savolga javob beradi: qaysi jarayon yozuvni yaratdi, u qayerga tushadi va qancha vaqt yashaydi. OpenVPN faylga yozishi, xabarlarni tizim jurnalchisiga berishi yoki ularni xizmat menejeri ushlaydigan narsaga qoldirishi mumkin, va bular bitta oqimning uchta nusxasi emas. Har bir tanlov rotatsiya kimga tegishli ekanini, qaysi foydalanuvchi natijani o'qiy olishini va ishga tushish paytida nima bo'lishini o'zgartiradi. Javoblarni hodisadan oldin hal qiling, chunki keyin sozlangan narsani meros olasiz.
Daemon direktiva bilan aslida nima qiladi
Direktivalar mavhum emas; har biri jarayon xabarlarini qayerga yozishini belgilaydi. log /path o'sha faylni ochadi, log-append /path uni qo'shish uchun ochadi, syslog esa xabarlarni soketi orqali mahalliy tizim jurnalchisiga beradi. Hech biri bo'lmasa, chiqish standart chiqishga ketadi va keyin nima bo'lishini xizmat menejeri hal qiladi. Daemon sozlamangizni e'tiborsiz qoldiradi degan xulosaga kelishdan oldin amaldagi unit va profilni birga o'qing.
Oxirgi holat paket o'rnatishida odatiy bo'lib, nima uchun ikki administrator jurnal joyi borasida kelisha olmasligini tushuntiradi. Biri unit jurnalini o'qiydi, ikkinchisi daemon hech qachon yozmagan faylni.
Diskdagi faylni emas, ishlab turgan sozlamani tekshiring. Drop-in turidagi unit bekor qilish yoki muhit fayli amaldagi direktivani o'qiyotgan profilingizga tegmasdan o'zgartirishi mumkin.
log qisqartiradi, log-append qisqartirmaydi
log direktiva kuchga kirganda mavjud faylni qisqartiradi, shuning uchun qayta ishga tushirish avvalgi dalillarni o'chiradi. log-append mavjudini saqlaydi va qo'shadi. Hech bir variant hech narsani rotatsiya qilmaydi va hech biri faylni keyin o'zi qayta ochmaydi, shuning uchun rotatsiya hamkorlikni talab qiladi.
Agar rotatsiya fayl nomini o'zgartirsa-yu, daemon hali eski deskriptorga yozayotgan bo'lsa, yangi fayl bo'sh qoladi va disk iste'moli nomi o'zgargan faylda o'sishda davom etadi. Jarayonga qayta ochish uchun signal yuboring yoki nusxa-ko'chirish va qisqartirish strategiyasi bilan rotatsiya qiling va nusxa oynasini qabul qiling.
Katalog, egalik va ruxsatlar dizaynning bir qismi. Daemon ishga tushgandan keyin imtiyozsiz foydalanuvchi sifatida ishlashi mumkin, va o'rnatish paytida root yaratgan katalog o'sha paytda yozib bo'lmaydigan bo'lishi mumkin. Uni paketlash yoki joylashtirish jarayoni orqali tayyorlang, hodisa paytida ruxsatlarni tuzatish o'rniga.
Xizmat menejeri ikkinchi nusxani saqlaydi
systemd standart chiqish va standart xatoni sukut bo'yicha ushlaydi, shuning uchun aniq yo'naltirishsiz unit allaqachon jurnalga ega. Fayl direktivasini qo'shish saqlash muddati, o'quvchilari va vaqt belgilari turlicha bo'lgan ikkita oqim beradi.
Bu avtomatik ravishda noto'g'ri emas, lekin bu qaror bo'lishi kerak. Ishga tushish yozuvini jurnalda saqlang, chunki sozlangan fayl paydo bo'lishidan oldingi nosozliklar boshqa joyda ko'rinmaydi. Keyin faylni barqaror holatdagi hodisalar uchun vakolatli qiling va buni runbookda yozing. Ikki vakolatli oqim har bir savolga ikkita javob degani.
Tanlovni ataylab muvaffaqiyatsiz bo'ladigan test bilan tasdiqlang. Daemonni o'qib bo'lmaydigan sertifikat bilan ishga tushiring va xatoni qaysi oqim qayd etishini ko'ring.
Batafsillik foydalanish mumkin bo'lgan tafsilot bilan bir xil emas
Yuqoriroq verb darajasi ko'proq satr qo'shadi, va ma'lum nuqtadan keyin hech kim o'qimaydigan satrlarni. 3-daraja ko'pchilik joylashtirishlar uchun oqilona barqaror holat, 4-daraja va undan yuqorisi esa ma'lum savolga ega cheklangan tekshiruvga mos keladi. Takrorlarni bostirish shovqinni kamaytiradi, lekin hodisa qanchalik tez-tez takrorlanishini yashirmasligi kerak. Siz ushlab tura oladigan darajani belgilang va uni faqat oxiri bor nomlangan tekshiruv uchun oshiring.
Yozuvda instans identifikatori va vaqt belgilarini saqlang. Fayl bir necha oy davomida qo'shilib, instans nomi bo'lmasa, qayta ulanish birinchi ulanishga aynan o'xshaydi.
Bu faylga yana nima tushishiga e'tibor bering. Yo'naltirilgan chiqish chaqirilgan skriptlar matnini o'z ichiga olishi mumkin, va o'z muhitini chop etadigan yordamchi dastur hisob ma'lumotlari va kalit yo'llarini o'qiladigan jurnalga qo'yadi. Daemonning o'zi sezgir hech narsa chop etmasa ham jurnalga kirishni xavfsizlik qarori deb biling.
Rotatsiya, saqlash va qayta yuklaydigan signallar
Saqlash muddatini disk egasi bilan hal qiling va u hajm sizning o'rningizga qaror qilishidan oldin belgilang. Qayta yuklash signali jurnal xizmati buyrug'i emas: noto'g'risini yuborish tunnelni qayta ishga tushiradi va har bir foydalanuvchini uzadi. Qayta ochish tartibini rotatsiya qoidasi yonida yozing, ikkisi bir-biridan uzoqlashmasin.
Natija operator tavsiflay oladigan xizmat bo'lishi kerak: bitta vakolatli oqim, har bir hodisa hayot siklida joylashgan, va hostdagi har bir sir saqlovchi faylni yig'masdan olinadigan yozuv. Bu tavsif dizaynning qabul testi, va uni keyingi hodisadan oldin tekshirish arzon.