सवाल होस्टनाम - वे सब क्या हैं?


मुझे हाल ही में कुछ sysadmin काम करने के लिए "मजबूर" किया गया है, जबकि यह ऐसा कुछ नहीं है जिसे मैं बिल्कुल प्यार करता हूं, मैं पढ़ रहा हूं, प्रयोग कर रहा हूं और बहुत कुछ सीख रहा हूं।

सर्वर कॉन्फ़िगरेशन का एक मौलिक पहलू है जिसे मैं समझने में सक्षम नहीं हूं - होस्ट नामों

उदाहरण के लिए उबंटू में, किसी को होस्टनाम सेट करना चाहिए (के अनुसार लिनोड पुस्तकालय):

echo "plato" > /etc/hostname
hostname -F /etc/hostname

फ़ाइल: / Etc / hosts

127.0.0.1        localhost.localdomain        localhost
12.34.56.78      plato.example.com            plato

मेरा ये अनुमान है plato एक मनमाना नाम है और वह plato.example.com एफक्यूडीएन है।

अब मेरे प्रश्न हैं:

  • क्या यह अनिवार्य है?
  • किस उद्देश्य के लिए?
  • इसकी आवश्यकता / उपयोग कहां है?
  • मैं "स्थानीयहोस्ट" को प्रत्येक मशीन के होस्टनाम के रूप में परिभाषित क्यों नहीं कर सकता?
  • क्या मुझे इसके लिए एक DNS एंट्री सेट अप करना है plato.example.com FQDN?
  • चाहिए plato.example.com मेरे आईपी के लिए रिवर्स डीएनएस एंट्री के रूप में इस्तेमाल किया जा सकता है?

साथ ही, होस्टनाम चुनने के लिए कोई "सर्वोत्तम प्रथाएं" हैं? मैंने ग्रीक अक्षरों, ग्रहों के नाम और यहां तक ​​कि पौराणिक आंकड़ों का उपयोग करने वाले लोगों को देखा है ... जब हम अक्षरों / ग्रहों से बाहर निकलते हैं तो क्या होता है?

मुझे खेद है कि यह एक बेवकूफ सवाल है लेकिन मैं नेटवर्क कॉन्फ़िगरेशन के साथ कभी भी उत्साहित नहीं रहा हूं।


49
2018-01-28 13:10


मूल


मुझे लगता है कि क्रिस एस यहां आधार से बाहर है। प्रश्न - सिस्टम होस्टनाम क्या है और यह DNS से ​​कैसे संबंधित है - एक मान्य है। - larsks
@ क्रिस एस: मुझे यह मिल गया, मेरा विश्वास करो। मैंने इसे एक बार पढ़ने की कोशिश की लेकिन पूरी चीज ने मुझे बेहद उलझन में डाल दिया। मैं एसए बनने की आकांक्षा नहीं कर रहा हूं, बस बुनियादी बातों को थोड़ा बेहतर समझने की कोशिश कर रहा हूं। - Alix Axel
यह समुदाय विकी में जाना चाहिए - lynxman
@lynxman: मुझे यह बुरा नहीं लगता, लेकिन क्यों? - Alix Axel
क्योंकि यह बहुत दिलचस्प है :) - lynxman


जवाब:


इन दिनों, एक सिस्टम में एकाधिक इंटरफेस हो सकते हैं, प्रत्येक में एकाधिक पते होते हैं, और प्रत्येक पते में इसके साथ जुड़े कई DNS प्रविष्टियां भी हो सकती हैं। तो "सिस्टम होस्टनाम" का अर्थ क्या है?

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

जैसा कि अन्य लोगों ने इंगित किया है, सिस्टम होस्टनाम भी एक उपयोगी पहचानकर्ता है यदि आप खुद को दूरस्थ रूप से कई सिस्टम तक पहुंच पाते हैं। यदि आपके पास "लोकलहोस्ट" नामक सिस्टम से जुड़ी पांच खिड़कियां हैं तो आपको उन्हें सीधे रखने में कठिनाई होगी।

इसी तरह, हम सिस्टम होस्टनाम को मेजबाननाम से मेल खाने का प्रयास करते हैं जिसे हम सिस्टम में व्यवस्थापकीय पहुंच के लिए उपयोग करते हैं। यह सिस्टम का जिक्र करते समय भ्रम से बचने में मदद करता है (ईमेल, वार्तालाप, दस्तावेज, आदि में)।

DNS के संबंध में:

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

ध्यान दें कि यहां मैं "एप्लिकेशन" के बारे में बात कर रहा हूं, न कि "सिस्टम", क्योंकि - विशेष रूप से वेब सर्वर के साथ - विभिन्न होस्टनामों और सेवाओं से जुड़े सिस्टम पर एकाधिक आईपी पते होना आम है।

अपने आईपी मैपिंग में नाम बनाए रखने की कोशिश कर रहा है /etc/hosts जब आप सिस्टम की बढ़ती संख्या का प्रबंधन करते हैं तो फाइल जल्दी से मुश्किल हो जाती है। स्थानीय मेजबान फ़ाइल को DNS के संबंध में सिंक से बाहर निकलना बहुत आसान है, संभावित रूप से भ्रम की ओर अग्रसर होना और कुछ मामलों में खराब होना (क्योंकि कुछ ऐसे आईपी पते से जुड़ने की कोशिश करता है जो सिस्टम पर मौजूद नहीं है, उदाहरण के लिए)।


26
2018-01-28 13:33



आपके उत्तर के लिए धन्यवाद, मैं अभी भी उलझन में हूं अगर मुझे DNS प्रविष्टियों पर भरोसा करने के बजाय / etc / hosts फ़ाइल को बनाए रखना चाहिए (या आवश्यकता है)। - Alix Axel
मैं आम तौर पर अनदेखा करता हूं /etc/hosts डीएनएस के पक्ष में। यह उन स्थानों की संख्या को कम करता है जिन्हें मैं नाम -> पता मैपिंग के बारे में जानकारी बनाए रखने के लिए तैयार करता हूं। सिस्टम के बड़े पैमाने पर मैं बनाए रखता हूं, /etc/hosts इसमें केवल एक प्रविष्टि है localhost। - larsks
जब आप क्लस्टर से निपटते हैं - जैसे गैनेटी या लिनक्स-एचए / कोरोसिंक क्लस्टर - / etc / hosts क्लस्टर के सदस्यों के बीच बात करने के लिए उपयोग किया जाता है। इसके लिए पूरी तरह से DNS पर भरोसा करना बुरा है क्योंकि आपकी DNS सेवा उन समूहों पर हो सकती है और नोड परिवर्तन के दौरान माइग्रेट या ऑफ़लाइन हो रही है, इसलिए / etc / hosts और एक सही होस्टनाम आपको एक महान समय में मदद करेगा। - coredump
तो, "अद्वितीय" के संबंध में, हम "अनिवार्य" होने के बजाय "अनन्य" होने की बजाय "अनूठी" कोशिश कर रहे हैं, सही? क्योंकि वहाँ बहुत सारे सर्वर हैं और वे सभी एक ही दायरे में हैं, वास्तविक "अद्वितीय" असंभव है। क्या यह समझ सही है? - shenkwen


आप प्रत्येक होस्टनाम को "लोकलहोस्ट" पर सेट कर सकते हैं, लेकिन यह बहुत आसान है alix@plato ~ $ जब आप ssh पर मशीनों का प्रबंधन करते हैं तो आपके कमांड प्रॉम्प्ट में। यदि आप नहीं करते हैं तो सर्वर को दूरस्थ रूप से प्रबंधित करना बहुत भ्रमित हो सकता है।

जब आप कोई वेब सर्वर होस्ट करते हैं, या मेल सर्वर के लिए सही FQDN होना महत्वपूर्ण है। इस प्रकार के सर्वर अनुप्रयोगों को यह जानना पसंद है कि वे "कौन" चल रहे हैं।

एक अच्छी नामकरण योजना चुनने के लिए, मैं आपको संदर्भित करता हूं यह बहुत लोकप्रिय सवाल है

एक एफक्यूडीएन केवल तब उपयोगी होता है जब यह किसी अन्य कंप्यूटर के लिए सार्थक होता है। इसके लिए तीन स्तर हैं:

  • आपके स्थानीय नेटवर्क पर एक कंप्यूटर की मेजबान फ़ाइल में एक प्रविष्टि है जो उस मशीन को इंगित करती है
  • आपके पास आपके स्थानीय नेटवर्क पर चल रहा एक DNS सर्वर है और प्रत्येक स्थानीय कंप्यूटर जो इसे DNS सर्वर के रूप में उपयोग करता है अब प्लेटो नाम से जानता है।
  • आप एक डोमेन नाम पंजीकृत करते हैं और अब पूरी दुनिया जानता है कि किस मशीन का नाम plato.alixaxel.com है।

ईमेल भेजते समय या बाहरी दुनिया में वेब पेजों की सेवा करते समय, तीसरा वह है जिसे आप चाहते हैं। अधिकांश अन्य मामलों के लिए, आप स्थानीय DNS या यहां तक ​​कि मेजबान फ़ाइलों को संपादित करने के साथ भी कर सकते हैं।

उस स्थिति में, आप अपने स्थानीय नेटवर्क के भीतर उपयोग के लिए केवल एक डोमेन नाम बना सकते हैं (plato.alixnetwork एक FQDN के रूप में ठीक हो सकता है)। "Alixnetwork" भाग (डोमेन नाम) रखने का एकमात्र जोड़ा मूल्य सुविधा है जब आपके पास एक और स्थानीय नेटवर्क है जिसे आप इसे अलग करना चाहते हैं।


10
2018-01-28 13:21



धन्यवाद केनी, मुझे लगता है कि मेरा मुख्य संदेह यह है कि वेब / मेल सर्वर के लिए उचित एफक्यूडीएन होना क्यों महत्वपूर्ण है। इसके अलावा, एक "उचित" एफक्यूडीएन का गठन क्या होता है? क्या मुझे सिर्फ होस्टनाम को डोमेन पर प्रीपेड करना चाहिए और इसे सार्वजनिक आईपी पते पर इंगित करना चाहिए? मैं इस धारणा के तहत हूं कि मुझे मेजबाननाम के साथ ए / एएएए DNS प्रविष्टियां बनाना है, नहीं? - Alix Axel
यह इस बात पर निर्भर करता है कि आप क्या हासिल करना चाहते हैं। यदि आप प्लेटो के साथ दुनिया को ईमेल नहीं भेजते हैं या वेबपृष्ठों की सेवा नहीं करते हैं, तो उस मशीन के लिए वैश्विक DNS रिकॉर्ड बनाने की ज़रूरत नहीं है। - Kenny Rasschaert
"आप एक डोमेन नाम पंजीकृत करते हैं और अब पूरी दुनिया जानता है कि किस मशीन का नाम plato.alixaxel.com है।" - मुझे यह समझ में नहीं आता है। क्या पूरी दुनिया नहीं जानता कि plato.alixaxel.com नाम की मशीन "alixaxel.com" DNS रिज़ॉल्यूशन की जांच करके क्या करती है? एक यादृच्छिक मशीन में एक एफक्यूडीएन सेट करने के साथ क्या करना है? - shenkwen


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

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

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

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

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

दोनों के कई अन्य उपयोग हैं hosts और डीएनएस, लेकिन मुझे संदेह है कि अगर आप इसे सब पढ़ते हैं तो आपको उत्तर से अधिक प्रश्न मिल गए हैं।


8
2018-01-28 13:41



प्रश्न के साथ निराशा की अपनी प्रारंभिक भावना के बावजूद एक अच्छा जवाब लिखने के लिए समय निकालने के लिए +1। - Kenny Rasschaert
बहुत बढ़िया स्पष्टीकरण! अगर मेरी समझ एफक्यूडीएन को सही में रखती है /etc/hosts आवश्यक नहीं है, एक DNS एंट्री में होस्टनाम होने से एक ही परिणाम प्राप्त होगा, है ना? - Alix Axel
@ एलिक्स, सही, अगर प्रविष्टि DNS में है (और DNS ठीक से काम कर रहा है) तो उसे इसमें शामिल करें hosts फाइल अनावश्यक होगी। इसके अलावा प्रवेश hosts फ़ाइल DNS को ओवरराइड कर देगी (कभी-कभी परीक्षण के लिए उपयोगी होती है, हालांकि जब आप इसके बारे में भूल जाते हैं तो परेशान)। ध्यान दें कि यह ए और एएएए रिकॉर्ड के संबंध में है, होस्टनाम के लिए अन्य प्रकार के रिकॉर्ड हैं, लेकिन मैंने उन्हें स्पष्टता के लिए छोड़ दिया। - Chris S
धन्यवाद क्रिस, यह सबकुछ अधिक स्पष्ट बनाता है। - Alix Axel


कभी मेजबान को सार्थक नाम दिया जाना चाहिए। होस्टनाम एकाधिक उद्देश्यों को सर्वर कर सकता है:

1- यह आपको यह पहचानने में सहायता करता है कि आप वर्तमान में किस काम कर रहे हैं।

2- में कॉन्फ़िगर किए गए नामों का उपयोग करना /etc/hosts और / या कई आईपी पते याद रखने से DNS रिकॉर्ड्स आसान है।

3- लोकलहोस्ट वर्तमान मशीन (पता 127.0.0.1) को संदर्भित करने के लिए एक आरक्षित नाम है।

4- DNS सर्वर आपके सर्वर को सार्वजनिक रूप से सुलभ बनाने के लिए उपयोगी हैं।

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


5
2018-01-28 13:19





एक साइड नोट के रूप में: उचित रूप से आगे काम करना और डीएनएस रिज़ॉल्यूशन रिवर्स इस ग्रह पर प्रत्येक आईटी स्थापना का पूर्ण आधार है। कभी भी एक अच्छी तरह से बनाए रखा DNS और उचित होस्टनाम संकल्प की आवश्यकता को कम से कम न समझें!


2
2018-01-28 13:40



मैं समझ नहीं पा रहा हूं कि यह क्यों महत्वपूर्ण है। मेरे पास एक लिनोड सर्वर है जो कई वेबसाइटों को होस्ट करता है। होस्टनाम सेट करने के उद्देश्य को समझना नहीं, मैं बस इसे छोड़ देता हूं, जो "उबंटू" है। यह सर्वर कुछ वर्षों से चल रहा है और मुझे कभी भी कोई असुविधा महसूस नहीं होती है। मैं आपके उत्तर पर सवाल नहीं उठा रहा हूं, मैं बस यह समझने की कोशिश कर रहा हूं कि मेजबाननाम क्यों महत्वपूर्ण है। मेरे मामले में, मैं कब चाहूंगा कि मैंने मेजबाननाम सही ढंग से सेट किया हो? - shenkwen
@ शेन्केवेन - यदि आप ईमानदारी से केवल एक सर्वर रखते हैं, तो आप इसे जो भी दिल चाहते हैं उसका नाम दे सकते हैं, और यह स्पष्ट रूप से कोई फर्क नहीं पड़ता। जैसे ही सर्वर की संख्या 1 से अधिक हो जाती है, आपको प्रबंधित करने में नई समस्याएं होती हैं, और उचित नामकरण एक महत्वपूर्ण टूल है। - mfinni


अस्वीकरण: मुख्य प्रश्न लिनक्स सिस्टम के बारे में है, इसलिए यदि आप इस मुद्दे के विंडोज पक्ष में रुचि नहीं रखते हैं तो इस जवाब को अनदेखा करने के लिए स्वतंत्र महसूस करें।

वैसे भी, विंडोज सिस्टम में, अन्य उत्तरों में उल्लिखित सभी बिंदुओं के अलावा, मेजबाननाम वास्तव में ओएस द्वारा उपयोग किया जाता है। खुद नेटवर्किंग और प्रमाणीकरण उद्देश्यों के लिए; विशेष रूप से:

  • प्रत्येक प्रणाली, चाहे वह डोमेन सदस्य हो या न हो, एक अद्वितीय नाम होना आवश्यक है एक ही नेटवर्क में (यानी एक ही आईपी सबनेट में), अन्यथा नामकरण संघर्ष होगा और विभिन्न नेटवर्क सेवाएं (मुख्य रूप से फ़ाइल और प्रिंट साझाकरण) काम नहीं करेगी।
  • नेटवर्क सीमाओं के बावजूद, एक ही सक्रिय निर्देशिका डोमेन के सदस्य हैं जो सभी सिस्टम एक अद्वितीय नाम होना आवश्यक है।
  • एक डोमेन वातावरण में, सिस्टम का होस्टनाम सुरक्षा प्रिंसिपल के रूप में कार्य करता है और दूरस्थ प्रमाणीकरण के लिए उपयोग किया जा सकता है (बस मशीन के लिए उपयोगकर्ता खाते के रूप में इसके बारे में सोचें); इसे अनुमतियां और एक्सेस अधिकार असाइन किए जा सकते हैं और सुरक्षा उद्देश्यों के लिए समूहों में रखा जा सकता है। यह अंतर्निहित का उपयोग कर सिस्टम पर चल रही सभी प्रक्रियाओं को प्रभावित करता है LocalSystem तथा NetworkService उपयोगकर्ता खाते, जो सिस्टम पर चल रहे सिस्टम के प्रमाण-पत्रों का उपयोग करके अन्य सिस्टम को प्रमाणीकृत कर सकते हैं; यह f.e. की अनुमति देता है एक प्रक्रिया के रूप में चल रहा है NetworkServiceSystemA पर सिस्टम ए के उपयोगकर्ता खाते में फ़ोल्डर को अनुमति देकर SystemB पर साझा फ़ोल्डर तक पहुंचने के लिए SystemA पर।

1
2017-10-14 14:22





कई साइटें और / या माना जाता है 'व्यवस्थापक' अब बता रहे हैं कि 'होस्टनाम' विशेषता में ओएस इंस्टेंस के एफक्यूडीएन शामिल हैं, जो किसी भी संकल्प को 'ब्रेक' करता है जो इसे 'डोमेन नाम' जोड़ता है:

होस्ट नाम
  system1.domain1.org

पिंग hostname
  - system1.domain1.org.domain1.org को हल नहीं कर सकता


-1
2017-12-02 00:16



क्या आप अपने बयान के लिए संदर्भ स्रोत प्रदान कर सकते हैं? - Dave M