क्या कंप्यूटर सिस्टम (लिनक्स) में केवल एक होस्ट नाम होता है?


15

hostname इसका उपयोग सिस्टम के DNS नाम को दिखाने के लिए, और इसके होस्टनाम या एनआईएस डोमेन नाम को प्रदर्शित करने या सेट करने के लिए किया जाता है।

क्या कंप्यूटर सिस्टम (लिनक्स) में केवल एक होस्ट नाम होता है?

वर्चुअल होस्टिंग में, कई होस्ट नामों को वेब सर्वर में विभिन्न रूट निर्देशिकाओं में हल किया जा सकता है। यदि एक कंप्यूटर सिस्टम (लिनक्स) में केवल एक होस्ट नाम हो सकता है, तो वर्चुअल होस्टिंग कैसे संभव है?

धन्यवाद।


DNS A या AAA एक से अधिक डोमेन के लिए एक ही IP पते की ओर इशारा करते हैं। मशीन का होस्टनाम आवश्यक रूप से महत्वपूर्ण नहीं है।
रबरस्टैम्प

(1) क्या hostnameआईपी ​​एड्रेस के होस्टनाम को हल करने में कभी आउटपुट का उपयोग किया जाता है? (2) A का अर्थ IPv4 पता, AAAA IPv6 है। एएए क्या है?
टिम

mDNS सेवाएं, जैसे avahiमशीन होस्टनाम पर निर्भर करती हैं। उस स्तिथि में,hostname.local मशीन के स्थानीय आईपी पते का समाधान करेगा। मैं देख रहा हूं कि किसी ने एक उत्तर लिखा है जो मेरी पहली टिप्पणी का विस्तार है ... साथ ही साथ मेरे ब्राउज़र सूचनाओं के लिए भी।
रबरस्टैम्प

एएए एक 'ए' शॉर्ट टाइपो है
रबरस्टैंप

वर्चुअल होस्ट का होस्टनाम से कोई लेना देना नहीं है। यह शुद्ध रूप से वेब सर्वर व्यवहार पर निर्भर करता है। HTTP रिक्वेस्ट हेडर के विभिन्न होस्ट फील्ड में सर्वर अलग-अलग प्रतिक्रिया करता है। मुझे नहीं लगता कि विशिष्ट वेब सर्वर वर्चुअल होस्ट कार्यक्षमता प्रदान करने के लिए DNS या होस्टनाम से संबंधित कुछ भी करेगा।
10: 23

जवाबों:


26

हां और ना। दो अलग-अलग चीजें हैं जिन्हें होस्टनाम कहा जाता है।

"आंतरिक" होस्टनाम मूल रूप से कर्नेल द्वारा रखा गया एक स्ट्रिंग है। यह एक hostnameकमांड (या gethostname()कॉल) द्वारा लौटाया गया है और यह एक सिस्टम (*) के भीतर अद्वितीय है ।

इसका उपयोग ज्यादातर तब किया जाता है जब कोई प्रोग्राम उस सिस्टम के लिए कुछ पहचानकर्ता को आउटपुट करना चाहता है, जिस पर वह चल रहा है। जैसे \hकि बैश के PS1होस्टनाम में फैलता है। इसी तरह, syslog-style logfiles में लॉग प्रविष्टियों पर होस्टनाम भी शामिल है।

(* हालांकि स्टीफन किट टिप्पणी के रूप में, नामस्थान का उपयोग एक ही सिस्टम पर प्रक्रियाओं के लिए विभिन्न होस्टनामों को दिखाने के लिए किया जा सकता है। इसका उपयोग ज्यादातर कंटेनरों के लिए किया जाता है, जो कि अलग-अलग प्रणालियों की तरह काम करने की कोशिश करते हैं।)

फिर दूसरे के आईपी पते को देखने के लिए अन्य सिस्टम द्वारा उपयोग किए जाने वाले DNS नाम भी हैं। एक से अधिक DNS नाम हो सकते हैं जो समान IP पते की ओर इशारा करते हैं, और इसलिए एक ही होस्ट।

आंतरिक होस्टनाम और DNS नामों को समान होने की आवश्यकता नहीं है। मान लीजिए कि किसी के पास एक वेबसर्वर है जिसे उन्होंने orange(*) कॉल करने का फैसला किया है , आईपी पते के साथ 192.0.2.9। यह दो अलग-अलग डोमेन की सेवा कर सकता है और डीएनएस की स्थापना की जाएगी www.example.orgऔर www.example.comदोनों को इंगित करेगा 192.0.2.9, जबकि सिस्टम का आंतरिक होस्टनाम orange.example.orgबस या हो सकता है orange। उस स्थिति में, डीएनएस सेटअप आमतौर पर नाम पर वापस बिंदु पर एक रिवर्स लुकअप होगा, लेकिन इसके लिए मजबूर करने के लिए कुछ भी नहीं है।192.0.2.9orange.example.org

(* क्योंकि वे फलों के बाद अपने सर्वर का नाम देना पसंद करते हैं। कोई व्यक्ति इसका उपयोग webserver1कर सकता है या ऐसा कर सकता है , लेकिन मुद्दा यह है कि इसे वास्तविक डोमेन में से एक के नाम पर रखने की आवश्यकता नहीं है।)

इसके अलावा, वर्चुअल होस्टिंग के लिए आवश्यक है कि ब्राउज़र वेब सर्वर को उस साइट का नाम बताए जिसे उसने एक्सेस करने की कोशिश की थी। अन्यथा सर्वर को यह नहीं पता होता कि क्लाइंट ने किस वर्चुअल साइट तक पहुँचने की कोशिश की है। HTTP के पास इसके लिए Hostहेडर है।


DNS नाम और आंतरिक होस्टनाम के बीच क्या अंतर है, mDNS प्रोटोकॉल है (उदाहरण के लिए अवही डेमन द्वारा कार्यान्वित ) और अन्य खोज प्रोटोकॉल। mDNS नाम की जानकारी के लिए मेजबानों के लिए एक ही नेटवर्क पर अन्य सभी मेजबानों को क्वेरी करना और अपने स्वयं के होस्टनामों को अन्य होस्ट्स पर स्पष्ट रूप से डीएनएस में स्थापित किए बिना दिखाई देना संभव बनाता है।


धन्यवाद। (1) "डीएनएस सेटअप में आम तौर पर 192.0.2.9 अंक नारंगी नाम का होता है। इसका मतलब है कि" किसी दिए गए होस्ट नाम के लिए आईपी एड्रेस प्राप्त करना हल नहीं है, इसके विपरीत क्यों? (२) क्या hostnameहोस्टनाम को आईपी पते पर हल करने में कभी आउटपुट का उपयोग किया जाता है?
टिम

(२) ... जब राउटर और मॉडेम का उपयोग करके ISP से आपके घर में एक स्थानीय वाईफाई नेटवर्क स्थापित किया जाता है, तो नेटवर्क में मौजूद मशीनों को उनके hostnameकमांड के आउटपुट से पहचाना जा सकता है , सही है? क्या hostnameनेटवर्क में निजी आईपी पतों के आउटपुट को हल करने के लिए राउटर एक DNS की तरह काम करता है ?
टिम

2
(1) के रूप में, वहाँ भी रिवर्स लुकअप हैं जो आईपी एड्रेस लेते हैं और एक नाम वापस करते हैं। (एकल नाम और एकल पते के साथ एक प्रणाली के लिए, आप स्पष्टता के लिए दोनों को दूसरे के लिए हल करना चाहते हैं)
ilkkachu

3
छोटे नेटवर्क का उपयोग किया जा सकता है mDNS। बेहतर या बदतर के लिए, यह सिस्टम मालिकों को DNS नेटवर्क के साथ पंजीकरण करने की आवश्यकता के बिना, स्थानीय नेटवर्क पर अन्य प्रणालियों द्वारा सुलभ अपने होस्टनाम का चयन करने देता है।
मार्क प्लॉटनिक

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

7

क्या कंप्यूटर सिस्टम (लिनक्स) में केवल एक होस्ट नाम होता है?

नहीं।

[मैं पूरी तरह से अनदेखा करूंगा कि कोई भी आपके होस्ट को कोई भी नाम दे सकता है, जिसे वे अपने पते की ओर इशारा करते हुए DNS रिकॉर्ड के साथ पसंद करते हैं, या यह कि इसके लिए आपके पास एक से अधिक उपनाम हो सकते हैं /etc/hosts, या किसी भी दार्शनिक विचार के बारे में कि वास्तव में नाम क्या है]

एक लिनक्स सिस्टम पर, होस्टनाम एक प्रति-प्रक्रिया संसाधन ("यूटीएस नेमस्पेस") है जो डिफ़ॉल्ट रूप से अपने बच्चों द्वारा विरासत में मिला है, लेकिन ध्वज के साथ unshare(2)या इसके clone(2)उपयोग से विस्थापित हो सकता है CLONE_NEWUTS। आपको namespaces(7)मैनपेज में देखना चाहिए ।

जैसे pids, पोर्ट नंबर, माउंट पॉइंट, आदि hostname अब एक वैश्विक पहचानकर्ता नहीं है, और इसे एड्रेस स्पेस (वर्चुअल मेमोरी) या किसी प्रक्रिया के फ़ाइल डिस्क्रिप्टर टेबल के समान ही वर्चुअलाइज्ड किया जा सकता है।

वर्चुअल होस्टिंग में, कई होस्ट नामों को वेब सर्वर में विभिन्न रूट निर्देशिकाओं में हल किया जा सकता है। यदि एक कंप्यूटर सिस्टम (लिनक्स) में केवल एक होस्ट नाम हो सकता है, तो वर्चुअल होस्टिंग कैसे संभव है?

वर्चुअल होस्टिंग कुछ पूरी तरह से अलग है, और यह आमतौर पर एक वाइल्डकार्ड डीएनएस रिकॉर्ड (जैसे। *.foo.com=> 13.13.13.13) को कॉन्फ़िगर करके किया जाता है 13.13.13.13और http Host:हैडर [1] के मूल्य के आधार पर विभिन्न निर्देशिकाओं / संसाधनों को चलाने वाले वेब सर्वर के साथ (जो अत्यधिक विन्यास योग्य है) ; अधिकांश वेब सर्वर किसी भी http हेडर के आधार पर विभिन्न संसाधनों की सेवा करने में सक्षम हैं , न कि केवल Host:)। इस सब में, सिस्टम का ओएस वेब सर्वर नाटकों पर चल रहा है कोई हिस्सा नहीं है।

[1] या https के मामले में सर्वर नाम संकेत के मूल्य पर , जो एक ही वेबसर्वर को कई वर्चुअल होस्ट के लिए विभिन्न प्रमाणपत्रों का उपयोग करने की अनुमति देता है।


मुझे इस पर आपसे असहमत होना होगा। वर्चुअल होस्टिंग के लिए, हमारे पास आमतौर पर एकल होस्ट की ओर इशारा करते हुए cname रिकॉर्ड्स का एक विशिष्ट सेट होता है। हम एक वाइल्डकार्ड DNS रिकॉर्ड का उपयोग नहीं करते क्योंकि हमारे पास वर्चुअल होस्ट की आवश्यकता वाले डोमेन के भीतर कई सिस्टम हैं। यूटीएस नामस्थान को छोड़कर (यह व्यापक रूप से कितना भी उपयोग किया जाता है?), आपके पास होस्टनामेक्टल किसी दिए गए सर्वर के लिए एकल होस्टनाम की रिपोर्टिंग है। DNS और hostnamectl ऑर्थोगोनल हैं और एक-दूसरे के साथ बहुत कम हैं।
doneal24

1
@ डौगो 'नील तुम किस बात से असहमत हो? उस वाइल्डकार्ड डीएनएस रिकॉर्ड का उपयोग उस तरीके से किया जाता है जैसे मैं इसका वर्णन करता हूं? वे बेतहाशा उपयोग करते हैं जैसे कि (सजा के लिए खेद है), चाहे आप इसे पसंद करें या नहीं। कि uts जानकारी लाइन में वर्चुअलाइज्ड प्रति प्रक्रिया है? बस यही तरीका है। जैसा कि यह विचार है कि नाम स्थान का उपयोग केवल डिब्बाबंद कंटेनरीकरण / वर्चुअलाइजेशन समाधान (जैसा कि अन्य उत्तर में सुझाया गया है) द्वारा किया जाता है, क्षमा करें लेकिन यह "केवल लड़कियां गुड़िया के साथ खेलती हैं" या "मैनुअल प्रसारण केवल भारी ट्रकों में उपयोग किया जाता है" गुणवत्ता ;-)
चाचा बिली

1

आप आमतौर पर / etc / hostname में एक सिंगल होस्टनाम सेट करते हैं। और, आप / etc / मेजबान में कई डोमेन नाम सेट करते हैं।

यूटीएस नामस्थान एकल सिस्टम को अलग-अलग प्रक्रियाओं के लिए अलग-अलग होस्ट और डोमेन नाम दिखाने की अनुमति देते हैं। : अधिक जानकारी के लिए https://en.wikipedia.org/wiki/Linux_namespaces । इसलिए, एक ही सिस्टम के लिए कई होस्टनाम और डोमेन नाम रखना संभव है। जैसे, एक ही होस्ट के अंदर डॉकटर कंटेनर में होस्ट सिस्टम की तुलना में अलग होस्टनाम होता है।

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