iptables दूसरे राउटर से लैन एक्सेस को रोकते हैं


2

मेरे पास दो टमाटर फर्मवेयर राउटर सेटअप हैं। राउटर X इंटरनेट से जुड़ा हुआ है और यह WAN पोर्ट है। राउटर Y का WAN राउटर X के LAN1 पोर्ट से जुड़ा है। मैं राउटर वाई को प्रतिबंधित करना चाहता हूं ताकि यह केवल इंटरनेट से कनेक्ट हो सके और राउटर एक्स पर स्थानीय नेटवर्क तक नहीं पहुंच सके। मैंने राउटर एक्स पर इन आईपीटेबल्स का उपयोग करने की कोशिश की है:

iptables -I FORWARD -m mac --mac-source XX:XX:XX:XX:XX -d 192.168.1.0/24 -j DROP
iptables -I FORWARD -s 192.168.1.18 -d 192.168.1.0/24 -j DROP

मैंने इन दोनों नियमों को अलग-अलग और एक साथ (राउटर X पर) आज़माया है और फिर भी मैं राउटर Y से जुड़े रहते हुए भी राउटर X पर लैन का उपयोग कर सकता हूं? (1.18 राउटर Y का WAN पता है और यह अपना NAT नेटवर्क चलाता है)

मैंने रूटर X पर TCPDUMP की कोशिश की है और LAN तक ट्रैफ़िक की पहुँच भी नहीं देख रहा है, फिर भी यह जोड़ता है?

नेटवर्क लेआउट


क्या आपको रूटर वाई पर भरोसा है? अगर ऐसा है, तो आप उन प्रतिबंधों को लागू कर सकते हैं।
डैनियल बी

यह निश्चित रूप से राउटर X की तुलना में कम भरोसेमंद है, लेकिन हां, मुझे लगता है कि मैं राउटर Y के लिए राउटर X के लिए नियत सभी पैकेटों को ड्रॉप कर सकता हूं। धन्यवाद।
सिंह

नहीं, यह सही नियम नहीं है। आपको LAN पता श्रेणियों पर लक्षित पैकेट को हटाने की आवश्यकता है। अन्यथा, आपको वीएलएएन में देखना होगा। आपका राउटर VLAN- सक्षम है या नहीं। इस तरह, आप स्विच को विभाजित कर सकते हैं ताकि ट्रैफ़िक को लिनक्स से गुजरना पड़े।
डैनियल बी

हम्मम ... इसलिए वीएलएएन पर सभी ट्रैफ़िक डालने से यह सभी राउटर से गुजर जाएगा। दिलचस्प। मेरे राउटर इसका समर्थन करते हैं। मैंने राउटर Y पर ब्लॉकिंग रेंज की भी कोशिश की, लेकिन INPUT के साथ इसने सभी ट्रैफ़िक को अवरुद्ध कर दिया, और फॉरवर्ड के साथ इसने कोई भी ब्लॉक नहीं किया: iptables -I INPUT -d 192.168.19.0/24 -j DROP iptables -I INPUT -d 192.168.22.0/24 -j DROP याiptables -I FORWARD -d 192.168.19.0/24 -j DROP iptables -I FORWARD -d 192.168.22.0/24 -j DROP
लियो

जवाबों:


1

चूँकि आप अपने राउटर के मेक और मॉडल का उल्लेख नहीं करते हैं, यहाँ सामान्य विचार है: एक उपभोक्ता-ग्रेड राउटर में आम तौर पर "WAN" पोर्ट और कई "LAN" पोर्ट होते हैं। सबसे सस्ते राउटर SoCs में दो एकीकृत नेटवर्क इंटरफेस हैं, एक WAN के लिए और एक LAN के लिए। बेशक, लैन पोर्ट की संख्या के साथ मेल नहीं खाता है - एक अंतर्निहित स्विच है।

अधिकांश राउटर में, ये स्विच वास्तव में प्रोग्राम करने योग्य होते हैं। वे पोर्ट-आधारित वीएलएएन और वीएलएएन टैगिंग कर सकते हैं। इसका मतलब है कि आप "शारीरिक रूप से अलग" नेटवर्क इंटरफ़ेस बना सकते हैं।

आमतौर पर यह इस तरह है:

   +-------------+  +--------------+
   |     CPU     |  |         LAN1 |--
 --| WAN     LAN |--| Switch  LAN2 |--
   +-------------+  |         LAN3 |--
                    +--------------+

LAN1 पर जो कुछ भी जुड़ा हुआ है (जहां आपका राउटर Y जुड़ा हुआ है) LAN2 और LAN3 तक पूरी पहुंच है।

हालाँकि, हम स्विच को फिर से कॉन्फ़िगर कर सकते हैं और दो VLAN बना सकते हैं:

   +---------------+  +--------------+
   |     CPU       |  |    Switch    |
   |         LAN.1 |--| VLAN1   LAN1 |--
 --| WAN           |  +--------------+
   |         LAN.2 |--| VLAN2   LAN2 |--
   +---------------+  |         LAN3 |--
                      +--------------+

सब कुछ सेट करने के बाद, प्रत्येक वीएलएएन सिस्टम में एक अलग नेटवर्क इंटरफ़ेस के रूप में दिखाई देगा। क्योंकि LAN1 अब LAN2 / 3 के साथ एक ही प्रसारण डोमेन पर नहीं है, OS को ट्रैफ़िक प्राप्त होता है और यह तय कर सकता है कि VLAN1 से VLAN2 तक पैकेट को आगे बढ़ाया जाए या नहीं।

भ्रम से बचने के लिए, आप आमतौर पर विभिन्न वीएलएएन के लिए एक अलग सबनेट चुनेंगे, इसलिए राउटर को वास्तव में रूट करना होगा। :)

क्या टमाटर ऐसा कर सकता है, मुझे नहीं पता। OpenWrt कर सकते हैं, और IIRC तो DD-WRT कर सकते हैं। यह अनिवार्य रूप से एक वायर्ड अतिथि नेटवर्क है।

यदि आप अलगाव के उस स्तर को प्रदान नहीं कर सकते हैं, तो आपको कुछ नियमों का उपयोग करते हुए, राउटर वाई पर प्रयास करने और फ़िल्टर करने की आवश्यकता है:

iptables -A FORWARD -d 192.168.0.0/16 -j DROP
iptables -A FORWARD -d 172.16.0.0/12 -j DROP
iptables -A FORWARD -d 10.0.0.0/8 -j DROP

वह राउटर वाई पर निर्भर करता है जिस पॉलिसी को आप चाहते हैं उसे लागू करने के लिए।


-1

समस्या यह है कि राउटर Y को आपके आंतरिक नेटवर्क तक पहुंचने के लिए FORWARD श्रृंखला की आवश्यकता नहीं है। इसका WAN इंटरफ़ेस 192.168.1.18 है और 192.168.1.0/24 के लिए बाध्य कोई भी पैकेट जो इस इंटरफ़ेस को हिट करता है, उसे स्थानीय रूप से फॉरवर्ड किए बिना स्थानीय रूप से रूट किया जाएगा।

मुझे उम्मीद है कि यदि आप अपने दूसरे नियम पर INPUT में फॉरवर्ड बदलते हैं, तो जैसे ही आप इरादा करेंगे, चीजें काम करना शुरू कर देंगी:

iptables -I INPUT -s 192.168.1.18 -d 192.168.1.0/24 -j DROP

दुर्भाग्य से नहीं - मैंने नियम को INPUT में बदल दिया है और मैं अभी भी रूटर Y से रूटर X स्थानीय नेटवर्क का उपयोग कर सकता हूं। फिर भी FORWARD या INPUT (या दोनों) के साथ मैं रूटर Y के माध्यम से जुड़े उपकरणों से इंटरनेट तक नहीं पहुंच सकता। मुझे क्या चाहिए मैं चाहता हूं कि वे इंटरनेट का उपयोग करने में सक्षम हों और राउटर एक्स से जुड़े अन्य उपकरणों को न लें।
लियो

अधिक जानकारी की आवश्यकता है। राउटर X किस नेटवर्क के लिए सेट है? राउटर Y के बारे में क्या? IPtables (फ़िल्टर और नेट) और रूट टेबल दोनों के लिए क्या दिखते हैं? कोई कारण नहीं है कि आप क्या करने की कोशिश कर रहे हैं काम नहीं करेगा, इसलिए कुछ और चल रहा है ..
मार्क

धन्यवाद मार्क। मैंने मूल प्रश्न में एक नेटवर्क लेआउट आरेख जोड़ा (लेकिन यह केवल एक लिंक के रूप में दिखाई देता है)। राउटर Y स्थानीय नेटवर्क के लिए NAT कर रहा है और यह WAN राउटर X के लैन में प्लग किया गया है जो कि NAT पर चल रहा है क्योंकि यह LAN है। लेकिन जैसा कि मैंने कहा, यहां तक ​​कि राउटर X पर tcpdump का उपयोग करने से राउटर Y या इसके किसी भी क्लाइंट से आने वाला कोई भी स्थानीय ट्रैफ़िक नहीं दिखता है। यही कारण है कि मुझे लगता है कि एक्स में हार्डवेयर स्विच, चिकित्सीय कर्नेल / iptables के परामर्श के बिना लैन मेजबानों के पैकेटों को रूट कर रहा है।
सिंह

INPUTकाम नहीं करेगा क्योंकि राउटर कभी भी पैकेज नहीं देखता है। यह एक स्विच है, सब के बाद।
डैनियल बी

अच्छी कॉल, @DanielB। इसी तरह के परिदृश्य में मैं संदर्भ के लिए उपयोग कर रहा था, मैं कई इंटरफेस के साथ एक pi2 का उपयोग कर रहा हूं, इसलिए मेरे मामले में राउटर X के बराबर एक p22 है और नेटवर्क राउटर Y पर आ रहा है एक अलग ईथरनेट इंटरफेस है और INPUT को हिट करता है पैकेट में प्रवाह के रूप में
मार्क
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.