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 सेवाको कागजात डेमनका आफ्नै लगिङ विकल्पका लागि अधिकारिक रहन्छ। तीमध्ये कुनैले पनि तपाईंको तर्फबाट तपाईंको राख्ने नीति तय गर्दैन।
एउटा घुमाउने र एउटा नयाँ घटना जाँच्नुहोस्
एउटै घुमाउने बलपूर्वक गर्नुहोस् र त्यसपछि एउटा नयाँ घटना उत्पन्न गर्नुहोस्, जस्तै असफल प्रमाणीकरण। नयाँ अभिलेख नयाँ फाइलमा देखिन्छ र पुरानो फाइल बढ्न रोकिएको छ भनी पुष्टि गर्नुहोस्।
नयाँ फाइलका अनुमतिहरू पनि हेर्नुहोस्, किनभने अर्को मालिकसँग यसलाई पुनः बनाउने घुमाउनेले अर्को लेखाइमा लेखकलाई तोड्छ र क्र्यासजस्तो देखिने खाली ठाउँ बनाउँछ। जानुअघि मालिक र मोडलाई सेवा खातासँग तुलना गर्नुहोस्। त्यसपछि सङ्कुचित अभिलेख पढ्न सकिने पुष्टि गर्नुहोस्, किनभने कसैले खोल्न नसक्ने अभिलेख राखिएको मानिँदैन। पुरानो फाइलको सबैभन्दा नयाँ अभिलेख छिटो पढ्दा सङ्कुचन र अनुमति दुवै प्रमाणित हुन्छन्।
प्रत्येक चरणको मालिक लेखेर टुङ्ग्याउनुहोस्: कुन अंग लेख्छ, कुन घुमाउँछ, र राख्ने नीति कहाँ बस्छ। त्यही अभिलेखले अर्को लगिङ घटनालाई कुन तहले लाइन खसाल्यो भनी अनुमान गर्दै बिताइने पूरै दिउँसोको सट्टा पाँच मिनेटको जाँच बनाउँछ।