Iptables के संदर्भ में MASQUERADE क्या है?


42

में iptablesकई बार मैं लक्ष्य को देखने के Masquerade । वो क्या है? मैंने बहुत सी चीजें खोजी और पाईं। लेकिन मुझे किसी को यह समझाने की ज़रूरत है कि एक आसान तरीका समझने के लिए MASQUERADE क्या है?

एक उदाहरण ( इस उत्तर से लिया गया ) है:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

जवाबों:


33

यह एक एल्गोरिथ्म है जो iptables कार्यान्वयन पर निर्भर है जो मूल ट्रैफ़िक को बाधित किए बिना ट्रैफ़िक को रूट करने की अनुमति देता है।

जब मैं वर्चुअल वाईफाई एडेप्टर बनाना चाहता हूं और अपने वाईफाई को साझा करना चाहता हूं, तो मैं मस्कारा एल्गोरिथ्म का उपयोग करता हूं।

Im आपके वाईफाई के माध्यम से ईथरनेट कनेक्शन साझा करने के बारे में बात नहीं कर रहा है, Im आपके वाईफाई के माध्यम से वाईफाई कनेक्शन साझा करने के बारे में बात कर रहा है इसे एक आभासी एडाप्टर के साथ मर्ज कर रहा है। यह प्रभावी रूप से आपको वाईफाई के माध्यम से अपने वाईफाई कनेक्शन को साझा करने देता है।

इसे पढ़ें और नीचे स्क्रॉल करें MASQUERADE: http://billauer.co.il/ipmasq-html.html

इसे अधिक गहराई से पढ़ें: http://oreilly.com/openbook/linag2/book/ch11.html

"लिनक्स के लिए कनेक्ट" के बारे में उन सभी सवालों को MASQUERADE अहंकार को लागू करके हल किया जा सकता है।

प्रत्यक्ष उदाहरण के लिए इस पृष्ठ पर जाएँ: http://pritambaral.com/2012/05/connectify-for-linux-wireless-utot/

मैं पिछले लिंक नहीं पढ़ें !!!! लेकिन निम्नलिखित एक सटीक उद्धरण / उदाहरण है।

sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -A FORWARD -i wlan0 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

मैं वास्तव में नापसंद करता हूं कि कैसे खोज इंजन एल्गोरिदम को कुछ बुरे प्रकार के हैक के रूप में बनाते हैं .. मैं इसका उपयोग केवल अपने एंड्रॉइड फोन के साथ अपने इंटरनेट को साझा करने के लिए करता हूं।

अंतिम संस्करण: यह लिंक सबसे अच्छा है http://gsp.com/cgi-bin/man.cgi?section=3&topic=libalias


अपनी पहली कड़ी है कि था --exactly-- मैं के लिए :) क्या देख रहा हूँ की तरह
मोहम्मद रजा Rezwani

मैंने MASUERADEनियम (आपके कोड लिस्टिंग में तीसरी पंक्ति) का परीक्षण किया है और लिंक बिल्कुल साझा किया गया है और इंटरफेस में उपलब्ध है। इसलिए, मैं निराश हूं कि इसके लिए क्या FORWARDनियम है? (आपकी कोड सूची में दूसरी पंक्ति पर नियम)

34

MASQUERADE एक iptables लक्ष्य है जिसका उपयोग SNAT लक्ष्य (स्रोत NAT) के बजाय किया जा सकता है जब inet इंटरफ़ेस के बाहरी आईपी को नियम लिखने के क्षण में नहीं जाना जाता है (जब सर्वर गतिशील रूप से बाहरी आईपी प्राप्त करता है)।


आईपी ​​एड्रेस ज्ञात होने पर क्या उपयोग किया जाना चाहिए?
ल्यूक

4
@Luc, SNAT टारगेट (सोर्स नेटवर्क एड्रेस ट्रांसलेशन) डिफाइनिंग सोर्स आईपी के साथ जिसे ओरिजिनल सोर्स आईपी के बजाय ओरिजिनल होस्ट से आईपी पैकेट में रखा जाना चाहिए। इस तरह -j SNAT --to-source xx.xx.xx.xxजहां xx.xx.xx.xx वांछित इंटरफ़ेस का बाहरी आईपी है। और मैं यह नहीं कह सकता कि बाहरी आईपी ज्ञात होने पर इसका उपयोग किया जाना चाहिए। मैं नियमों को लचीला बनाने के लिए और इस समय मेरे पास मौजूद विशिष्ट बाहरी आईपी के लिए बाध्य नहीं होने के बजाय MASQUERADE का उपयोग करना पसंद करूंगा।
सेर्गेई पी। उर्फ ​​अजुर

7

आईपी ​​मस्केरडे को नेटवर्क एड्रेस ट्रांसलेशन (NAT) और नेटवर्क कनेक्शन के रूप में भी जाना जाता है जो कुछ अन्य लोकप्रिय ऑपरेटिंग सिस्टम को साझा करता है। यह मूल रूप से एक कंप्यूटर की अनुमति देने के लिए एक विधि है जिसमें एक सार्वजनिक इंटरनेट नहीं है आईपी पता इंटरनेट पर अन्य कंप्यूटरों के साथ संवाद करने के लिए एक और कंप्यूटर की मदद से इसे और इंटरनेट को बैठे बैठे।

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

यह उन मशीनों के लिए समस्या का कारण बनता है जो निजी नेटवर्क से जुड़े होते हैं वे निजी आईपी पते का उपयोग करते हैं, क्योंकि वे सीधे इंटरनेट से कनेक्ट नहीं किए जा सकते। उनके पास एक आईपी पता नहीं है जिसे सार्वजनिक इंटरनेट पर उपयोग करने की अनुमति है। IP Masquerade इंटरनेट के साथ संवाद करने के लिए एक निजी आईपी पते के साथ एक मशीन की अनुमति देकर इस समस्या को हल करता है, जबकि एक ही समय में मशीन के पैकेटों को संशोधित करने के लिए मूल निजी आईपी पते के बजाय एक वैध सार्वजनिक आईपी पते का उपयोग करता है। इंटरनेट से लौटने वाले पैकेटों को निजी आईपी मशीन तक पहुंचने से पहले मूल आईपी पते का उपयोग करने के लिए वापस संशोधित किया जाता है।

ध्यान दें कि यह इंटरनेट नेटवर्क मस्कारा तक सीमित नहीं है / नैट का इस्तेमाल एक नेटवर्क से दूसरे नेटवर्क पर जाने के लिए किया जा सकता है, इसे 10.0.0.0/24 और 192.168.0.0/24 कहें

Iptables मालिश नियम को SNAT नियम से बदला जा सकता है

iptables -t nat -A POSTROUTING -o eth2 -s 10.0.0.0/24  -j MASQUERADE

=

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth2 -j SNAT --to-source 192.168.1.2
# supposing eth2 assigned ip is 192.168.1.2

मस्काराडे और स्नैट दोनों के लिए कर्नेल स्तर पर ip_forward इनेबल्ड "1" > /proc/sys/net/ipv4/ip_forwardया स्थायी रूप से सेटिंग्स फाइल नैनो को एडिट करके इनेबल करना होता है /etc/sysctl.conf

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

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