डोमेन नाम शामिल करें या नहीं / etc / मेजबान में?


16

मैं CentOS नोड्स का VMWare क्लस्टर स्थापित कर रहा हूं। क्या मशीन के बाद एक डोमेन नाम शामिल करना सबसे अच्छा अभ्यास है? इसे छोड़ने की संभावित समस्याएं क्या हैं? क्या एक डोमेन कॉन्फ़िगरेशन को जटिल करता है या इसे सरल करता है?

उदाहरण के लिए, अगर मेरे नोड पर है 192.168.1.93, मैं बदलना चाहिए /etc/hostsसे

127.0.0.1 localhost.localdomain localhost

सेवा

127.0.0.1 localhost.cluster localhost
192.168.1.93 computernode1.cluster computenode1

या

127.0.0.1 localhost
192.168.1.93 computenode1

या

#127.0.0.1 localhost
192.168.1.93 computenode1

या

192.168.1.93 localhost
192.168.1.93 computenode1

जवाबों:


25

में डोमेन नाम लाना /etc/hosts वैकल्पिक है, और आप किसी भी बीमार प्रभाव के बिना एक सिस्टम चला सकते हैं।

इसे छोड़ने का केवल नकारात्मक पक्ष यह है कि सिस्टम का पूरी तरह से योग्य होस्टनाम ठीक से दिखाई नहीं देगा। उदाहरण के लिए,hostname -f

पूरी तरह से योग्य होस्ट नाम काम करने का तरीका पता लगाने का तरीका:

  1. यह पहले hostname, या 'shortname' प्राप्त करता है। यह uname -nया का आउटपुट हैhostname
  2. यह उस होस्टनाम के लिए परामर्श /etc/hosts(या जो कुछ भी आपके पास है /etc/resolv.conf, और अगर नहीं मिला तो बाद के स्रोतों में वापस गिरने के लिए आईपी पता प्राप्त करता है/etc/hosts ) के लिए प्राप्त करता है।
  3. एक बार जब यह आईपी है तो यह फिर से परामर्श द्वारा एक रिवर्स लुकअप करता है /etc/hosts
  4. एक बार जब इसमें रिकॉर्ड होता है /etc/hosts, तो पहली प्रविष्टि का उपयोग पूरी तरह से योग्य होस्टनाम के रूप में किया जाता है।

संक्षेप में, यदि आप काम करने के लिए पूरी तरह से योग्य होस्टनाम चाहते हैं, तो आपको या तो करना चाहिए:

127.0.0.1 fully.qualified.hostname hostname localhost.localdomain localhost

या

127.0.0.1 localhost.localdomain localhost
1.2.3.4 fully.qualified.hostname hostname

1
मैंने उस बिंदु पर विचार नहीं किया। पूरी तरह से योग्य होस्टनाम होने के कारण एक डेस्कटॉप पीसी के लिए बेकार है, और एक लैपटॉप के लिए समस्याग्रस्त हो सकता है (क्योंकि एक लैपटॉप को विभिन्न नेटवर्क में लाया जाने की संभावना है) लेकिन यह एक सर्वर के लिए उपयोगी है। Apache2, उदाहरण के लिए, शिकायत करता है जब यह अपने FQDN का निर्धारण नहीं कर सकता है।
लैजोरगेट

@lgeorget आप केवल उपयोग कर सकते हैं libnss-myhostname जो आपके FQDN को हल करने का ध्यान रखता है, लेकिन इसमें प्रवेश की आवश्यकता नहीं है/etc/hsots
उलरिच डांगल

विन्यास ऊपर समस्याएँ हो सकती हैं, देखते हैं इसhosts फ़ाइल की स्थापना के डेबियन के वर्तमान अभ्यास पर चर्चा को , और यहlocalhost.localdomain प्रविष्टि के उपयोग (या इसके अभाव) पर है ।
Jo 15:dám

1
sudoयह भी शिकायत करता है कि होस्टनाम नहीं है /etc/hosts:sudo: unable to resolve host <hostname>
x-yuri

3

जब तक आपका होस्ट आपके डोमेन नाम से सहमत है, तब तक यह निर्दिष्ट करता है कि वह /etc/hostsकुछ भी नहीं बदलेगा। एक अन्य अभ्यास यह है कि इसे domainपैरामीटर के रूप में निर्दिष्ट किया जाए /etc/resolv.conf। निर्दिष्ट नहीं यह आपके जीवन को आसान बना सकता है यदि, एक दिन, आपका नेटवर्क व्यवस्थापक इसे बदल देता है। यह निर्दिष्ट करना कुछ भी नहीं बदलता है, जहां तक ​​मुझे पता है।

आपको निश्चित रूप से छोड़ना चाहिए 127.0.0.1 localhostया 127.0.0.1 localhost localhost.localdomainअंदर आना चाहिए /etc/hosts। कुछ एप्लिकेशन शुरू कर सकते हैं वास्तव में अजीब व्यवहार localhostआपके लूपबैक पते के अलावा किसी अन्य चीज से बांधता है क्योंकि यह वास्तव में, वास्तव में, अप्रत्याशित सेटिंग है।


2

आपको आईपी पते के बाद पहली स्थिति में पूरी तरह से योग्य डोमेन नाम निर्दिष्ट करना होगा।

जैसे हम अंदर पढ़ते हैं man 5 hosts :

प्रत्येक मेजबान के लिए एक एकल पंक्ति निम्नलिखित जानकारी के साथ मौजूद होनी चाहिए:

IP_address canonical_hostname [उपनाम ...]

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


0

मुझे यकीन नहीं है कि यह वास्तव में "वैकल्पिक" है (जैसा कि पैट्रिक ने ऊपर बताया है)। मैं अंत में नीचे nfs अनुमतियों के साथ एक समस्या को ट्रैक कर रहा हूँ: कोई भी नहीं। ऐसा लगता है कि nfs mounts (idmapd का उपयोग करके) ठीक से काम करने की अनुमति के लिए, सर्वर के डोमेन नाम को क्लाइंट के डोमेन नाम से बिल्कुल मेल खाना है। कुछ डॉक्स से मैंने पाया - hostname -fशून्य से वास्तविक होस्टनाम क्लाइंट और सर्वर के बीच समान है या आपको क्लाइंट में एक डोमेन नाम निर्दिष्ट करना होगा/etc/idmapd.conf , जिसका अर्थ है प्रत्येक ग्राहक।

क्या डोमेन नाम निर्दिष्ट करने के बारे में कोई आधिकारिक नियम है? domainnameआदेश .. / etc / hosts से बाहर लेने के लिए प्रतीत नहीं होता है तो, में / etc / hosts परेशान मुझे डाल के बाद से यह मतलब है कि यह फाइल सिस्टम पर कई स्थानों में संग्रह किया गया है ..

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