दो इंटरफ़ेस के बीच अग्रेषण iptables


26

इसलिए मेरे पास दो वायरलेस इंटरफेस के साथ एक लिनक्स बॉक्स है, एक स्टेशन है और दूसरा एपी है।

wlan0 (स्टेशन) - इंटरनेट कनेक्शन से जुड़ा

wlan1 (AP) - अन्य ग्राहक इससे जुड़ते हैं।

मैं चाहूंगा कि wlan1 से जुड़े क्लाइंट wlan0 पर इंटरनेट का उपयोग करने में सक्षम हों। और मैं इसे iptables के साथ करना चाहूंगा क्योंकि मेरे कर्नेल के पास समर्थन नहीं है ...

यहाँ पर मैंने अभी तक iptables के साथ कोशिश की है लेकिन यह काम नहीं कर रहा है:

iptables -A FORWARD -i wlan0 -o wlan1 -j ACCEPT
iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT

मैं किसी भी मदद की सराहना करता हूँ।


1
IPTABLES एक स्टेटफुल पैकेट-फिल्टर है, यह पैकेट्स / मंगल्स पैकेट्स को अनुमति देता है। यह एक राउटर, या ब्रिज नहीं है। आपके आदेश ट्रैफ़िक को अनुमति देने के लिए फ़ायरवॉल को समायोजित करते हैं, लेकिन वे वास्तव में इसे आगे बढ़ाने के लिए कुछ भी नहीं करते हैं।
Zoredache

इसलिए कर्नेल को एक जगह दें जिसमें आपके लिए आवश्यक विशेषताएं हों। यह सब के बाद "एक लिनक्स बॉक्स" है।
माइकल हैम्पटन

क्या मैं वह हासिल कर सकता हूं जो मैं 'मार्ग' के साथ करने की कोशिश कर रहा हूं? मैं पुल समर्थन के साथ कर्नेल को फिर से बनाने पर ध्यान दूंगा लेकिन अन्य विकल्प होने पर आश्चर्यचकित हूं।
ब्रूडी

रूट यह बताता है कि सक्षम होने के बाद उसे कहां जाना है। माइकल ने आपको बताया कि रूटिंग का समर्थन करने के लिए आपको क्या करने की आवश्यकता है। फिर आपको इसे sysctl के माध्यम से चालू करना होगा।
मैगलन

जवाबों:


35

सबसे पहले, होस्ट को इंटरनेट से बाहर जाने के लिए अपने निजी इंटरफ़ेस से कनेक्ट करने में सक्षम बनाने के लिए, आपको इंटरफेस को ब्रिजिंग करने की आवश्यकता नहीं है, आपको एक इंटरफ़ेस पर आने वाले पैकेट को दूसरे स्थान पर रूट करने की आवश्यकता है, जहां वे जंगल में जाते हैं।

ऐसा करने के लिए, आपको केवल:

  1. अपने लिनक्स बॉक्स पर अग्रेषण सक्षम करें:
  2. अपने राउटर को पार करने के लिए विशिष्ट (या यह सब) पैकेट की अनुमति दें
  3. जैसा कि किसी ने कहा, चूंकि नेटफिल्टर एक स्टेटलेस फ़ायरवॉल है, पहले से स्थापित कनेक्शन के लिए ट्रैफ़िक की अनुमति दें
  4. इंटरनेट पर जाने वाले पैकेटों पर स्रोत का पता बदलें
    गूंज 1> / proc / sys / net / ipv4 / ip_forward
    iptables-FORWARD -i wlan1 -o wlan0 -j ACCEPT
    iptables-FORWARD -i wlan0 -o wlan1 -m राज्य --स्टेट इस्टैब्लिश्ड, संबंधित
             -जे ACCEPT
    iptables -t nat-POSTROUTING -o wlan0 -j MASQUERADE

इससे हो जाना चाहिए।


मुझे लगता है कि आप शायद मतलब है: echo 1 >/proc/sys/net/ipv4/ip_forwardपहली पंक्ति के लिए
जेसन टैन

यह बात है ... पता नहीं उस लाइन के आखिरी हिस्से का क्या हुआ ... सही किया।
टॉरियन सेप

मुझे लगता है कि आपको लाइनबॉक्स बॉक्स को उनके गेटवे के रूप में उपयोग करने के लिए ग्राहकों को भी सेट करना होगा।
जेसन टैन

और फ़ॉरवर्डिंग को रीबूट्स के माध्यम से जारी रखने के लिए आप ऐसा करना चाहते हैं: 'इको "net.ipv4.ip_forward = 1" >> //etc/sysctl.conf'
जेसन टैन

1
@StudentsTea हाँ, आप करते हैं, जब तक कि आपकी iptables' FORWARDतालिका विश्व स्तर पर स्वीकार करने की नीति पर सेट न हो। आपको अभी भी natतालिका के नियमों की आवश्यकता होगी ।
थॉमस वार्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.