एक एकल होस्ट नाम के लिए प्वाइंट मल्टीपल आईपी पते


25

विंडोज सिस्टम में, इस फाइल में है C:\WINDOWS\system32\drivers\etc\hosts। यह फ़ाइल हमें होस्ट नाम के लिए एक विशिष्ट आईपी पते को डिफ़ॉल्ट करने की अनुमति देती है।

मुद्दा अब यह है कि क्या मैं एक होस्ट नाम के लिए कई आईपी पते सेट कर सकता हूं। उदाहरण के लिए, क्या मैं ऐसा कुछ कर सकता हूं:

192.168.244.128   gateway.net
192.168.226.129   gateway.net

और उम्मीद करें कि ब्राउज़र उन दोनों को हल कर सकता है, देखें कि कौन सा काम करेगा और इस तरह उस बिंदु को इंगित करेगा?

यदि नहीं, तो क्या मुझे जो व्यवहार चाहिए, उसे पाने का कोई और तरीका है?

नोट: मैं अपने स्थानीय क्षेत्र नेटवर्क में इस ऐप को तैनात कर रहा हूं, इसलिए इंटरनेट की कोई आवश्यकता नहीं है।

जवाबों:


25

आम तौर पर आप ऐसा करने के लिए मेजबानों का उपयोग नहीं करेंगे, लेकिन आपका डीएनएस। यदि आप ज़ोन में एक नाम के लिए कई A रिकॉर्ड असाइन करते हैं, तो अधिकांश DNS प्रदान करेगा जिसे "राउंड रॉबिन" कहा जाता है।

इसके बाद क्या होगा, यह पहला अनुरोध है जिसके माध्यम से प्राप्त होगा 192.168.244.128, अगला प्राप्त होगा 192.168.226.129, इत्यादि। हालाँकि, डिज़ाइन के अनुसार, आपकी स्थानीय मशीन अपने DNS रिज़ॉल्यूशन को कैश कर देगी, और आमतौर पर एक ही आईपी पते का उपयोग बार-बार करेगी, जब तक कि यह समाप्त नहीं हो जाता (टाइम टू लाइव, टीटीएल)।


1
संपादित करें: कोई बात नहीं, मैं सही खड़ा हूँ !! नीचे पोस्ट किया गया
मैग्नाविस

17

हां, आप ऐसा कर सकते हैं, मैंने इसका उपयोग राउंड-रॉबिन डीएनएस परिदृश्यों का परीक्षण करने के लिए किया है, वास्तव में एक डीएनएस में मेजबानों को दर्ज किए बिना।

जब कोई एप्लिकेशन gethostbyname को कॉल करता है, तो यह आईपी पते (पूरी तरह से यादृच्छिक क्रम में - पुस्तकालयों / ओएस पर निर्भर करता है) की पूरी सूची वापस मिल जाती है।


2
+1 वास्तव में प्रश्न का उत्तर देने के लिए
CLF

यू कहने का मतलब है कि यह एक बेतरतीब ढंग से ले
जाएगा..में

12

मुझे लगता है कि आप इस बारे में गलत तरीके से जा रहे हैं। अगर मैं यहां गलत धारणा बना रहा हूं तो मुझे बताएं।

परिदृश्य:

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

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

सुझाया गया समाधान:

हार्डवेयर लोड बैलेंसर: कुछ ब्रांड नाम हैं अल्टोन, बिग-आईपी, बाराकुडा। यह जो करता है वह मूल रूप से आपके उपयोगकर्ताओं के लिए एक एकल IP प्रस्तुत करता है और यह वेब सर्वर से अनुरोधों को जोड़ने के लिए है। यदि सर्वरों में से एक अनुपलब्ध हो जाता है, तो यह अब इसे ट्रैफ़िक अग्रेषित नहीं करेगा। यह महंगा विकल्प है।

Network Load Balancing Services: यह एक Microsoft तकनीक है जो विंडोज़ सर्वर पर उपलब्ध है, जो आपको एक सिंगल क्लस्टर आईपी प्रदान करेगी। यह एक हार्डवेयर लोड बैलेंसर के समान परिणाम प्राप्त करता है, लेकिन एक अलग तरीके से। आपको बस इसे कॉन्फ़िगर करने की आवश्यकता है ।


1
ZEN-LB एक बहुत ही सरल और आसान लोड बैलेंसर है। हमें इसके साथ बहुत सी सफलता मिली है और इसे प्यार करता हूँ क्योंकि इसका खुला स्रोत (मुक्त)।
डेरिक

2

से http://www.unc.edu/atn/lsf/docs/7.0.5/lsf_config_ref/index.htm?hosts.5.html~main

IPv4 उदाहरण

192.168.1.1 hosta hostB 192.168.2.2 hosta hostC host-C

इस उदाहरण में, hostA के 2 IP पते और 3 उपनाम हैं। उपनाम होस्टबी पहला पता निर्दिष्ट करता है, और उपनाम होस्ट और होस्ट-सी दूसरे पते को निर्दिष्ट करते हैं। LSF आधिकारिक होस्ट नाम, hostA का उपयोग करता है, यह पहचानने के लिए कि दोनों IP पते एक ही होस्ट के हैं।


1
"LSF_CONFDIR / होस्ट का प्रारूप UNIX मशीनों पर / etc / मेजबान फ़ाइल के प्रारूप के समान है।" Ie: स्रोत नियमित होस्ट फ़ाइलों के बारे में नहीं है।
gertvdijk

1

मेरा सुझाव DNS राउंड-रॉबिन और TTL = 0 के साथ एक आंतरिक DNS सर्वर का उपयोग करना है। यदि आप एक IP / सर्वर डाउन होने पर DNS रिकॉर्ड (ऑटोमैटिक आईपी चेकिंग सिस्टम के साथ) अपडेट करते हैं, तो आपके पास एक उच्च उपलब्धता प्रणाली हो सकती है।


यह उच्च उपलब्धता के लिए एक समाधान नहीं है। DNS को इसके लिए डिज़ाइन नहीं किया गया है और इसे केवल अन्य विफल तरीकों के साथ संयोजन में उपयोग किया जाना चाहिए। बहुत सारे रिज़ॉल्वर टीटीएल कैश को अनदेखा कर देते हैं, जिससे यह तरीका अविश्वसनीय हो जाता है।
मार्क हेंडरसन

1

मैंने इसे एक होम नेटवर्क पर किया है जहां मैं लैपटॉप के वायर्ड और वायरलेस नेटवर्क इंटरफेस दोनों को स्टेटिक आईपी असाइन करता हूं, और दूसरी मशीन के होस्ट फाइल से उन दोनों आईपी एड्रेसों के लिए एक सिंगल होस्टनाम इंगित करता हूं। यह काम तो ठीक करता है।


1

से http://www.unc.edu/atn/lsf/docs/7.0.5/lsf_config_ref/index.htm?hosts.5.html~main

IPv4 उदाहरण

192.168.1.1 hosta hostB 192.168.2.2 hosta hostC host-C

इस उदाहरण में, hostA के 2 IP पते और 3 उपनाम हैं। उपनाम होस्टबी पहला पता निर्दिष्ट करता है, और उपनाम होस्ट और होस्ट-सी दूसरे पते को निर्दिष्ट करते हैं। LSF आधिकारिक होस्ट नाम, hostA का उपयोग करता है, यह पहचानने के लिए कि दोनों IP पते एक ही होस्ट के हैं।

इस उदाहरण के आधार पर मैंने निम्नलिखित 10.18.yx 192.168.zx hostA किया

जहाँ hostA एक सर्वर का होस्टनाम है जिसे मैं आंतरिक नेटवर्क (192.168.yx) और VPN (10.8.zx) दोनों से पहुँचाने का इरादा रखता हूँ।

ping hostA
sending 'ping' on 192.168.y.x [10.8.z.x]
Answer from 10.8.z.x : bytes=32 time=98 ms TTL=64
Answer from 10.8.z.x : bytes=32 time=78 ms TTL=64
Answer from 10.8.z.x : bytes=32 time=111 ms TTL=64
Answer from 10.8.z.x : bytes=32 time=136 ms TTL=64

तो यह अच्छी तरह से काम करता है और मैं होस्टनाम का उपयोग करके वीएनपी के माध्यम से सांबा प्राप्त करने में सक्षम हूं, इसलिए मेरे लिए विंडोज़ से जुड़े मामलों (लैन या वीपीएन कनेक्टेड) ​​दोनों में मेरी कनेक्टेड ड्राइव होना ठीक है।

सादर।


0

@ प्लामें दिमित्रोव आपको उस तरह के संतुलन को संभालने के लिए एक उपकरण की आवश्यकता होगी, संभवतः एक स्विच जो आपके एफडब्ल्यू के सामने बीजीपी को संभाल सकता है या यदि यह सक्षम है तो अपने परिवार कल्याण का उपयोग करें। यदि आपका Ciscos BGP को संभालता है तो इसे लागू करने पर ध्यान दें। इस तरह से आप अपने दोनों आईएसपी आईपी सिस्को / या स्विच में जा सकते हैं और लक्ष्य सर्वर में 24-बिट सार्वजनिक आईपी (2 आईएसपी आईपी से अलग) के वैध आईपी होंगे। उस बिंदु पर (आप 3 अलग-अलग सार्वजनिक IP ब्लॉक का उपयोग कर रहे हैं, जो आपके सर्वर के लिए जरूरी है, 24 BIT), आपको इस समाधान के बारे में अपने प्रत्येक ISP को जानना होगा और उन्हें समर्थन करने के लिए तैयार रहना होगा। उनके बीच बीजीपी समाधान, जो ज्यादातर करेंगे। अब, जब आपका FQDN हल करता है, तो यह आपके IP के 24 बिट ब्लॉक का समाधान करेगा, भले ही 1 ISP लाइनें नीचे चली जाएं। लक्ष्य है, आपके २४-बिट पते हमेशा आपके आईएसपी द्वारा उस २४ बिट पते को अपनी लाइनों के माध्यम से रूट करने के लिए सहमत होने के कारण उपलब्ध होंगे। यह वीपीएन के लिए भी काम करता है क्योंकि आप सभी के लिए वीपीएन का उपयोग कर रहे हैं 24 बिट पते, न कि आईएसपी से आईपी के जो आपने अपने सिस्को / या स्विच में प्लग किए थे। उस बिंदु पर आपको BGP FLAPPING से सावधान रहना होगा जहाँ यदि आपकी रेखाएँ बहुत ऊपर और नीचे जाती हैं, तो DOS प्राप्त करने वाली रेखा के कारण, DNS पते इंटरनेट पर इतने बदल जाएंगे, कि DNS सर्वर स्वचालित रूप से IP को हटा देगा। आईपी ​​के अपने 24 बिट ब्लॉक से बाहर निकलें। यह बीजीपी समाधान पर एक डॉस हमला है। उस बिंदु पर आपको BGP FLAPPING से सावधान रहना होगा जहाँ यदि आपकी रेखाएँ बहुत ऊपर और नीचे जाती हैं, तो DOS प्राप्त करने वाली रेखा के कारण, DNS पते इंटरनेट पर इतने बदल जाएंगे, कि DNS सर्वर स्वचालित रूप से IP को हटा देगा। आईपी ​​के अपने 24 बिट ब्लॉक से बाहर निकलें। यह बीजीपी समाधान पर एक डॉस हमला है। उस बिंदु पर आपको BGP FLAPPING से सावधान रहना होगा जहाँ यदि आपकी रेखाएँ बहुत ऊपर और नीचे जाती हैं, तो DOS प्राप्त करने वाली रेखा के कारण, DNS पते इंटरनेट पर इतने बदल जाएंगे, कि DNS सर्वर स्वचालित रूप से IP को हटा देगा। आईपी ​​के अपने 24 बिट ब्लॉक से बाहर निकलें। यह बीजीपी समाधान पर एक डॉस हमला है।


0

यहां कम से कम स्पष्टीकरण, विंडोज़ की दुनिया में कम से कम: आपके पास होस्ट फ़ाइल में एक एकल नाम के लिए दो आईपी पते हो सकते हैं। जब पूछा जाता है, तो सभी पते वापस कर दिए जाते हैं। ऐप (यानी ब्राउज़र) कनेक्शन बनाने तक प्रत्येक को कनेक्ट करने का प्रयास करेगा। IOW, यह समय समाप्त होने से पहले सभी पते की कोशिश करेगा। (यह एक आम गलतफहमी है क्योंकि कई लोग मानते हैं कि यह केवल "पहले" पते की कोशिश करेगा।)

आप इसे निम्न प्रयोग से सत्यापित कर सकते हैं:

होस्ट फ़ाइल में होस्ट के लिए दो या अधिक पते जोड़ें, एक असली और दूसरा नकली। (नकली पतों को छोटे वर्णानुक्रम में बनाएं।) एक ब्राउज़र खोलें और होस्टनाम से कनेक्ट करने का प्रयास करें। एक ही समय में netstat -no चलाएँ। आपको नकली पते पर कनेक्शन के प्रयास देखने चाहिए। (SYN_SENT में अटक गया) ब्राउज़र अंततः अच्छे पते पर पहुंच जाएगा और कनेक्ट हो जाएगा। कनेक्ट करने में देरी है, लेकिन यह काम करेगा।


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

तो, यह आवेदन पर आधारित काम करता है, लेकिन यह निश्चित रूप से दो आधुनिक ब्राउज़रों में काम नहीं करता है।
एंड्रयू स्टिट्ज

-1

आप मेजबान फ़ाइल के साथ ऐसा नहीं कर सकते।

आप डीएनएस के साथ ऐसा नहीं कर सकते हैं: आप एक ही नाम के लिए कई आईपी सेवा कर सकते हैं, लेकिन ब्राउज़र उन कई आईपी में से केवल एक को चुन लेगा, इसे आज़माएगा, और यदि यह होस्ट वर्तमान में नीचे है, तो ब्राउज़र कनेक्शन त्रुटि प्रदर्शित करेगा ।

एक संभावित समाधान एक प्रॉक्सी सर्वर स्थापित करना और इन दो आईपी को उन डोमेन के लिए अभिभावक के रूप में कॉन्फ़िगर करना है जो वे सेवा करते हैं। कम से कम स्क्वीड के मामले में, प्रॉक्सी एक सर्वर की कोशिश करेगा और, अगर यह विफल रहता है, तो दूसरे सर्वर का प्रयास करें। फिर इस प्रॉक्सी सर्वर का उपयोग करने के लिए अपने ब्राउज़र को कॉन्फ़िगर करें।


राउंड रॉबिन के बारे में सच नहीं है: www-archive.mozilla.org/docs/netlib/dns.html ध्यान दें कि Google की पसंद कई DNS रिकॉर्ड वापस करती है। RFC3484 के पुन: व्यवस्थित होने के बावजूद, यह स्पष्ट रूप से एक विफलता की रणनीति के रूप में कई आईपी को वापस करने में मदद करता है।
ब्रायनएएसएस

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