क्यों कई NAT परतों का उपयोग करना एक बुरा विचार है या यह है?


19

एक संगठन के कंप्यूटर नेटवर्क में 192.168 / 16 IP पता श्रेणी के साथ NAT है। एक सर्वर वाला एक विभाग होता है जिसका IP पता 192.168.xy होता है और यह सर्वर इस विभाग के मेजबानों को एक अन्य NAT के साथ IP पता श्रेणी 172.16 / 16 के साथ संभालता है।

इस प्रकार NAT की 2 परतें हैं। इसके बजाय उनके पास सबनेटिंग क्यों नहीं है। यह आसान रूटिंग की अनुमति देगा।

मुझे लगता है कि NAT की कई परतें प्रदर्शन के नुकसान का कारण बन सकती हैं। क्या आप कृपया मुझे दो डिज़ाइन रणनीतियों की तुलना करने में मदद कर सकते हैं।

अपडेट करें:

@ कुछ और जानकारी

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

इस समस्या को हल कैसे करें?

इसके अलावा, अगर दो कंप्यूटर अलग-अलग NAT के पीछे हैं तो क्या उनके लिए एक-दूसरे से जुड़ने का कोई रास्ता नहीं है।


कृपया अपने प्रश्न को इसमें बदलें: "कई NAT परतों का उपयोग करना एक बुरा विचार क्यों है?"

2
एक और होमवर्क असाइनमेंट ...
जॉन रोड्स

1
नहीं। यह एक व्यावहारिक समस्या है। मैं हमेशा होमवर्क का उल्लेख करता हूं।
रोहित बंगा

3
@ जॉन (और उनके अपवित्र), यहाँ पर होमवर्क प्रश्न पूछने में कोई समस्या नहीं है। यह एक ऐसा विषय है जिस पर meta.stackoverflow.com पर दर्जनों बार चर्चा की गई है - हालाँकि व्यक्तिगत रूप से मुझे उस प्रश्न में कुछ भी दिखाई नहीं देता जो HW को इंगित करता है।
मार्क हेंडरसन

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

जवाबों:


6

बहुस्तरीय नेटिंग करने के साथ एकमात्र वास्तविक समस्या यह है कि यह आपके नेटवर्क टोपोलॉजी को भ्रमित करता है। यदि आप NAT की कई परतों का उपयोग करते हैं तो आप संगठन के सभी मेजबानों के बीच सममित रूटिंग को फेंक देते हैं और आप अपने नेटवर्क के अंदर निजी एड्रेस स्पेस को ओवरलैप करने की क्षमता में भाग लेते हैं। कल्पना कीजिए कि यदि आपने अपनी n + 1 NAT परत में एक पता श्रेणी का उपयोग किया है जो n NAT परत में उपयोग की जा रही थी। वे नेटवर्क कभी भी एक दूसरे को मार्ग नहीं दे पाएंगे, लेकिन n + 1 लेयर में होस्ट n लेयर के समान ही पता हो सकता है, जिससे सर्वर की पहचान भ्रमित हो जाएगी।

अगर मैं एक बड़े नेटवर्क की रूपरेखा तैयार कर रहा था, तो मैं केवल 10. * या 172.16-24 का उपयोग करूंगा। * हमारे किसी भी सबनेट पर मेजबानों के लिए पते। फिर अगर कुछ विभाग या व्यक्ति NAT को दोगुना करना चाहते थे, तो वे (192.168 * नेटवर्क का उपयोग करके) इस समझ के साथ कर सकते थे कि वे अपने NAT होस्ट के पीछे नेटवर्क के लिए जिम्मेदारी से हैं। मैं भी अधिक से अधिक सबनेट बनाने के लिए इच्छुक हूँ उन डबल NAT'd नेटवर्क में से किसी को भी बड़ा नहीं होने दूंगा।


9

बहु-स्तरीय NAT के साथ समस्याएं अनिवार्य रूप से सिंगल लेयर NAT के लिए समान हैं लेकिन जटिल हैं। जैसे कि:

  1. एक पैकेट जीवनकाल में किए जा रहे अतिरिक्त काम के कारण विलंबता (हालांकि यह ज्यादातर मामलों में महत्वपूर्ण होने की संभावना नहीं है)

  2. यह जानते हुए भी कि कुछ भी कहां से आता है। यदि आप यह पता लगाने की कोशिश कर रहे हैं कि कुछ अनुरोध कहां से आए हैं (शायद आपके आउटगोइंग फ़ायरवॉल ने लॉग इन किया है, जो एक समझौता मशीन की तरह लग रहा है जो स्पैम को फैलाने या अन्य संक्रमण लक्ष्यों की खोज करने की कोशिश कर रहा है), तो NAT ऐसे निदानों को और अधिक कठिन बना देता है।

  3. आने वाले कनेक्शन पोर्ट अग्रेषण, यदि आपको आने वाले कनेक्शन की आवश्यकता है, तो सेटअप और रखरखाव के लिए अधिक faf है।

  4. बंदरगाहों की सीमित संख्या। NAT विभिन्न बंदरगाहों पर स्वयं के लिए स्रोत पते का अनुवाद करके काम करता है, इसलिए उदाहरण के लिए:

    • मशीन 1 पोर्ट 1024 के उपयोग से बाहरी वेब सर्वर से बात करता है क्योंकि इसका स्रोत NAT बॉक्स के पते पर अनुवादित है, पोर्ट 10000।
    • एक ही मशीन स्रोत पोर्ट 1025 (दो समवर्ती कनेक्शन के लिए अलग-अलग स्रोत पोर्ट की आवश्यकता होती है) का उपयोग करते हुए, या किसी अन्य, वेब सर्वर समवर्ती (असामान्य नहीं) के लिए दो अनुरोध करता है। NAT बॉक्स इसका अनुवाद "मुझे स्रोत पोर्ट 10001 पर" करता है
    • एक अन्य मशीन वार्ता बाहरी सर्वर के लिए तीन कनेक्शन बनाती है। ठीक है, NAT बॉक्स इनका अनुवाद "मुझे पोर्ट 10002, 10003 और 10004 पर करता है"
    • पैकेट के रूप में बाहरी मशीनों के रूप में वापस आते हैं एनएटी बॉक्स जानता है कि यह पोर्ट 10000 पर खुद के लिए नियत सामान वास्तव में पोर्ट 1024 पर मशीन 1 पर जाना है, और अन्य सक्रिय कनेक्शन के लिए।

    यह सब ठीक है और बांका है जब तक कि आपके पास कई आउटगोइंग कनेक्शन नहीं हैं - यानी एक बड़ा नेटवर्क या मशीनों के साथ एक छोटा नेटवर्क जो कई कनेक्शन बनाते हैं (पी 2 पी एप्लिकेशन जैसे कि बिटोरेंट प्रोटोकॉल को लागू करने वाले कई समवर्ती कनेक्शन बना सकते हैं )। आईपी ​​प्रोटोकॉल में केवल 65536 पोर्ट हैं, जो 1024 से कम हैं। जबकि 60,000 बहुत आवाज़ कर सकते हैं यह जल्दी से भस्म हो सकता है तो एनएटी बॉक्स को यह तय करने की आवश्यकता है कि कौन सी पुरानी मैपिंग को हटाया जा सकता है जो आमतौर पर "सबसे पुराना ड्रॉप" के रूप में सरल नहीं है। यह अजीब बग (कारणों का निदान करने के लिए मुश्किल के लिए यादृच्छिक कनेक्शन छोड़ने) या मशीन बस थोड़ी देर के लिए नए कनेक्शन बनाने में सक्षम नहीं होने के परिणामस्वरूप हो सकता है।

  5. NAT बॉक्स पर लोड करें। यदि आप उदाहरण के लिए बहुत कम पावर बॉक्स (ऑफ-द-शेल्फ नैट सपोर्टिंग राउटर का उपयोग कर रहे हैं, बल्कि तब एक पूर्ण पीसी जो कि chunky CPU के साथ है) अपने NAT को अतिरिक्त अनुवाद कार्य करने के लिए (केवल मूल रूटिंग टेबल के अनुसार पैकेट को अग्रेषित करने की तुलना में) ) उनके माध्यम से स्थानांतरण धीमा कर सकता है। इंटरनेट एक्सेस के लिए यह एक मुद्दा (आपके नेट कनेक्शन की अड़चन होगी) होने की संभावना नहीं है, लेकिन जैसा कि आप स्थानीय नेटवर्क सेगमेंट के बीच नेटिंग कर रहे हैं यह काफी ध्यान देने योग्य हो सकता है।


बिंदु 4 यह समस्या NAT की परतों की किसी भी संख्या के लिए समान होनी चाहिए या नहीं!
रोहित बंगा

यह सच है, बिंदु 4 एकल स्तर NAT और बहु-स्तरीय NAT दोनों पर समान समस्या है, लेकिन मल्टीलेवल NAT, वर्कआउट की समस्या को बढ़ाता है, जो कनेक्शन मृत हैं (बाहरी होस्ट आंतरिक एक के रूप में ज्यादा संदर्भ नहीं जानते हैं) और निदान करता है अगर पोर्ट मैपिंग सीमाएँ एक मुद्दा बन जाए तो कठिन। यह उचित बैंडविड्थ आवंटन और अन्य ट्रैफ़िक को लागू करने और मॉनिटर करने के लिए और अधिक भ्रमित करने वाला आकार दे सकता है (हालांकि इसके चारों ओर तरीके हैं, आपके नेटवर्क टोपोलॉजी को सरल बनाना आमतौर पर बेहतर विकल्प है)।
डेविड स्पिललेट

6

प्रदर्शन हानि / गति वास्तव में आपके द्वारा उपयोग किए गए राउटर की गुणवत्ता के लिए नीचे है।

अच्छे / बुरे विचार के लिए, मैं इसके खिलाफ हूं जब केवल रूटिंग का उपयोग करना संभव है, हालांकि, यह वास्तव में पर्यावरण पर निर्भर करता है और जिसे आप पूरा करने की कोशिश कर रहे हैं।

यदि मशीनों को केवल कुछ चीजें चलाने की आवश्यकता होती है जो मानक बंदरगाहों पर साझा की जाती हैं, तो आप राउटर / नेट-देने वाले डिवाइस में जा सकते हैं और एक नियम निर्धारित कर सकते हैं कि आपको क्या चाहिए (1)। हालाँकि, यदि आप बहुत से डिवाइस टू डिवाइस कार्यों को करने जा रहे हैं, तो प्रत्येक मशीन के पास एक उचित मार्ग होना बहुत आसान होगा, क्योंकि यह स्वयं का विशिष्ट IP (2) है।

(1) उदाहरण के लिए, कई में से एक - एक मशीन में एक वेब सर्वर होता है और आप इसे दूसरों को साझा करना चाहते हैं - आप राउटर में 80 मशीन के पोर्ट के लिए एक नियम निर्धारित करेंगे, फिर बाहर के नेटवर्क से कोई भी मशीन (या अंदर) अगर नैट -लूपबैक सक्षम है) बस http: //router.ip पर जा सकते हैं और एक्सेस कर सकते हैं।

(२) हालाँकि यदि हर मशीन में एक वेब सर्वर होने वाला है, या आप बहुत सारी सेवाओं का उपयोग करने जा रहे हैं, तो आप सभी नियमों को स्थापित करने के लिए एक बुरा सपना देखने वाले हैं (लेकिन यह असंभव नहीं है)।

आपके परिदृश्य के लिए - यदि एक विभाग 192.168.xx और दूसरा 192.168.yx का उपयोग कर रहा है, तो मैं उपकरणों के माध्यम से जाऊंगा और यदि कोई ओवरलैप नहीं है, तो बस सबनेट को 24 / से 16 / या में बदलना संभव हो सकता है। दूसरे तरीके से), फिर राउटर को स्विच / या समान के साथ बदलें और सेवाओं का कोई नुकसान न हो।

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


@iamrohitbanga - आपके प्रश्नों के जवाब में (टिप्पणियों के लिए)।

तुलना करना कठिन है - रूटिंग निजी नेटवर्क के लिए अच्छी तरह से काम करता है जहां हर मशीन में हर मशीन तक पहुंचने की क्षमता होती है। नेट अच्छी तरह से काम करता है, लेकिन इसका उपयोग मुख्य रूप से उन नेटवर्कों के लिए किया जाता है जिन्हें रूट करने की आवश्यकता नहीं होती है क्योंकि आपको आमतौर पर आने वाले नियमों / मार्गों को मैन्युअल रूप से सेट करना होता है।

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

यदि आपके पास नेट के साथ दूसरी ओर एक राउटर है, तो यह बाहरी आईपी ले जाएगा और "नेट-एड" प्रदान करेगा? (शब्दावली पर यकीन नहीं ...) इंटरनेट - सभी आंतरिक मशीनों में इंटरनेट से पहुंच योग्य नहीं एक आईपी है, लेकिन, आप मैन्युअल नियम सेट कर सकते हैं - जैसे पोर्ट 80 से एक मशीन ... यह आउटगोइंग कनेक्शन (फ़ायरवॉल) के लिए बहुत अच्छा काम करता है नियमों की अनुमति), लेकिन आने वाले नियमों को स्थापित करने के लिए एक बुरा सपना हो सकता है यदि आप कई सेवाओं की मेजबानी करते हैं ... और यदि आप गतिशील बंदरगाहों (ftp, Windows AD आदि) की आवश्यकता के लिए कुछ भी करते हैं तो यह एक बुरा सपना हो सकता है।

आशा है कि यह मदद करता है, अगर आप कुछ और जानना चाहते हैं, तो बेझिझक पूछें।


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

@iamrohitbanga - अपडेटिंग उत्तर
विलियम

5

NAT (सामान्य रूप से और कई परतों के साथ विशेष रूप से) के साथ मुख्य समस्या यह है कि यह समस्या निवारण के लिए अत्यधिक कठिन हो सकता है।


4

NAT के साथ सबसे बड़ी समस्या यह है कि अनुवाद करते समय पुराना नेटवर्क सॉफ़्टवेयर होता है, जो कई अनुप्रयोगों को चोट पहुँचाता है (FTP, VoIP आदि)। आधुनिक फायरवॉल / गेटवे में अनुवाद होते हैं (सिस्को-शर्तों में फ़िक्सअप) जो इसे बहुत आसान बनाता है।

मुझे समझ में नहीं आता है कि आपकी कंपनी निजी सबनेट के बीच NAT का उपयोग क्यों करती है। सिर्फ रूट ही क्यों?


2

बस अपने नेटवर्क और क्लाइंट को IPV6 में अपग्रेड करें, फिर कभी NAT का उपयोग करने की आवश्यकता नहीं है।


1

आपके प्रश्न के नए दूसरे भाग का उत्तर देने के लिए ...

रूटर्स ब्रॉडकास्ट डोमेन को तोड़ते हैं - राउटर arp पैकेट्स को फॉरवर्ड नहीं करते हैं, वे सबनेट * के भीतर रहते हैं। आपकी विंडोज फाइल शेयरिंग (गंभीरता से?) नेटबायस प्रसारण यातायात सबनेट को नहीं छोड़ेगी।

सबनेट के साथ:

यदि आपको किसी सबनेट के बाहर से विंडोज शेयर का उपयोग करने की आवश्यकता है तो आप सीधे अपने आईपी पते का उपयोग करके या यदि आपके पास DNS या WINS सर्वर सेटअप होस्टनाम द्वारा उपयोग कर सकते हैं।

NAT के साथ:

यदि आपका NAT PAT तरह का है और इसलिए एक से एक मैपिंग नहीं है, तो आपको काम करने के लिए पोर्ट अग्रेषण को कॉन्फ़िगर करने की आवश्यकता होगी - यह खराब होगा।

जैसा कि विज्ञापन naseum पर चर्चा की गई है, NAT सामान्य रूप से एक बुरी चीज है क्योंकि यह नेटवर्क कार्यक्षमता को तोड़ता है, हम केवल इसलिए उपयोग करते हैं क्योंकि हमें करना है। IPv6 पर रोल करें।

* बेशक प्रसारण फारवर्डर / रिले / हेल्पर्स मौजूद हैं

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