कर्नेल के iptables पूरी तरह से खाली होने के साथ ( iptables -F), यह वही करेगा जो आप पूछते हैं:
# iptables -A INPUT -p tcp --dport 22 -s 192.168.0.0/24 -j ACCEPT
# iptables -A INPUT -p tcp --dport 22 -s 127.0.0.0/8 -j ACCEPT
# iptables -A INPUT -p tcp --dport 22 -j DROP
यह कहता है कि सभी LAN पतों को टीसीपी पोर्ट 22 से बात करने की अनुमति है, जो कि लोकलहोस्ट को समान विचार मिलता है (हाँ, 127। * सिर्फ 127.0.0.1), और हर दूसरे पते के पैकेट उन दो पहले नियमों से मेल नहीं खाते जो अनजाने में गिरा दिए गए। बिट बाल्टी । आप उपयोग कर सकते हैं REJECTके बजाय DROPबजाय TCP पोर्ट 22 पैकेट के लिए एक काला छेद बनाने का है, तो आप एक सक्रिय अस्वीकृति (टीसीपी आरएसटी) चाहते हैं।
यदि आपका LAN 192.168.0। * ब्लॉक का उपयोग नहीं करता है, तो आपको स्वाभाविक रूप से अपने LAN की IP योजना से मिलान करने के लिए पहली पंक्ति में IP और मास्क को बदलना होगा।
यदि आपका फ़ायरवॉल पहले से ही कुछ नियमों को कॉन्फ़िगर करता है, तो ये कमांड्स नहीं कर सकते हैं। ( iptables -Lयह पता लगाने के लिए रूट के रूप में कहें ।) अक्सर क्या होता है कि मौजूदा नियमों में से एक पैकेट को फ़िल्टर करने की कोशिश कर रहे हैं, ताकि नए नियमों को लागू करने का कोई प्रभाव न हो। जब आप नए नियमों को एक श्रृंखला के बीच में विभाजित करने के बजाय उन्हें जोड़ने के आदेश -Iके -Aसाथ उपयोग कर सकते हैं iptables, तो आमतौर पर यह पता लगाना बेहतर होता है कि चेन सिस्टम बूट पर कैसे पॉपुलेट होते हैं और उस प्रक्रिया को संशोधित करते हैं ताकि आपके नए नियम हमेशा स्थापित हों सही क्रम।
आरएचईएल 7+
हाल ही में RHEL प्रकार की प्रणालियों पर, firewall-cmdइसका उपयोग करने का सबसे अच्छा तरीका है या इसके GUI समकक्ष। यह ओएस के firewalldडेमन को बताता है कि आप क्या चाहते हैं, जो वास्तव में पॉप्युलेट करता है और जो आप के माध्यम से देखते हैं उसे हेरफेर करता है iptables -L।
RHEL 6 और इससे पहले
पुराने आरएचईएल सिस्टम पर, फायरवॉल चेन को संशोधित करने का सबसे आसान तरीका जब मामलों को संपादित करना होता है /etc/sysconfig/iptables। OS का GUI और TUI फ़ायरवॉल टूल सरल हैं, इसलिए एक बार जब आप इस तरह के और अधिक जटिल नियमों को जोड़ना शुरू करते हैं, तो बेहतर है कि आप अच्छी पुरानी कॉन्फ़िग फ़ाइलों में वापस जाएँ। खबरदार, एक बार जब आप ऐसा करना शुरू करते हैं, तो आप अपने परिवर्तनों को खोने का जोखिम उठाते हैं यदि आप कभी भी कॉन्फ़िगरेशन को संशोधित करने के लिए ओएस के फ़ायरवॉल टूल का उपयोग करते हैं, क्योंकि यह नहीं पता हो सकता है कि इन जैसे दस्तकारी नियमों से कैसे निपटें।
उस फ़ाइल में ऐसा कुछ जोड़ें:
-A RH-Firewall-1-INPUT -p tcp --dport 22 -s 192.168.0.0/24 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp --dport 22 -s 127.0.0.0/8 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp --dport 22 -j DROP
जहां आप इसे जोड़ते हैं वह मुश्किल बिट है। अगर आपको उस फ़ाइल के बारे में बात करते हुए एक लाइन मिल जाए --dport 22, तो बस इसे ऊपर की तीन पंक्तियों से बदल दें। अन्यथा, यह संभवतः पहले से मौजूद मौजूदा लाइन से पहले समाप्त हो जाना चाहिए -j ACCEPT। आम तौर पर, आपको iptables के काम करने के तरीके से कुछ परिचितता हासिल करनी होगी , जिस बिंदु पर सही प्रविष्टि बिंदु स्पष्ट होगा।
उस फ़ाइल को सहेजें, फिर service iptables restartफ़ायरवॉल नियमों को फिर से लोड करने के लिए कहें । कंसोल में लॉग इन करते समय ऐसा करना सुनिश्चित करें, अगर आप संपादन को मोटा-मोटा करते हैं! SSH पर लॉग इन करते समय आप अपने आप को अपनी मशीन से लॉक नहीं करना चाहते हैं।
ऊपर दिए गए आदेशों की समानता कोई संयोग नहीं है। इस फ़ाइल में अधिकांश iptablesकमांड में तर्क होते हैं । उपरोक्त के सापेक्ष अंतर यह है कि iptablesकमांड को गिरा दिया INPUTजाता है और श्रृंखला का नाम विशेष आरएचईएल-विशिष्ट RH-Firewall-1-INPUTश्रृंखला बन जाता है । (यदि आप फ़ाइल को अधिक विस्तार से जांचना चाहते हैं, तो आप पहले उस फ़ाइल में देखेंगे जहाँ उन्होंने अनिवार्य रूप से INPUTचेन का नाम बदल दिया है । ऐसा क्यों कह सकते हैं।)