होस्टनाम सेट करने के क्या नियम हैं?


13

मेरे पास कई अमेज़ॅन EC2 सर्वर हैं और मैं कॉन्फ़िगरेशन का प्रबंधन करने के लिए शेफ का उपयोग कर रहा हूं। मैं होस्टनाम सेट करना चाहूंगा ताकि डिफ़ॉल्ट बैश प्रॉम्प्ट अधिक मददगार हो।

एक नया सर्वर लॉन्च करने के बाद अभी इसे इस प्रकार सेट किया गया है:

root@ip-10-123-123-123

चूंकि मैं इन बक्सों पर Ubuntu 12 का उपयोग कर रहा हूं इसलिए मैंने होस्टनाम के लिए संबंधित मैन पेज से परामर्श किया । इसे सेट करने के तरीके के बारे में बहुत सारी अच्छी जानकारी है, और hostname और fqdn के बारे में थोड़ी सी बात करता है, लेकिन यह वास्तव में मुझे नहीं बताता है कि मैं क्या जानना चाहता हूं:

होस्टनाम सेट करने के क्या नियम हैं?

मुझे लगता है कि hostname सेट करना उपयोगकर्ताओं और sysadmins के लिए एक सुविधा आइटम है, बॉक्स को एक चेहरा / अच्छा-नाम देता है ताकि इसे आंतरिक रूप से अधिक आसानी से पहचाना जा सके (कमांड प्रॉम्प्ट, ई-मेल जो भेजे जाते हैं,) आदि), लेकिन मैं सकारात्मक नहीं हूं।

मुझे /etc/hostsफ़ाइल में सूचीबद्ध होस्टनाम दिखाई नहीं देता है, जो एक अच्छा संकेत प्रतीत होता है कि यह बदले जाने पर नकारात्मक रूप से कुछ भी प्रभावित नहीं करेगा:

127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

क्या मैं सही रास्ते पर हूं? होस्टनाम सेट करने के क्या नियम हैं?

अपडेट करें

मैंने अपने EC2 उदाहरण पर होस्ट नाम को बदलने की कोशिश की ip-10-123-123-123करने के लिए webserverऔर hostname --fqdnअब काम करता है। अगर मैंने इसे वापस रखा तो यह ठीक काम करता है। अपाचे भी मुझे एक त्रुटि देता है जब शुरू कि यह मज़बूती से fqdn निर्धारित नहीं कर सकता। मुझे लगता है कि fqdn को गड़बड़ किए बिना होस्टनाम सेट करने का कोई तरीका होना चाहिए।


मैंने यह भी पाया कि क्या हम EC2 उदाहरणों के लिए आसानी से याद रखने वाले होस्टनाम सेट कर सकते हैं? और जो मैंने पाया उसके आधार पर एक उत्तर पोस्ट किया, लेकिन इसमें अभी भी कुछ छेद हैं।
cwd

जवाबों:


15

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


यह एक बहुत महत्वपूर्ण मुद्दा है। मैं एक से अधिक बार उत्थान करूंगा अगर मैं कर सकता था। धन्यवाद!
cwd

यह वास्तव में करता है इस सवाल का जवाब। यदि आप अपने होस्टनाम को किसी ऐसी चीज़ में बदलते हैं जो वास्तव में हल करता है तो hostname --fqdnअभी भी काम करता है।
ब्रायंट

12

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

होस्ट नाम और किसी भी नाम के बीच कोई तकनीकी संबंध नहीं है जो अन्य मशीनें आपके मशीन को नामित करने के लिए उपयोग कर सकती हैं। डीएनएस जो सामान्य रूप से एक इंटरनेट संदर्भ में एक मशीन (या अधिक सटीक, एक नेटवर्क इंटरफेस) नाम के लिए प्रयोग किया जाता है। यह एक अच्छा विचार है यदि आपका मेजबान नाम आपकी मशीन के नेटवर्क इंटरफ़ेस के DNS नाम के पहले घटक के समान है जिसे दुनिया देखती है। उदाहरण के लिए, यदि आपका सर्वर eth0ईथरनेट इंटरफेस के माध्यम से शेष दुनिया से जुड़ा हुआ है , और आईपी पते का eth0नाम है foo.example.com, तो fooअपने होस्ट नाम के रूप में चुनना एक अच्छा विचार है । यदि आप ऐसा करते हैं, तो foo.example.comअक्सर FQDN कहा जाता है(पूरी तरह से योग्य डोमेन नाम) आपकी मशीन का। लेकिन आप उन्हें बेमेल छोड़ने के लिए स्वतंत्र हैं; एक विसंगति प्रशासक को भ्रमित कर सकती है, लेकिन सॉफ्टवेयर के लिए कोई फर्क नहीं पड़ता।

होस्ट की पहचान करने के लिए कुछ नेटवर्क प्रोटोकॉल द्वारा होस्ट नाम का उपयोग किया जा सकता है। यदि ऐसा है, तो इसे होस्ट पर चल रही स्थानीय प्रक्रिया द्वारा भेजा जाना है। उदाहरण के लिए, कुछ सेटअप में, एक डीएचसीपी क्लाइंट आईपी एड्रेस प्राप्त करने के लिए होस्टनाम को डीएचसीपी सर्वर को भेजता है; डीएचसीपी सर्वर क्लाइंट के लिए कौन सा आईपी पता तय करने के लिए दावा किए गए होस्ट नाम का उपयोग कर सकता है। ऐसे सेटअप में, यह अनिवार्य है कि होस्ट नाम DNS नाम से मेल खाता हो।

संबंधित: Emacs में मेरा होस्टनाम अलग क्यों है? ; अपने होस्टनाम का उपयोग करके लैन से मशीन को कैसे सुलभ बनाया जाए


1
यह सच नहीं है कि यह अन्य मशीन द्वारा ज्ञात नहीं है। डीएचसीपी पट्टे का अनुरोध करते समय होस्टनाम को कई ओएससी द्वारा डीएचसीपी सर्वर पर भेजा जाता है, और कई डीएचसीपी / डीएनएस सर्वर स्थानीय डीएनएस क्षेत्र को अपडेट करने के लिए इसका उपयोग करते हैं। होस्टनाम mDNS द्वारा उपयोग किया जाता है, सांबा द्वारा उपयोग किया जाता है (सबसे डिफ़ॉल्ट सांबा प्रतिष्ठानों में), HTTP सर्वर में दिखाई देता है ...
स्टीफन चेज़लस

@ एससीपी का उल्लेख करने के बारे में अच्छी बात। मुझे httpd के बारे में अपनी बात नहीं मिलती: यह एक स्थानीय प्रक्रिया है जो नेटवर्क पर होस्ट नाम भेजने का निर्णय ले सकती है, लेकिन होस्ट का नाम अभी भी अन्य मशीनों के लिए नहीं जाना जाता है जब तक कि होस्ट ने इसे नहीं भेजा है।
गिल्स एसओ- बुराई को रोकें

मुझे लगता है कि यह एक अच्छा जवाब है, लेकिन थोड़ा और अधिक खेलने के बाद मुझे यकीन नहीं है कि यह पूरा हो गया है। ऐसा लगता है कि अगर मैं अपने hostname (ip-10-123-123-123) को किसी और चीज़ में बदलता हूं तो hostname --fqdnअब ec2 उदाहरण पर काम नहीं करता है और अपाचे शुरू करते समय एक चेतावनी देता है कि यह मज़बूती से fqdn निर्धारित नहीं कर सकता है। मुझे यकीन नहीं है कि इन सभी चीजों को एक साथ जोड़ने के बारे में अधिक जानकारी के लिए कहां देखना है। मुझे शुरू करने के लिए धन्यवाद।
cwd

1
hostname --fqdn(DNS) लॉगिंग में उपयोग किया जा करने के लिए प्रकट होता है। unix.stackexchange.com/questions/319737/…
sourcejedi
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.