नेटफिल्टर वेब साइट पर आधिकारिक और अनुशंसित प्रलेखन के लिंक मौजूद हैं।
यह कोई नया विषय नहीं है, संसाधन असीम हैं ।
अधिकांश बुनियादी आदेश काफी सहज हैं और आसानी से मैनपेज का संदर्भ हो सकते हैं ।
netfilter, जो कर्नेल स्तर की तकनीक है जो पैकेट को छानने में सक्षम बनाता है, काफी उन्नत है। अतिरिक्त तालिकाएँ हैं जो पैकेटों का अनुवाद कर सकती हैं, पैकेटों का अनुवाद कर सकती हैं और अन्यथा रूटिंग को प्रभावित कर सकती हैं। iptablesउपयोगिता नेटफिल्टर के साथ बातचीत के लिए userland उपकरण है। यदि आप उन्नत कार्यक्षमता के बारे में सीखना चाहते हैं, तो मेरा सुझाव है कि आप उपरोक्त दस्तावेज का संदर्भ लें। बुनियादी कार्यक्षमता के लिए एक परिचय के लिए, कृपया आगे पढ़ें।
सभी मौजूदा नियमों को सूचीबद्ध करने के लिए:
iptables -L -n
-n IPtables को ips को हल करने से रोकता है, जो तेजी से उत्पादन करता है।
डिफॉल्ट टेबल वह filterटेबल होती है, जो तीन चेन में बेसिक फायरवॉल रूल्स लागू करने के लिए इस्तेमाल की जाती है। में तीन डिफ़ॉल्ट चेन filterतालिका हैं INPUT, OUTPUT, और FORWARD।
श्रृंखला काफी हद तक आत्म व्याख्यात्मक हैं। INPUT श्रृंखला में आने वाले पैकेट को प्रभावित करता है, OUTPUT श्रृंखला स्थानीय रूप से उत्पन्न पैकेटों को प्रभावित करती है, और अंत में सिस्टम के माध्यम से उस मार्ग के किसी भी पैकेट के लिए अग्रेषित करती है।
जिन लक्ष्यों को आप निर्दिष्ट कर सकते हैं, उनमें आप DROPपैकेट दे सकते हैं , जिसका अर्थ है केवल अनदेखा करना और प्रतिक्रिया न करना। आप REJECTपैकेट ले सकते हैं , जहां इनकार के स्रोत पर एक आईसीएमपी प्रतिक्रिया भेजी जाएगी। अंत में, आप ACCEPTउन्हें कर सकते हैं, जो पैकेट को रूट करना जारी रखने की अनुमति देता है।
अक्सर एक बाहरी सामना करने वाले फ़ायरवॉल के साथ डिफ़ॉल्ट विकल्प का DROPविरोध किया जाएगा REJECT, क्योंकि यह इंटरनेट पर आपके नेटवर्क के दृश्यमान पदचिह्न को कम करता है। उदाहरण के लिए, एक आईपी जो किसी विशिष्ट होस्ट के लिए सेवाओं को सीमित करता है, उसके साथ कम दृश्यता होगी DROP।
ध्यान दें, का -Aअर्थ है श्रृंखला के अंत में संलग्न करें। यदि आप शीर्ष पर सम्मिलित करना चाहते हैं, तो आप उपयोग कर सकते हैं -I। सभी नियमों को ऊपर से नीचे संसाधित किया जाता है। -Dहटाने के लिए।
करने के लिए DROPएक इनकमिंग पैकेट से आ रही 192.168.235.235:
iptables -A INPUT -s 192.168.235.235 -j DROP
यह DROPउस आईपी से आने वाले सभी प्रोटोकॉल के लिए लक्ष्य के लिए कूदता है ।
मंजूर करना:
iptables -A INPUT -s 192.168.235.235 -j ACCEPT
अपने स्थानीय सर्वर या नेटवर्क से उस आईपी तक पहुंचने से रोकने के लिए:
iptables -A OUTPUT -d 192.168.235.235 -j DROP
आप -pप्रोटोकॉल, -sपैकेट के स्रोत, पैकेट के लिए -dगंतव्य, गंतव्य बंदरगाह --dport, स्रोत बंदरगाह --sportऔर कई अन्य झंडे को निर्दिष्ट कर सकते हैं जो इस बात को प्रभावित करेंगे कि पैकेट को नियम द्वारा कैसे व्यवहार किया जाता है।
यदि आपकी डिफ़ॉल्ट INPUTनीति थी DROPऔर आप 192.168.123.0/24सबनेट पर अपने सर्वर पर एसएसएच का उपयोग करने की अनुमति देना चाहते थे , तो यहां एक उदाहरण है:
iptables -A INPUT -s 192.168.123.0/24 -p tcp --dport 22 -j ACCEPT
यह सही है, आप CIDR नोटेशन का भी उपयोग कर सकते हैं !
सामान्यतया, DROPसभी चेन के लिए सबसे अच्छी डिफ़ॉल्ट पॉलिसी है । प्रत्येक श्रृंखला में एक डिफ़ॉल्ट नीति होती है, जिसे -Pध्वज द्वारा निर्दिष्ट किया जाता है । यहां तक कि अगर आपने अपनी पॉलिसी को डिफ़ॉल्ट रूप से सेट किया है DROP, तब भी यह सलाह दी जाती है कि एक चेन में अंतिम प्रविष्टि के DROPरूप में अच्छी तरह से होना चाहिए ।
उदाहरण के लिए, DROPINPUT, FORWARD और OUTPUT श्रृंखलाओं के लिए नीति बदलने के लिए:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
सावधान रहें , यदि आप पहले खुद को एसएसएच एक्सेस की अनुमति के बिना रिमोट सिस्टम पर INPUT के लिए DROP की डिफ़ॉल्ट नीति निर्दिष्ट करते हैं, तो आप सिस्टम को एक्सेस करने से खुद को रोक सकते हैं। यदि दूरस्थ सिस्टम पर, आप एक असफल क्रेफ़ैट के रूप में हर 5 मिनट में सभी नियमों को फ्लश करने के लिए एक अस्थायी क्रॉस्टैब निर्दिष्ट कर सकते हैं।
सभी नियमों को हटाने और सभी ट्रैफ़िक को अनुमति देने के लिए:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -X
iptables -F
ध्यान दें, -Xसभी बनाई गई श्रृंखलाओं को निकालता है। -Fसभी नियमों की धज्जियाँ उड़ाता है।
नियमों को बचाने और पुनर्स्थापित करने के लिए देशी उपकरण हैं। विशेष रूप से, iptables-saveऔर iptables-restore। अधिकांश आधुनिक लिनक्स वितरण है saveऔर restoreएक iptables के भीतर काम करता है सिस्टम के साथ प्रदान की गई फ़ाइल init।
अन्य फ़ायरवॉल सर्वोत्तम अभ्यास हैं, जैसे कि विकृत पैकेट और अन्य प्रकार के अवांछनीय ट्रैफ़िक को छोड़ना। Shorewall जैसे फ्रंट एंड यूटिलिटी का उपयोग करने का यह एक फायदा है , क्योंकि यह डिफ़ॉल्ट रूप से इनमें से कई पॉलिसियों को लागू करेगा। फिर भी, मैं आपके दृष्टिकोण से सहमत हूं और अपने स्वयं के नियमों को भी सीधे बनाए रखना पसंद करता हूं, और इन सबसे अच्छी प्रथाओं को बिना किसी अंत के लागू किया जा सकता है।