राउटिङ नियमले प्याकेट मार्क पढ्छ, conntrack होइन
नीतिमा आधारित राउटिङले प्याकेट मार्क पढ्छ; conntrack ले लामो आयु भएको अर्को मान राख्छ। दुईबीच प्रतिलिपि गर्नु त्यस्तो चरण हो जो कसैले लेख्नुपर्छ।
चार जाँचले काम गर्ने मार्क नियमलाई काम गर्ने मार्गबाट अलग गर्छन्: नियमले कुन मार्क पढ्छ, खोजीको समयमा प्याकेटले अझै त्यो बोकेको छ कि, पछिल्ला प्याकेटमा जडान मार्क पुनःस्थापित भएको थियो कि, र मिल्ने नियमको मास्क र प्राथमिकताले यसलाई सक्रिय हुन दिन्छ कि। बढ्ने काउन्टरले कुनै नियम कुनै कुरासँग मिल्यो भन्ने मात्र प्रमाणित गर्छ। कर्नेलले आफ्नो बाटो छान्दा प्याकेटले के बोकेको थियो भन्नेबारे यसले केही भन्दैन।
दुई मार्क फरक ठाउँमा बस्छन् र फरक तालिकाअनुसार सकिन्छन्।
दुई मार्क, दुई आयु
प्याकेट मार्क एउटा skb को हो, त्यसैसँग हुकहरूबाट यात्रा गर्छ र नीति राउटिङको fwmark छनोटकर्ताले त्यसलाई खपत गर्छ। जडान मार्क conntrack प्रविष्टिको हो, त्यो प्रवाहका प्याकेटहरूभर रहन्छ र कुनै कुराले त्यसलाई फर्केर प्रतिलिपि नगरेसम्म राउटिङ नियमलाई अदृश्य हुन्छ। प्याकेट मार्क जडानमा भण्डारण गर्नु भण्डारण हो; त्यसलाई पुनःस्थापित गर्नु छुट्टै कार्य हो। दुवै आफैँ हुँदैनन्।
त्यसैले नियमहरूको समूह सुसंगत देखिन सक्छ, तर राउटिङ निर्णयले शून्य देख्छ: मान भण्डारण गरिएको थियो, र कसैले त्यसलाई पुनःस्थापित गरेन।
दुईबीच प्रतिलिपि गर्नु तपाईंले लेख्ने चरण हो
महत्त्वपूर्ण दुई भनाइहरू विपरीत दिशामा जान्छन्: एउटाले प्याकेटको मार्क जडानमा भण्डारण गर्छ, अर्कोले जडानको मार्क प्याकेटमा लोड गर्छ। तपाईंलाई कुन चाहिन्छ भन्ने प्रवाहको सापेक्षमा वर्गीकरण कहिले हुन्छ भन्नेमा निर्भर गर्छ। कुनै डिजाइनलाई प्याकेट मार्क मात्र चाहिन सक्छ, र कुनै कामचलाउ उपायले दुवै प्रयोग गरेको हुनाले conntrack मार्किङ थप्नु त्यो तरिका हो जसबाट सरल नीतिले दोस्रो असफलता विधि पाउँछ।
ct mark set meta mark meta mark set ct mark
नियमको छेउमा दिशा लेख्नुहोस्, किनकि पहिलो नजरमा वाक्यरचनाबाट त्यो स्पष्ट हुँदैन। पहिलो पङ्क्तिले भण्डारण गर्छ, दोस्रोले पुनःस्थापित गर्छ, र कुनैले अर्कोलाई जनाउँदैन।
त्यसलाई खपत गर्ने खोजीभन्दा अघि वर्गीकरण गर्नुहोस्
स्थानीय रूपमा उत्पन्न ट्राफिक र LAN बाट अगाडि पठाइएको ट्राफिक फरक हुकबाट जान्छन् र फरक क्षणमा राउटिङ निर्णयमा पुग्छन्। राउटरका आफ्नै जडानका लागि काम गर्ने आउटपुट नियमले अगाडि पठाइएको ग्राहकको प्याकेट त्यसको खोजीअघि मार्क भएको प्रमाणित गर्दैन। वर्गीकरण त्यहाँ राख्नुहोस् जहाँ त्यसलाई खपत गर्ने खोजी अझै भएको छैन, र त्यही शृंखलाका पछिल्ला नियमहरूले मान माथि लेख्छन् कि भनी जाँच्नुहोस्। शृंखलाभित्रको क्रम कन्फिगरेसनको भाग हो, कार्यान्वयनको विवरण होइन।
जडान-अवस्थाको दिगोपनलाई पनि स्पष्ट योजना चाहिन्छ। यदि प्रवाहको पहिलो प्याकेट मात्र वर्गीकृत हुन्छ भने, पछिल्ला प्याकेटलाई भण्डारित मार्क पुनःस्थापित गर्न आवश्यक पर्छ, नत्र तिनीहरू मार्क नभएको बाटो लिन्छन्। जडान वर्णन गर्ने मार्क र प्याकेट वर्णन गर्ने मार्कबीचको फरक यही हो।
मार्गलाई मार्क भएको प्रश्न सोध्नुहोस्
ip route get 10.77.0.10 mark 0x2
नियम र तालिका जाँच्नुहोस्, त्यसपछि मार्क समावेश गरेर मार्गलाई सोध्नुहोस्, र नीतिमा असर पार्छ भने स्रोत वा आउने इन्टरफेस पनि थप्नुहोस्। मार्क नभएको साधारण खोजीले अर्को प्रश्नको उत्तर दिन्छ र तपाईंले नचाहेको बाटो खुसीसाथ रिपोर्ट गर्छ। नियमको मानसँगै त्यसको मास्क र प्राथमिकता जाँच्नुहोस्, र छानिएको तालिकामा प्रयोगयोग्य मार्ग छ भन्ने पुष्टि गर्नुहोस्।
बढ्ने काउन्टर कुनै नियम कुनै प्याकेटसँग मिल्यो भन्ने प्रमाण हो। अन्तिम प्याकेटले सही निर्णयबिन्दुमा इच्छित मार्क बोकेको थियो भन्ने प्रमाण होइन।
मार्क, दिशा, समय र मास्क पढ्नुहोस्। चार जाँच, र मार्ग रहस्य रहन छोड्छ।