IPTABLES के साथ IP की श्रेणी की अनुमति कैसे दें?


29

यहाँ मेरी iptables है, मैं इसे कैसे बना सकता हूँ ताकि मैं ETH1 (10.51.xx) पर आईपी की एक श्रृंखला की अनुमति दे सकूँ

# Generated by iptables-save v1.4.4 on Thu Jul  8 13:00:14 2010
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:fail2ban-ssh - [0:0]
-A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh 
-A INPUT -i lo -j ACCEPT 
-A INPUT -d 127.0.0.0/8 ! -i lo -j REJECT --reject-with icmp-port-unreachable 
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 143 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT 
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7 
-A INPUT -j REJECT --reject-with icmp-port-unreachable 
-A FORWARD -j REJECT --reject-with icmp-port-unreachable 
-A OUTPUT -j ACCEPT 
-A fail2ban-ssh -j RETURN 
COMMIT

जवाबों:


39

यदि आप केवल 10.50.0.0 (जैसे 10.50.10.20 से 10.50.10.80 के माध्यम से) के अंदर आईपी पते की एक निश्चित श्रृंखला की अनुमति देना चाहते हैं, तो आप निम्नलिखित कमांड का उपयोग कर सकते हैं:

iptables -A INPUT -i eth1 -m iprange --src-range 10.50.10.20-10.50.10.80 -j ACCEPT

यदि आप संपूर्ण श्रेणी की अनुमति देना चाहते हैं, तो आप इसके बजाय इसका उपयोग कर सकते हैं:

iptables -A INPUT -i eth1 -s 10.50.0.0/16 -j ACCEPT

IPFables मैन पेज देखें और सर्वरफॉल्ट पर यहाँ यह सवाल: व्हिटेलिस्ट ने iptables का उपयोग करके IPs (in / out) की अनुमति दी


मैं यह लाइन कहां लगाऊं?
माइक करी

उन आदेशों हैं कि आप कमांड लाइन से चल पाएंगे: [जड़ @ मेजबान ~] # iptables -एक इनपुट मैं eth1 -s 10.50.0.0/16 -j स्वीकार
runlevelsix


@runlevelsix यदि मैं 10.0.0.0 के माध्यम से 10.255.255.255 जैसी आईपी सीमा के लिए अनुमति देना चाहता था, तो क्या मैं 10.0.0.0/24 का उपयोग करूंगा?
रोबोबियर

@ माइकलाइक यह निर्दिष्ट कर रहा है कि कमांड-लाइन / आपके टर्मिनल से क्या चल रहा है। वैकल्पिक रूप से, आप इस नियम को /etc/iptables/rulesets.d (यदि आप डेबियन लिनक्स का उपयोग कर रहे हैं) में एक iptables नियमों की फाइल को "iptables" हटाकर और पंक्ति से निम्न स्थान जोड़ सकते हैं: -एक INPUT -i1 eth1 - m iprange --src-range 10.50.10.20-10.50.10.80 -j ACCEPT।
RoboBear


1

वैसे आपने देखा कि आप उन आईपी के लिए क्या अनुमति देना चाहते हैं, लेकिन 10.51.xx CIDR में अनुवाद करता है 10.50.0.0/16। तो यह लूपबैक इंटरफ़ेस के लिए लाइन जैसा कुछ होगा 127.0.0.0/8


1
iptables -A INPUT -i eth1 -m iprange --src-range 10.50.10.20-80 -j ACCEPT

निम्नलिखित त्रुटि दे सकते हैं:

iptables: Applying firewall rules: xt_iprange: range 10.50.10.20-80 is reversed and will never match

इसे ठीक करने के लिए इस तरह से पूरा आईपी डालें:

iptables -A INPUT -i eth1 -m iprange --src-range 10.50.10.20-10.50.10.80 -j ACCEPT

रेफरी: http://blog.capitar.com/iptables-ip-range-reversed/

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.