नेटफिल्टर
Stable release | Script error: The module returned a nil value. It is supposed to return an export table.
/ Script error: The module returned a nil value. It is supposed to return an export table. |
---|---|
Written in | C |
Operating system | Linux |
Type |
|
License | GNU GPL |
Website | netfilter |
नेटफिल्टर लिनक्स कर्नेल द्वारा प्रदान किया गया एक सॉफ्टवेयर ढांचा है जो विभिन्न संगणक संजाल से संबंधित संचालन को अनुकूलित हैंडलर के रूप में कार्यान्वित करने की अनुमति देता है। नेटफिल्टर पैकेट फिल्टर, नेटवर्क एड्रेस ट्रांसलेशन और पोर्ट अनुवाद के लिए विभिन्न कार्य और संचालन प्रदान करता है, जो एक नेटवर्क और फ़ायरवॉल (कंप्यूटिंग) पैकेट के माध्यम से पैकेट को एक नेटवर्क के भीतर संवेदनशील स्थानों तक पहुँचने के लिए आवश्यक कार्यक्षमता प्रदान करता है।
नेटफिल्टर लिनक्स कर्नेल के अंदर हुकिंग के एक सेट का प्रतिनिधित्व करता है, विशिष्ट कर्नेल मॉड्यूल को कर्नेल के नेटवर्किंग स्टैक के साथ कॉलबैक (कंप्यूटर प्रोग्रामिंग) कार्यों को पंजीकृत करने की अनुमति देता है। उन कार्यों, जो आमतौर पर फ़िल्टरिंग और संशोधन नियमों के रूप में ट्रैफ़िक पर लागू होते हैं, को हर उस पैकेट के लिए कहा जाता है जो नेटवर्किंग स्टैक के भीतर संबंधित हुक को पार करता है।[1]
इतिहास
रस्टी रसेल ने 1998 में नेटफिल्टर/आईपीटेबल्स प्रोजेक्ट शुरू किया; उन्होंने परियोजना के पूर्ववर्ती, ipchains को भी लिखा था। जैसे-जैसे परियोजना बढ़ी, उन्होंने 1999 में नेटफिल्टर कोर टीम (या बस कोरटेम) की स्थापना की। उनके द्वारा उत्पादित सॉफ्टवेयर (इसके बाद नेटफिल्टर कहा जाता है) GNU जनरल पब्लिक लाइसेंस (GPL) लाइसेंस का उपयोग करता है, और मार्च 2000 में इसे संस्करण 2.4 में मिला दिया गया। लिनक्स कर्नेल मेनलाइन का x।
अगस्त 2003 में हेरोल्ड वेल्टे कोरटीम के अध्यक्ष बने। अप्रैल 2004 में, जीपीएल का पालन किए बिना राउटर (कंप्यूटिंग) में प्रोजेक्ट के सॉफ़्टवेयर अंतः स्थापित प्रणाली को वितरित करने वालों पर परियोजना द्वारा कार्रवाई के बाद, जर्मनी की एक अदालत ने वेल्टे को साइटकॉम जर्मनी के खिलाफ एक ऐतिहासिक निषेधाज्ञा दी, जिसने जीपीएल के नियमों का पालन करने से इनकार कर दिया। शर्तें (जीएनयू जनरल पब्लिक लाइसेंस#कानूनी स्थिति|जीपीएल से संबंधित विवाद देखें)। सितंबर 2007 में पैट्रिक मैकहार्डी, जिन्होंने पिछले वर्षों में विकास का नेतृत्व किया, को कोरटीम के नए अध्यक्ष के रूप में चुना गया।
Iptables से पहले, Linux फ़ायरवॉल बनाने के लिए प्रमुख सॉफ़्टवेयर पैकेज Linux कर्नेल 2.2.x में ipchains और Linux कर्नेल 2.0.x में ipfwadm थे, जो बदले में बर्कले सॉफ़्टवेयर वितरण के ipfirewall पर आधारित था। दोनों ipchains और ipfwadm नेटवर्किंग कोड को बदलते हैं ताकि वे पैकेटों में हेरफेर कर सकें, क्योंकि लिनक्स कर्नेल में नेटफिल्टर की शुरूआत तक एक सामान्य पैकेट नियंत्रण ढांचे की कमी थी।
जबकि ipchains और ipfwadm पैकेट फ़िल्टरिंग और NAT (विशेष रूप से तीन विशिष्ट प्रकार के नेटवर्क एड्रेस ट्रांसलेशन, जिसे मास्केरडिंग, पोर्ट फ़ॉरवर्डिंग और रीडायरेक्शन कहा जाता है) को जोड़ती है, नेटफ़िल्टर नीचे वर्णित कई भागों में पैकेट संचालन को अलग करता है। प्रत्येक पैकेट तक पहुँचने के लिए अलग-अलग बिंदुओं पर नेटफिल्टर हुक से जुड़ता है। कनेक्शन ट्रैकिंग और NAT सबसिस्टम ipchains और ipfwadm के भीतर अल्पविकसित संस्करणों की तुलना में अधिक सामान्य और अधिक शक्तिशाली हैं।
2017 में IPv4 और IPv6 फ्लो ऑफलोड इंफ्रास्ट्रक्चर को जोड़ा गया, जिससे सॉफ्टवेयर फ्लो टेबल फॉरवर्डिंग और हार्डवेयर ऑफलोड सपोर्ट में तेजी आई।[2][3]
यूजरस्पेस यूटिलिटी प्रोग्राम्स
*
iptables
कर्नेल मॉड्यूल नामित ip_tables
, ip6_tables
, arp_tables
(अंडरस्कोर नाम का हिस्सा है), और ebtables
नेटफिल्टर हुक सिस्टम के लीगेसी पैकेट फ़िल्टरिंग हिस्से को शामिल करें। वे फ़ायरवॉल नियमों को परिभाषित करने के लिए एक तालिका-आधारित प्रणाली प्रदान करते हैं जो पैकेटों को फ़िल्टर या रूपांतरित कर सकते हैं। तालिकाओं को उपयोगकर्ता-अंतरिक्ष उपकरण के माध्यम से प्रशासित किया जा सकता है iptables
, ip6tables
, arptables
, और ebtables
. ध्यान दें कि हालांकि दोनों कर्नेल मॉड्यूल और यूजरस्पेस यूटिलिटीज के नाम समान हैं, उनमें से प्रत्येक अलग कार्यक्षमता के साथ एक अलग इकाई है।
प्रत्येक तालिका वास्तव में अपना स्वयं का हुक है, और प्रत्येक तालिका को एक विशिष्ट उद्देश्य की पूर्ति के लिए पेश किया गया था। जहाँ तक नेटफिल्टर का संबंध है, यह अन्य तालिकाओं के संबंध में एक विशेष तालिका को एक विशिष्ट क्रम में चलाता है। कोई भी तालिका स्वयं को कॉल कर सकती है और यह अपने नियमों को भी निष्पादित कर सकती है, जो अतिरिक्त प्रसंस्करण और पुनरावृत्ति की संभावनाओं को सक्षम करती है।
नियमों को जंजीरों में, या दूसरे शब्दों में, नियमों की जंजीरों में व्यवस्थित किया जाता है। इन जंजीरों को पूर्वनिर्धारित शीर्षकों के साथ नामित किया गया है, जिनमें शामिल हैं INPUT
, OUTPUT
और FORWARD
. ये चेन टाइटल नेटफिल्टर स्टैक में उत्पत्ति का वर्णन करने में मदद करते हैं। पैकेट रिसेप्शन, उदाहरण के लिए, में पड़ता है PREROUTING
, जब INPUT
स्थानीय रूप से वितरित डेटा का प्रतिनिधित्व करता है, और अग्रेषित ट्रैफ़िक इसके अंतर्गत आता है FORWARD
ज़ंजीर। स्थानीय रूप से उत्पन्न आउटपुट से होकर गुजरता है OUTPUT
चेन, और भेजे जाने वाले पैकेट अंदर हैं POSTROUTING
ज़ंजीर।
नेटफिल्टर मॉड्यूल टेबल में व्यवस्थित नहीं हैं (नीचे देखें) अपने संचालन के तरीके का चयन करने के लिए मूल की जांच करने में सक्षम हैं।
iptable_raw
मापांक- लोड होने पर, एक हुक पंजीकृत करता है जिसे किसी अन्य नेटफिल्टर हुक से पहले कॉल किया जाएगा। यह रॉ नामक एक तालिका प्रदान करता है जिसका उपयोग पैकेट को फ़िल्टर करने के लिए किया जा सकता है, इससे पहले कि वे अधिक मेमोरी-डिमांडिंग ऑपरेशन जैसे कनेक्शन ट्रैकिंग तक पहुँचें।
iptable_mangle
मापांक- कनेक्शन ट्रैकिंग (नीचे देखें) के बाद चलाने के लिए एक हुक और मैंगल तालिका पंजीकृत करता है (लेकिन फिर भी किसी अन्य तालिका से पहले), ताकि पैकेट में संशोधन किया जा सके। यह पालन करने वाले नियमों द्वारा अतिरिक्त संशोधनों को सक्षम करता है, जैसे NAT या आगे फ़िल्टरिंग।
iptable_nat
मापांक- दो हुक पंजीकृत करता है: डेस्टिनेशन नेटवर्क एड्रेस ट्रांसलेशन-बेस्ड ट्रांसफॉर्मेशन (DNAT) फिल्टर हुक से पहले लागू होते हैं, सोर्स नेटवर्क एड्रेस ट्रांसलेशन-बेस्ड ट्रांसफॉर्मेशन (SNAT) बाद में लागू होते हैं। नेटवर्क एड्रेस ट्रांसलेशन टेबल (या nat ) जो iptables को उपलब्ध कराया जाता है, केवल नेटवर्क एड्रेस ट्रांसलेशन मैपिंग के लिए एक कॉन्फ़िगरेशन डेटाबेस है, और किसी भी तरह के फ़िल्टरिंग के लिए अभिप्रेत नहीं है।
iptable_filter
मापांक- फ़िल्टर तालिका को पंजीकृत करता है, जिसका उपयोग सामान्य-उद्देश्य फ़िल्टरिंग (फ़ायरवॉलिंग) के लिए किया जाता है।
security_filter
मापांक- अनिवार्य एक्सेस कंट्रोल (MAC) नेटवर्किंग नियमों के लिए उपयोग किया जाता है, जैसे कि द्वारा सक्षम
SECMARK
औरCONNSECMARK
लक्ष्य। (ये तथाकथित लक्ष्य सुरक्षा-संवर्धित लिनक्स मार्करों को संदर्भित करते हैं।) अनिवार्य अभिगम नियंत्रण लिनक्स सुरक्षा मॉड्यूल जैसे SELinux द्वारा कार्यान्वित किया जाता है। फ़िल्टर तालिका के कॉल के बाद सुरक्षा तालिका को कॉल किया जाता है, फ़िल्टर तालिका में किसी भी विवेकाधीन अभिगम नियंत्रण (DAC) नियमों को किसी भी MAC नियमों से पहले प्रभावी होने की अनुमति देता है। यह टेबल निम्नलिखित बिल्ट-इन चेन प्रदान करती है:INPUT
(कंप्यूटर में ही आने वाले पैकेट के लिए),OUTPUT
(रूटिंग से पहले स्थानीय रूप से उत्पन्न पैकेट को बदलने के लिए), औरFORWARD
(कंप्यूटर के माध्यम से रूट किए जा रहे पैकेटों को बदलने के लिए)।
nftables
nftables नेटफिल्टर का नया पैकेट-फ़िल्टरिंग भाग है। nft
नई यूजरस्पेस उपयोगिता है जो प्रतिस्थापित करती है iptables
, ip6tables
, arptables
और ebtables
.
nftables कर्नेल इंजन लिनक्स कर्नेल में एक साधारण आभासी मशीन जोड़ता है, जो एक नेटवर्क पैकेट का निरीक्षण करने के लिए बायटेकोड को निष्पादित करने में सक्षम है और यह निर्णय लेता है कि उस पैकेट को कैसे संभाला जाना चाहिए। इस वर्चुअल मशीन द्वारा क्रियान्वित किए गए संचालन को जानबूझकर बुनियादी बनाया गया है: यह पैकेट से ही डेटा प्राप्त कर सकता है, संबद्ध मेटाडेटा (उदाहरण के लिए इनबाउंड इंटरफ़ेस) पर एक नज़र डाल सकता है, और कनेक्शन ट्रैकिंग डेटा का प्रबंधन कर सकता है। उस डेटा के आधार पर निर्णय लेने के लिए अंकगणित, बिटवाइज़ और तुलना ऑपरेटरों का उपयोग किया जा सकता है। वर्चुअल मशीन डेटा के सेट (आमतौर पर आईपी पते) में हेरफेर करने में भी सक्षम है, जिससे कई तुलना संचालन को एकल सेट लुकअप से बदला जा सकता है।[4]
यह लीगेसी Xtables (iptables, आदि) कोड के विपरीत है, जिसमें प्रोटोकॉल जागरूकता कोड में इतनी गहराई से अंतर्निहित है कि इसे चार बार दोहराया जाना है—IPv4, IPv6, ARP और ईथरनेट ब्रिजिंग के लिए—क्योंकि फ़ायरवॉल इंजन सामान्य तरीके से उपयोग किए जाने के लिए बहुत अधिक प्रोटोकॉल-विशिष्ट हैं।[4]मुख्य लाभ खत्म iptables
लिनक्स कर्नेल अनुप्रयोग बाइनरी इंटरफ़ेस का सरलीकरण, डुप्लिकेट कोड में कमी, त्रुटि संदेश में सुधार, और अधिक कुशल निष्पादन, भंडारण, और वृद्धिशील, फ़िल्टरिंग नियमों में एटोमिकिटी_(डेटाबेस_सिस्टम) परिवर्तन हैं।
पैकेट डीफ़्रेग्मेंटेशन
nf_defrag_ipv4
ई> मॉड्यूल IPv4 पैकेट्स को नेटफिल्टर के कनेक्शन ट्रैकिंग (nf_conntrack_ipv4
मापांक)। यह इन-कर्नेल कनेक्शन ट्रैकिंग और एनएटी हेल्पर मॉड्यूल (जो मिनी-आवेदन स्तर का प्रवेश द्वार का एक रूप है) के लिए आवश्यक है जो केवल पूरे पैकेट पर मज़बूती से काम करते हैं, ज़रूरी नहीं कि फ़्रैगमेंट पर भी।
IPv6 डीफ़्रेग्मेंटर अपने आप में एक मॉड्यूल नहीं है, बल्कि इसमें एकीकृत है nf_conntrack_ipv6
मापांक।
कनेक्शन ट्रैकिंग
कनेक्शन ट्रैकिंग नेटफिल्टर ढांचे के शीर्ष पर निर्मित महत्वपूर्ण विशेषताओं में से एक है।[5] कनेक्शन ट्रैकिंग कर्नेल को सभी तार्किक नेटवर्क कनेक्शन या सत्र (कंप्यूटर विज्ञान) का ट्रैक रखने की अनुमति देती है, और इस तरह उन सभी पैकेटों से संबंधित होती है जो उस कनेक्शन को बना सकते हैं। NAT इसी तरह से सभी संबंधित पैकेटों का अनुवाद करने के लिए इस जानकारी पर निर्भर करता है, और iptables
स्टेटफुल फ़ायरवॉल के रूप में कार्य करने के लिए इस जानकारी का उपयोग कर सकते हैं।
कनेक्शन स्थिति हालांकि किसी भी ऊपरी स्तर के राज्य से पूरी तरह से स्वतंत्र है, जैसे कि टीसीपी या एससीटीपी का राज्य। इसका एक कारण यह है कि जब केवल अग्रेषण पैकेट, यानी कोई स्थानीय वितरण नहीं होता है, तो टीसीपी इंजन को जरूरी नहीं लगाया जा सकता है। यहां तक कि उपयोगकर्ता डाटाग्राम प्रोटोकॉल, आईपीसेक (एएच/ईएसपी), जेनेरिक रूटिंग इनकैप्सुलेशन और अन्य टनलिंग प्रोटोकॉल जैसे कनेक्शन रहित-मोड प्रसारण में कम से कम एक छद्म कनेक्शन स्थिति है। ऐसे प्रोटोकॉल के लिए अनुमानी अक्सर निष्क्रियता के लिए एक पूर्व निर्धारित टाइमआउट मान पर आधारित होता है, जिसकी समाप्ति के बाद नेटफिल्टर कनेक्शन हटा दिया जाता है।
प्रत्येक नेटफिल्टर कनेक्शन को विशिष्ट रूप से (लेयर-3 प्रोटोकॉल, सोर्स एड्रेस, डेस्टिनेशन एड्रेस, लेयर-4 प्रोटोकॉल, लेयर-4 की) टपल द्वारा पहचाना जाता है। परत-4 कुंजी परिवहन प्रोटोकॉल पर निर्भर करती है; टीसीपी/यूडीपी के लिए यह पोर्ट संख्या है, सुरंगों के लिए यह उनकी सुरंग आईडी हो सकती है, लेकिन अन्यथा केवल शून्य है, जैसे कि यह टपल का हिस्सा नहीं था। सभी मामलों में टीसीपी पोर्ट का निरीक्षण करने में सक्षम होने के लिए पैकेट को अनिवार्य रूप से डीफ़्रेग्मेंट किया जाएगा।
नेटफिल्टर कनेक्शन को यूजर-स्पेस टूल के साथ जोड़-तोड़ किया जा सकता है conntrack
.
iptables
पैकेट फ़िल्टरिंग नियमों को अधिक शक्तिशाली और प्रबंधित करने में आसान बनाने के लिए कनेक्शन की जानकारी जैसे राज्यों, स्थितियों और अधिक की जाँच का उपयोग कर सकते हैं। सबसे आम राज्य हैं:
NEW
- एक नया कनेक्शन बनाने की कोशिश कर रहा है
ESTABLISHED
- पहले से मौजूद कनेक्शन का हिस्सा
RELATED
- एक पैकेट को सौंपा गया है जो एक नया कनेक्शन शुरू कर रहा है और जिसकी अपेक्षा की गई है; उपरोक्त मिनी-एएलजी इन अपेक्षाओं को स्थापित करते हैं, उदाहरण के लिए, जब
nf_conntrack_ftp
मॉड्यूल एक फाइल ट्रांसफर प्रोटोकॉल देखता हैPASV
आज्ञा INVALID
- पैकेट को अमान्य पैकेट पाया गया, उदा। यह टीसीपी कनेक्शन आरेख का पालन नहीं करेगा
UNTRACKED
- एक विशेष स्थिति जो किसी विशेष पैकेट के लिए कनेक्शन ट्रैकिंग को बायपास करने के लिए व्यवस्थापक द्वारा निर्दिष्ट की जा सकती है (ऊपर कच्ची तालिका देखें)।
एक सामान्य उदाहरण यह होगा कि कनट्रैक सबसिस्टम जो पहला पैकेट देखता है उसे नया वर्गीकृत किया जाएगा, उत्तर को वर्गीकृत किया जाएगा और एक इंटरनेट नियंत्रण संदेश प्रोटोकॉल त्रुटि संबंधित होगी। एक ICMP त्रुटि पैकेट जो किसी ज्ञात कनेक्शन से मेल नहीं खाता है, वह अमान्य होगा।
कनेक्शन ट्रैकिंग सहायक
प्लगइन मॉड्यूल के उपयोग के माध्यम से, कनेक्शन ट्रैकिंग को एप्लिकेशन-लेयर प्रोटोकॉल का ज्ञान दिया जा सकता है और इस प्रकार यह समझा जा सकता है कि दो या दो से अधिक अलग-अलग कनेक्शन संबंधित हैं। उदाहरण के लिए, फाइल ट्रांसफर प्रोटोकॉल प्रोटोकॉल पर विचार करें। एक नियंत्रण कनेक्शन स्थापित किया जाता है, लेकिन जब भी डेटा स्थानांतरित किया जाता है, इसे स्थानांतरित करने के लिए एक अलग कनेक्शन स्थापित किया जाता है। जब nf_conntrack_ftp
मॉड्यूल लोड किया गया है, तो FTP डेटा कनेक्शन के पहले पैकेट को नए के बजाय संबंधित के रूप में वर्गीकृत किया जाएगा, क्योंकि यह तार्किक रूप से मौजूदा कनेक्शन का हिस्सा है।
सहायक एक समय में केवल एक पैकेट का निरीक्षण करते हैं, इसलिए यदि कनेक्शन ट्रैकिंग के लिए महत्वपूर्ण जानकारी दो पैकेटों में विभाजित है, या तो आईपी विखंडन या टीसीपी विभाजन के कारण, सहायक आवश्यक रूप से पैटर्न को पहचान नहीं पाएगा और इसलिए अपना ऑपरेशन नहीं करेगा। IP विखंडन को डीफ़्रेग्मेंटेशन की आवश्यकता वाले कनेक्शन ट्रैकिंग सबसिस्टम से निपटा जाता है, हालाँकि TCP विभाजन को नियंत्रित नहीं किया जाता है। एफ़टीपी के मामले में, सेगमेंटेशन को कमांड जैसे कमांड के पास नहीं माना जाता है PASV
मानक खंड आकार के साथ, इसलिए नेटफिल्टर में भी इसका निपटारा नहीं किया जाता है।
नेटवर्क एड्रेस ट्रांसलेशन
प्रत्येक कनेक्शन में मूल पतों और उत्तर पतों का एक सेट होता है, जो शुरू में वही शुरू करते हैं। नेटफिल्टर में एनएटी केवल उत्तर पते को बदलकर और जहां वांछित हो, पोर्ट को बदलकर कार्यान्वित किया जाता है। जब पैकेट प्राप्त होते हैं, तो उनके कनेक्शन टपल की तुलना रिप्लाई एड्रेस पेयर (और पोर्ट्स) से भी की जाएगी। NAT के लिए खंड-मुक्त होना भी एक आवश्यकता है। (यदि आवश्यकता हो, IPv4 पैकेट को सामान्य, गैर-नेटफिल्टर, IPv4 स्टैक द्वारा रीफ्रैगमेंट किया जा सकता है।)
एनएटी हेल्पर्स
कनेक्शन ट्रैकिंग हेल्पर्स के समान, NAT हेल्पर्स एक पैकेट निरीक्षण करेंगे और मूल पतों को पेलोड में उत्तर पतों द्वारा प्रतिस्थापित करेंगे।
आगे नेटफिल्टर प्रोजेक्ट
हालांकि कर्नेल मॉड्यूल नहीं है जो सीधे नेटफिल्टर कोड का उपयोग करता है, नेटफिल्टर प्रोजेक्ट कुछ और उल्लेखनीय सॉफ्टवेयर को होस्ट करता है।
कनेक्ट-टूल्स
conntrack-tools
लिनक्स के लिए यूजर-स्पेस टूल्स का एक सेट है जो सिस्टम एडमिनिस्ट्रेटर को कनेक्शन ट्रैकिंग प्रविष्टियों और तालिकाओं के साथ इंटरैक्ट करने की अनुमति देता है। पैकेज में शामिल है conntrackd
डेमन और कमांड लाइन इंटरफ़ेस conntrack
. यूजरस्पेस डेमन conntrackd
उच्च उपलब्धता क्लस्टर-आधारित स्टेटफुल फ़ायरवॉल को सक्षम करने और स्टेटफुल फ़ायरवॉल के उपयोग के आँकड़े एकत्र करने के लिए उपयोग किया जा सकता है। कमांड लाइन इंटरफ़ेस conntrack
अप्रचलित की तुलना में कनेक्शन ट्रैकिंग सिस्टम को अधिक लचीला इंटरफ़ेस प्रदान करता है /proc/net/nf_conntrack
.
आईपीसेट
कनेक्शन ट्रैकिंग जैसे अन्य एक्सटेंशन के विपरीत, ipset
[6] से अधिक संबंधित है iptables
कोर नेटफिल्टर कोड की तुलना में। ipset
उदाहरण के लिए नेटफिल्टर हुक का उपयोग नहीं करता है, लेकिन वास्तव में एक प्रदान करता है iptables
आईपी सेट में मिलान करने और न्यूनतम संशोधन (सेट/स्पष्ट) करने के लिए मॉड्यूल।
यूजर-स्पेस टूल कहा जाता है ipset
लिनक्स कर्नेल में तथाकथित आईपी सेट को स्थापित करने, बनाए रखने और निरीक्षण करने के लिए उपयोग किया जाता है। एक आईपी सेट में आमतौर पर आईपी पतों का एक सेट होता है, लेकिन इसके प्रकार के आधार पर अन्य नेटवर्क नंबरों के सेट भी हो सकते हैं। ये सेट नंगे की तुलना में बहुत अधिक लुकअप-कुशल हैं iptables
नियम, लेकिन निश्चित रूप से अधिक स्मृति पदचिह्न के साथ आ सकते हैं। विभिन्न भंडारण एल्गोरिदम (मेमोरी में डेटा संरचनाओं के लिए) प्रदान किए जाते हैं ipset
उपयोगकर्ता के लिए एक इष्टतम समाधान का चयन करने के लिए।
एक सेट में कोई भी प्रविष्टि दूसरे सेट से बंधी हो सकती है, जिससे परिष्कृत मिलान संचालन की अनुमति मिलती है। एक सेट को केवल तभी हटाया (नष्ट) किया जा सकता है जब कोई सेट न हो iptables
नियम या अन्य सेट इसका जिक्र करते हैं।
प्रॉक्सी के साथ
SYNPROXY
लक्ष्य ऐसे मामलों में कनेक्शन ट्रैकिंग द्वारा लगाए गए बड़े प्रदर्शन दंड के बिना बड़ी एसवाईएन बाढ़ को संभव बनाता है। प्रारंभिक रीडायरेक्ट करके SYN
के लिए अनुरोध SYNPROXY
लक्ष्य, कनेक्शन ट्रैकिंग के भीतर कनेक्शन तब तक पंजीकृत नहीं होते जब तक कि वे एक मान्य फाइनल तक नहीं पहुंच जाते ACK
राज्य, संभावित रूप से अमान्य कनेक्शनों की बड़ी संख्या को ध्यान में रखते हुए कनेक्शन ट्रैकिंग को मुक्त करना। इस तरह, विशाल SYN
बाढ़ से प्रभावी तरीके से निपटा जा सकता है।[7]
3 नवंबर 2013 को, SYN
लिनक्स कर्नेल मेनलाइन के संस्करण 3.12 के रिलीज के साथ, प्रॉक्सी कार्यक्षमता को नेटफिल्टर में विलय कर दिया गया था।[8][9]
उलोगड
ulogd
नेटफिल्टर सबसिस्टम से पैकेट और इवेंट नोटिफिकेशन प्राप्त करने और लॉग करने के लिए एक यूजर-स्पेस डेमन है। ip_tables
यूजरस्पेस क्यूइंग मैकेनिज्म के माध्यम से पैकेट वितरित कर सकते हैं, और कनेक्शन ट्रैकिंग के साथ बातचीत कर सकते हैं ulogd
पैकेट या घटनाओं के बारे में और जानकारी का आदान-प्रदान करने के लिए (जैसे कनेक्शन फाड़ना, एनएटी सेटअप)।
यूजरस्पेस लाइब्रेरी
नेटफिल्टर पुस्तकालयों का एक सेट भी प्रदान करता है libnetfilter
उनके नामों के उपसर्ग के रूप में, जिनका उपयोग उपयोक्ता स्थान से विभिन्न कार्यों को करने के लिए किया जा सकता है। ये पुस्तकालय GNU GPL संस्करण 2 के तहत जारी किए गए हैं। विशेष रूप से, वे निम्नलिखित हैं:
libnetfilter_queue
- iptables के साथ संयोजन के रूप में उपयोक्ता स्थान पैकेट पंक्तिबद्ध करने की अनुमति देता है; पर आधारित
libnfnetlink
libnetfilter_conntrack
- यूजरस्पेस से कनेक्शन ट्रैकिंग प्रविष्टियों में हेरफेर की अनुमति देता है; पर आधारित
libnfnetlink
libnetfilter_log
- iptables द्वारा उत्पन्न लॉग संदेशों के संग्रह की अनुमति देता है; पर आधारित
libnfnetlink
libnl-3-netfilter
- कतारों, कनेक्शन ट्रैकिंग और लॉग पर संचालन की अनुमति देता है; का हिस्सा
libnl
परियोजना[10] libiptc
- iptables फ़ायरवॉल नियमसेट में परिवर्तन करने की अनुमति देता है; यह किसी पर आधारित नहीं है
netlink
पुस्तकालय, और इसका एपीआई आंतरिक रूप से उपयोग किया जाता हैiptables
उपयोगिताओं libipset
- आईपी सेट पर संचालन की अनुमति देता है; पर आधारित
libmnl
.
नेटफिल्टर वर्कशॉप
नेटफिल्टर प्रोजेक्ट डेवलपर्स के लिए एक वार्षिक बैठक आयोजित करता है, जिसका उपयोग चल रहे अनुसंधान और विकास प्रयासों पर चर्चा करने के लिए किया जाता है। 2018 नेटफिल्टर कार्यशाला जून 2018 में बर्लिन, जर्मनी में हुई।[11]
यह भी देखें
- बर्कले पैकेट फ़िल्टर
- ओपन सोर्स लाइसेंस मुकदमेबाजी #Geniatech v. McHardy_(2018)|Geniatech v. McHardy (2018) मुकदमा
- आईपी वर्चुअल सर्वर (आईपीवीएस, एलवीएस का हिस्सा)
- ipchains, iptables का पूर्ववर्ती
- आईपीफ़ायरवॉल
- लिनक्स वर्चुअल सर्वर (LVS)
- नेटलिंक, नेटफिल्टर एक्सटेंशन द्वारा उपयोग किया जाने वाला एपीआई
- नेटवर्क अनुसूचक , नेटवर्क स्टैक का एक अन्य निम्न-स्तरीय घटक
- एनपीएफ (फ़ायरवॉल)
- पीएफ (फ़ायरवॉल)
- सीधी फ़ायरवॉल
संदर्भ
- ↑ "netfilter/iptables project homepage - The netfilter.org project". netfilter.org. Retrieved 2014-07-04.
- ↑ "Flow offload infrastructure". LWN.net.
- ↑ "Flow offload infrastructure". LWN.net.
- ↑ 4.0 4.1 Jonathan Corbet (2013-08-20). "The return of nftables". LWN.net. Retrieved 2013-10-22.
- ↑ Neira Ayuso, Pablo (14 June 2006). "Netfilter's Connection Tracking System" (PDF).
- ↑ "IP sets". ipset.netfilter.org. Retrieved 2014-07-04.
- ↑ Patrick McHardy (2013-08-07). "netfilter: implement netfilter SYN proxy". LWN.net. Retrieved 2013-11-05.
- ↑ "netfilter: add SYNPROXY core/target". kernel.org. 2013-08-27. Retrieved 2013-11-05.
- ↑ "netfilter: add IPv6 SYNPROXY target". kernel.org. 2013-08-27. Retrieved 2013-11-05.
- ↑ "Netfilter Library (libnl-nf)". infradead.org. 2013-04-02. Retrieved 2013-12-28.
- ↑ "14th Netfilter Workshop". workshop.netfilter.org. 2018-09-26. Retrieved 2018-09-26.