Iptables: विशिष्ट पोर्ट के माध्यम से केवल एक आईपी की अनुमति कैसे दें?


25

मैं अपने ubuntu सर्वर पर, Iptables में केवल एक विशिष्ट पोर्ट पर एक आईपी एड्रेस की अनुमति कैसे दे सकता हूं?

धन्यवाद

जवाबों:


48

एक लाइन:

iptables -I INPUT \! --src 1.2.3.4 -m tcp -p tcp --dport 777 -j DROP  # if it's not 1.2.3.4, drop it

एक और अधिक सुंदर समाधान:

iptables -N xxx # create a new chain
iptables -A xxx --src 1.2.3.4 -j ACCEPT  # allow 1.2.3.4
iptables -A xxx --src 1.2.3.5 -j ACCEPT  # allow 1.2.3.5
iptables -A xxx --src 1.2.3.6 -j ACCEPT  # allow 1.2.3.6
iptables -A xxx -j DROP  # drop everyone else
iptables -I INPUT -m tcp -p tcp --dport 777 -j xxx  # use chain xxx for packets coming to TCP port 777

क्या आप जानते हैं कि मुझे इस OUTPUT में भी जोड़ना चाहिए?
अनामनाम

@Camran: आप और अधिक विशिष्ट होने की जरूरत है। इस विशेष मामले में, यदि आप अपने INPUTसाथ प्रतिस्थापित करते OUTPUTहैं तो सर्वर के कुछ पतों का उपयोग करके भेजे गए कुछ पैकेटों को ब्लॉक कर देंगे (और रूट किए / फॉरवर्ड नहीं किए गए)। मुझे संदेह है कि यह समझ में आता है, जब तक कि आप उन कार्यक्रमों को अवरुद्ध करना चाहते हैं जो कुछ विशिष्ट इंटरफेस से बंधते हैं।
क्रिस्टियन सियुपिटु

1
मत भूलो कि आप अपने स्रोतों को एक श्रृंखला में भी निर्दिष्ट कर सकते हैं जैसे:--src 1.2.3.4/30
deed02392

मैं बाद में श्रृंखला में एक नया अनुमत आईपी कैसे जोड़ूंगा? क्या मुझे पहले DROP को निकालना होगा, फिर नए उपयोगकर्ता को दर्ज करना होगा और DROP को फिर से सम्मिलित करना होगा या कोई बेहतर उपाय है?
maddo7

2
@ माथियास:iptables -I xxx --src 7.8.9.10 -j ACCEPT
क्रिस्टियन सियुपिटु

0

मेरे CentOS सिस्टम में से एक का उदाहरण दिया गया है (पते को मान लिया गया है):

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 1.2.3.4 -d 5.6.7.8 --dport 22 -j ACCEPT

सेंटो पर, इस कॉन्फ़िगरेशन को स्थायी बनाने के लिए कहाँ है? (उबंटू में, हम /etc/network/if-up.d/anyfile का उपयोग कर सकते हैं)
कोकिज़ु

CentOS पर यह है: service iptables save
मार्टिन ज़िट्लर

0

मैं IP तालिका को कॉन्फ़िगर करने के लिए shorewall का उपयोग करता हूं। एक नियम का उपयोग करें जैसे एक होस्ट से पोर्ट 123 तक स्वीकार करना।

ACCEPT नेट: 192.0.2.1 $ FW tcp 1234

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