होस्टनाम और / आदि / होस्ट को समझें


13

में / etc / hostname, मेरे पास है myname

में / आदि / मेजबान, मेरे पास है:

127.0.0.1   localhost.localdomain   localhost myname
::1     localhost.localdomain   localhost myname

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

ये अधिक सटीक प्रश्न मुझे इसे बेहतर समझने में मदद कर सकते हैं:

  1. उपरोक्त उदाहरण में वास्तव में मेरा होस्टनाम क्या है? mynameया कुछ और? अगर मैं इसके बजाय myname.domain.comमें था /etc/hostname, तो मेरा असली होस्टनाम क्या होगा?

  2. उदाहरण में, कमांड hostnameवापस आती है myname, जबकि कमांड hostname -fवापस आती है localhost.localdomain। मेरे मन में /etc/hostsथा कि केवल नाम और आईपी पते के बीच एक मानचित्रण है। यह एक और समारोह यहाँ सेवा करने के लिए लगता है। एक fqdn क्या है और इसका उपयोग किस लिए किया जाता है? इसे कैसे पुनर्प्राप्त किया जाता है? क्यों है localhost.localdomain?

  3. अगर मैं इसके बजाय myname.domain.comमें था /etc/hostname, hostname -fवापस आ जाएगा myname.domain.com। क्यों?

  4. इन फाइलों में डॉट के साथ fqdn का अंत क्यों नहीं होता है?

  5. कर रहे हैं hostname -dऔर dnsmydomainबराबर?

  6. मैं अपने होस्टनाम ( myname) का उपयोग किस संदर्भ में कर सकता हूं और मुझे अपने fqdn ( localhost.localdomain) का उपयोग कब करना है ?

जवाबों:


9
  1. /etc/hostnameमशीन का नाम है, जैसा कि स्थानीय रूप से चलने वाले अनुप्रयोगों के लिए जाना जाता है। /etc/hostsऔर DNS आईपी पते के साथ सहयोगी नाम। mynameIP पते पर मैप किया जा सकता है जो मशीन स्वयं एक्सेस कर सकती है, लेकिन इसे मैप करना 127.0.0.1अनैच्छिक है।
  2. नहीं /etc/hosts, लेकिन /bin/hostnameसाथ एक और कार्य करता है -f
  3. क्योंकि /etc/hostsसामान्य ज्ञान को ओवरराइड कर सकता है । इसे सावधानी से संपादित करें और अस्थायी पैच और प्रयोगों के बाद कचरे को वहां न छोड़ें।
  4. दोनों शैलियों (styles .TLD. और LD .TLD ) स्वीकार्य हैं। पूर्व अस्पष्ट है, जबकि बाद सर्वव्यापी है।
  5. पता नहीं क्या dnsmydomainहै, लेकिन संभावना नहीं है। /etc/hostsतकनीकी रूप से "डीएनएस" में कुछ नहीं मांगना।
  6. बिंदु को याद रखें 1. होस्टनाम - स्थानीय रूप से चलने वाले अनुप्रयोगों के लिए; SMB (सांबा) के रूप में ऐसे अजीबोगरीब नेटवर्क प्रोटोकॉल के लिए भी। FQDN (यदि कोई फ़ेकरी या प्लेसहोल्डर नहीं है localhost.localdomain) - बाहर से मशीन तक पहुँचने के लिए। FQDN को जहाँ उपयोग किया जाता है, उसे पुनः योग्य होना चाहिए।

1
क्या होगा यदि मेरा आईपी गतिशील (डीएचसीपी) है और समय-समय पर बदलता है? मुझे किस पते mynameपर / etc / मेजबान में उपयोग करना चाहिए ?
user156516

3

मुझे पूरी तरह से नफरत है जब कोई मुझे मैनुअल पढ़ने के लिए कहता है लेकिन इस मामले में कृपया होस्टनाम के लिए मैन पेज पर एक नज़र डालें और सबसे ज्यादा अगर आपके सभी सवालों का जवाब नहीं दिया जाना चाहिए। यह बहुत बेहतर लिखा है जितना मैं संभवतः समझा सकता हूं।

कुछ सहायता प्रदान करने के लिए, आपके प्रश्नों पर आने वाले कुछ अंश निम्नलिखित हैं: - आपका होस्टनाम वह है जो आप / etc / host में देखते हैं। - FQDN लौटाया रिज़ॉल्वर रिटर्न क्या है, इस पर आधारित है, इसलिए आप देखते हैं कि मूल्य / etc / मेजबानों में resolver के रूप में लौटाया जा रहा है क्योंकि होस्ट फ़ाइल पहले चेक करता है, फिर यह कोई आवश्यक DNS प्रश्न करता है।

जिस पर मुझे विश्वास नहीं होता है वह होस्टनाम मैन पेज (मेरे मैन पेज को फिर से पढ़ने पर आधारित) में छुआ है, इसीलिए फाइलों में प्रविष्टियाँ डॉट के साथ समाप्त नहीं होती हैं।

डीएनएस रिकॉर्ड के साथ काम करते समय उस सम्मेलन का उपयोग किया जाता है। होस्टनाम और होस्ट फ़ाइलें वास्तव में DNS रिकॉर्ड नहीं हैं। यदि आप इन प्रविष्टियों को DNS लुकअप के लिए हल करने के लिए बाइंड में कॉन्फ़िगर कर रहे थे तो डॉट का उपयोग चलन में आ सकता है (इस अच्छे संसाधन की जाँच करें: http://www.zytrax.com/books/dns/apa/dot.html )।

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


संबंधित में अंतिम डॉट के बारे में, /etc/hosts: serverfault.com/questions/336056/setting-fqdn-hostname-and-dot
जॉन WH स्मिथ

3

के उत्तर में

क्या होगा यदि मेरा आईपी गतिशील (डीएचसीपी) है और समय-समय पर बदलता है? मुझे किस पते को myname के रूप में / etc / मेजबान में उपयोग करना चाहिए?

मुझे बताते हैं, पहले, कि / etc / होस्ट नाम होस्ट की मैपिंग को संबोधित करने के लिए नाम की एक स्थिर परिभाषा है जिस पर यह स्थापित है, और केवल उस होस्ट द्वारा IP पते में नाम परिवर्तित करने के लिए उपयोग किया जाता है।

तो, विचार करने के लिए 2 बिंदु हैं - मेजबान 'myname' और बाकी सब।

उस 'मायहोस्ट' होस्ट के लिए, या तो 'होस्टहोस्ट' (जिसे / etc / होस्ट में 127.0.0.1 के रूप में परिभाषित किया गया है) का उपयोग करके वर्तमान होस्ट को देखें, या 'myname' को / etc / होस्ट लाइन में जोड़ें जो लोकलहोस्ट को परिभाषित करता है ताकि 'myname' 'हमेशा के लिए मैप, अच्छी तरह से, लोकलहोस्ट। इस तरह:

127.0.0.1 लोकलहोस्ट myname

तब यह कोई फर्क नहीं पड़ता कि आईपी क्या इंटरफेक दिया जाता है, आपके पास हमेशा एक ऐसा पता होगा जो काम करता है (एक अतिरिक्त बोनस यह है कि आपको 'myname' से 'myname' में बात करने के लिए हार्डवेयर को हिट करने की आवश्यकता नहीं है)।

अब, अन्य मेजबानों को 'myhost' खोजने के लिए जब 'myhost' में एक गतिशील IP पता है, तो आपको DNS का उपयोग करना होगा, और कहा कि DNS सर्वर को डीएचसीपी-असाइन किए गए मैपिंग को संभालना चाहिए। (ठीक है, ठीक है, ऐसे अन्य उपाय हैं जिनके बारे में मैं सोच सकता हूं, लेकिन दिमाग में आने वाली हर चीज 'मूर्खतापूर्ण से परे', IMHO में फिट होती है। ठीक है, ठीक है, ऐसी चीजें हैं जो आप मेजबान को कर सकते हैं, आईटी को डीएनएस को बताएं यह कहाँ है, लेकिन यह एक पूरी तरह से अलग प्रश्न / उत्तर धारा के योग्य है, यहाँ IMHO)


2

/ etc / hostname और / etc / मेजबान सरल हैं, लेकिन यह भी इतना सरल नहीं है ...

कैसे जल्दी से डेबियन /etc/hostnameऔर सेटअप करने के लिए/etc/hosts

1) संपादित करें / आदि / hostname

इसे स्थापित करने के 2 वैध तरीके हैं।

या तो बनाओ:

  • machine, इस प्रोसेसर के लिए एक सरल, एक शब्द का नाम।
    उदाहरण के लिए, ' joe' आपका स्व-चुना हुआ मशीन नाम हो सकता है।
    ध्यान दें कि इसके लिए / etc / मेजबान में एक उपनाम की आवश्यकता होगी, जिसे नीचे वर्णित किया गया है।

या

  • machine.domain.net, यानी एक पूरी तरह से योग्य डोमेन नाम (FQDN)।
    उदाहरण के लिए, ' joe.xyz.com'।
    (यह मान रहा है कि आपके पास joe.xyz.com से आपके joe के IP पते की ओर इशारा करने वाला DNS होस्ट 'A' रिकॉर्ड है, अर्थात joe नाम की आपकी मशीन पर। आम तौर पर आपने यह रिकॉर्ड सेट किया है जहाँ आपने अपना डोमेन नाम खरीदा है। उस पर और अधिक। एक पल।)

एक बार / etc / hostname सेट हो जाता है, तो अगला चरण कमांड्स प्राप्त करना hostname --all-fqdnऔर dnsdomainnameठीक से काम करना है, इस प्रकार, इस प्रकार है:

2) संपादित करें / आदि / मेजबानों

इसमें इस होस्ट के FQDN के लिए एक पंक्ति है , जैसे 'machine.domain.net', इस मशीन के IP पते (संभवतः एक गतिशील आईपी एड्रेस सर्वर से) के साथ इस तरह उपसर्ग करता है:

#   IP           FQDN (CANONICAL_HOSTNAME)   ALIASES
#-------------- --------------------------- ------------------------
192.168.1.14    Joe.xyz.com                 joe
  • सबसे पहले, ध्यान दें कि ऊपरी या निचला मामला यहां मायने नहीं रखतायुक्ति: हालांकि, कुछ कैप होने के बाद, हम यह नोटिस कर सकते हैं कि अगले चरणों में चीजें कहां से आती हैं। इसलिए मैंने जे ओ को बड़ा किया है ।

  • यह भी ध्यान दें कि FQDN को सही ढंग से उत्पन्न करने के लिए सरलhostname (यानी / etc / hostname = 'मशीन') के लिए, 'मशीन' नामक एक उपनाम / etc / मेजबान में मौजूद होना चाहिए। इसीलिए उर्फ जो है। (बीटीडब्लू, यह ठीक है कि यदि आप इसका उपयोग नहीं कर रहे हैं तो भी उर्फ।) अन्यथा इस उपनाम की न तो जरूरत है, न ही इसका उपयोग किया जाता है।

  • यह भी ध्यान दें कि 'domain.net' को रिजॉल्व होना चाहिए, यानी DNS में इसके लिए A रिकॉर्ड मौजूद होना चाहिए। इसे ' रिज़ॉल्वेबल ' (DNS रिज़ॉल्वर द्वारा) कहा जाता है।

3) अब इन नई सेटिंग को / etc / hostname और / etc / होस्ट को कर्नेल में इंस्टॉल करके चलाएं:

    $ /etc/init.d/hostname.sh       # Or by rebooting

4) टेस्ट होस्टनाम

$ hostname      # Reports the hostname previously read from in /etc/hostname.
joe

या

$ hostname
joe.xyz.com

सुझाव:

  • ध्यान दें कि यह वर्तमान में क्या है / आदि / होस्टनाम नहीं है, जैसे कि यदि आप इसे अभी फिर से संपादित करते हैं, लेकिन इसके बजाय /etc/init.d/hostname.sh स्क्रिप्ट द्वारा पहले जो पढ़ा गया था, संभवतः एक रिबूट के परिणामस्वरूप।

  • यह भी ध्यान दें कि 'j' लोअर केस है, इसलिए यह सुझाव देता है कि यह / etc / hostname से आ रहा है, न कि etc / host /।

5) FQDN का परीक्षण करें

$ hostname --all-fqdn   #reports the FQDN(s) matched in /etc/hosts.
Joe.xyz.com             #  It searches /etc/hosts for the joe in /etc/hostname.
                        #  Notice that the 'J' is uppercase.  
                        #     This suggest it came from /etc/hosts.

6) DNS डोमेन नाम का परीक्षण करें

$ dnsdomainname         #reports the computed DNS doman name    
xyz.com                 #  (i.e. the right most part of the FQDN; 
                        #    the part to the right of the first, left most, dot)
                        #  This is coming from Joe.xyz.com in /hosts, 
                        #    after 'Joe.' is removed.

अब यह एक वेब और ईमेल सर्वर की स्थापना को आसान बनाना चाहिए।

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