iptables और RETURN लक्ष्य


16

मुझे समझ में नहीं आता कि RETURNएक iptables कमांड में लक्ष्य क्या करता है।

संदेह इस गाइड से आता है जहां यह कहता है:

एक श्रृंखला नियमों का एक सेट है जिसे एक पैकेट क्रमिक रूप से जांचा जाता है। जब पैकेट किसी एक नियम से मेल खाता है, तो यह संबंधित कार्रवाई को निष्पादित करता है और श्रृंखला में शेष नियमों के खिलाफ जांच नहीं की जाती है।

इसलिए यदि कोई पैकेट किसी नियम से मेल खाता है और यह अन्य नियमों की जाँच करना बंद कर देता है तो मुझे इसकी आवश्यकता क्यों है RETURN?

उदाहरण के लिए मैंने इसे इंटरनेट पर पाया:

iptables -A PREROUTING -t mangle -i wlan0 -s 192.168.1.10 -j MARK --set-mark 30;
iptables -A PREROUTING -t mangle -i wlan0 -s 192.168.1.10 -j RETURN;

मुझे आवश्यकता क्यों है RETURN? यदि कोई पैकेट पहले नियम से मेल खाता है तो यह स्वचालित रूप से अन्य नियमों को निष्पादित करना बंद कर देता है।

जवाबों:


34

पैकेट एक श्रृंखला पार जब तक वे मारा ACCEPT, DROP, REJECT, या RETURN। वे एक मैच पर नहीं रुकते हैं जब तक कि उस मैच में समाप्ति की कार्रवाई न हो। आपके उदाहरण में, पहले नियम से मेल खाने वाले एक पैकेट को चिह्नित किया जाएगा, लेकिन फिर दूसरे नियम द्वारा जांच (और संभवतः संसाधित) की जाएगी।

विशुद्ध रूप से संदर्भ के लिए, यहां मैन पेज से संबंधित अनुभाग दिए गए हैं :

एक फ़ायरवॉल नियम पैकेट और लक्ष्य के लिए मापदंड निर्दिष्ट करता है। यदि पैकेट मेल नहीं खाता है, तो श्रृंखला में अगले नियम की जांच की जाती है; यदि यह मेल खाता है, तो अगला नियम लक्ष्य के मूल्य द्वारा निर्दिष्ट किया जाता है, जो उपयोगकर्ता-परिभाषित श्रृंखला या विशेष मूल्यों में से एक का नाम हो सकता है ACCEPT, DROP[, REJECT], QUEUEया RETURN

  • ACCEPT पैकेट के माध्यम से जाने का मतलब है।
  • DROP इसका मतलब है कि पैकेट को फर्श पर गिराना, यानी उसे छोड़ना और कोई प्रतिक्रिया न भेजना
  • [ REJECTमिलान पैकेट के जवाब में एक त्रुटि पैकेट भेजने के लिए उपयोग किया जाता है: अन्यथा यह बराबर है DROPइसलिए यह नियम समाप्त करने वाले TARGET को समाप्त करता है।]
  • QUEUE उपयोगकर्ता को पैकेट पास करने का मतलब है।
  • RETURNइसका मतलब है कि इस चेन को ट्रेस करना बंद करें और पिछली (कॉलिंग) चेन में अगले नियम पर फिर से शुरू करें। यदि अंतर्निहित श्रृंखला का अंत हो जाता है या लक्ष्य के साथ अंतर्निहित श्रृंखला में कोई नियम RETURNमेल खाता है, तो श्रृंखला नीति द्वारा निर्दिष्ट लक्ष्य पैकेट के भाग्य को निर्धारित करता है।

आपकी विशिष्ट चिंता के जवाब में, मैं कहूंगा कि आपका गाइड भ्रामक है। जब तक "संबंधित कार्रवाई" पांच टर्मिनल क्रियाओं में से एक है, तब तक पैकेट श्रृंखला के माध्यम से प्रवाह जारी रहेगा, जब तक कि वे RETURNअंत में एक निहित तक नहीं पहुंचते ।


अगर मैं कर सकता था तो मैं एक से अधिक बार इस जवाब को बढ़ाऊंगा।
जेकबॉब

वर्थ नोटिंग कि उपयोगकर्ता-परिभाषित श्रृंखलाओं के लिए डिफ़ॉल्ट क्रिया RETURN है।
स्टार्क

@ स्टार्क नहीं है कि अंतिम वाक्य क्या कहता है?
रोएमा

1
आह, अब मैं डीआरओपी को बेहतर समझता हूं। यह बताता है कि मेरे पास इस डेस्क के नीचे कोई पैर का कमरा क्यों नहीं है।
जोनाथन न्युफेल्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.