CentOS 7.0 এ কীভাবে সম্পূর্ণ যোগ্য হোস্টনাম সেট করবেন?


19

আমি কীভাবে CentOS 7.0 এ সম্পূর্ণরূপে যোগ্য হোস্টনাম সেট করব?

আমি কয়েকটি পোস্ট অনলাইনে দেখেছি উদাহরণস্বরূপ:

$ sudo hostnamectl set-hostname nodename.domainname

যাইহোক, ডোমেন নাম চালানো কিছুই দেয় না:

$ domainname
(none)

এছাড়াও:

$ hostname
nodename.domainname

যাহোক,

$ hostname -f
hostname: Name or service not known
$ hostname -d
hostname: Name or service not known

কিছু ডিবাগ আউটপুট:

$ cat /etc/hostname
nodename.domainname

$ grep ^hosts /etc/nsswitch.conf
hosts:      files dns

উত্তর:


30

সেট করতে হোস্টনাম Do ব্যবহার hostnamectl, কিন্তু শুধুমাত্র হোস্ট-নেম, ভালো সঙ্গে

hostnamectl set-hostname nodename


(ডিএনএস) ডোমেন নাম সম্পাদনা /etc/hostsফাইল সেট করতে এবং তা নিশ্চিত করতে:

  1. সেখানে একটি লাইন <machine's primary, non-loopback IP address> <hostname>.<domainname> <hostname>আছে
  2. এর সাথে অন্য কোনও লাইন নেই <some IP> <hostname>এবং এর মধ্যে 127.0.0.1এবং ::1(IPv6) ঠিকানার সাথে লাইন রয়েছে ।

মনে রাখবেন যে আপনি এনআইএস ব্যবহার না করা না (none)হলে, domainnameকমান্ডটি চালানোর সময় সঠিক আউটপুট ।

আপনার DNS DOMAINNAME সঠিকভাবে সেট হয় যদি ব্যবহার চেক করতে dnsdomainnameকমান্ড আউটপুট পরীক্ষা hostnameবনাম hostname -f(FQDN)।


এনআইএস বনাম ডিএনএস ডোমেন

আমি প্রথম যখন এটি জুড়ে এসেছি তখন এই বিষয়টি আমাকে বিভ্রান্ত করেছিল। দেখে মনে হয় যে domainnameকমান্ডটি ইন্টারনেটের জনপ্রিয়তার পূর্বাভাস দেয়। ডিএনএস ডোমেন নামের পরিবর্তে, এটি সিস্টেমের এনআইএস (নেটওয়ার্ক ইনফরমেশন সার্ভিস) ওরফে ওয়াইপি (হলুদ পৃষ্ঠাগুলি) ডোমেন নাম (কম্পিউটারগুলির একটি গ্রুপ যা একটি মাস্টার এনআইএস সার্ভার দ্বারা সরবরাহিত পরিষেবা রয়েছে) দেখায় বা সেট করে । এই কমান্ডটি getdomainname(2)স্ট্যান্ডার্ড লাইব্রেরি ফাংশন দ্বারা ফিরে আসা নামটি কেবল প্রদর্শন করে । ( nisdomainnameএবং ypdomainnameএই আদেশের বিকল্প নাম।)

এফকিউডিএন বা ডিএনএস ডোমেন নাম প্রদর্শন করুন

ডিএনএস (ইন্টারনেট) ডোমেইনের নাম পরীক্ষা করতে আপনার dnsdomainnameকমান্ডটি বা বিকল্পগুলি hostnameদিয়ে চালানো উচিত -d, --domain। (দ্রষ্টব্য যে dnsdomainnameকমান্ডটি ডিএনএস ডোমেন নাম সেট করতে ব্যবহার করা যাবে না - এটি কেবল এটি প্রদর্শন করতে ব্যবহৃত হয়))

প্রদর্শন করতে FQDN (fully qualified domain name) সিস্টেমের, চালানোর hostnameসঙ্গে -f, --fqdn, --longঅপশন (একইভাবে, এই কম্যান্ডের ডোমেইন নাম অংশ সেট করতে ব্যবহার করা যাবে না)।

উপরের কমান্ডগুলি gethostbyname(3)ডিএনএস ডোমেন নাম এবং এফকিউডিএন নির্ধারণের জন্য সিস্টেমের রেজলভার ( স্ট্যান্ডার্ড লাইব্রেরি থেকে কার্যকরীভাবে প্রয়োগ করা হয়েছে , যেমন পসআইএক্স দ্বারা নির্দিষ্ট করা) ব্যবহার করে।

নাম রেজোলিউশন

আরএইচইএল R এর মতো আধুনিক অপারেটিং সিস্টেমগুলিতে হোস্টের নামগুলি সমাধান করার জন্য hostsএন্ট্রি /etc/nsswitch.confব্যবহার করা হয়। আপনার CentOS 7 মেশিনে, এই লাইনটি (CentOS 7 এর জন্য ডিফল্ট) হিসাবে কনফিগার করা হয়েছে:

hosts:      files dns

এর অর্থ হ'ল যখন সমাধানকারী ফাংশনগুলি হোস্টনাম বা আইপি ঠিকানা সন্ধান করে, তারা প্রথমে /etc/hosts ফাইলটিতে একটি প্রবেশের জন্য পরীক্ষা করে এবং তারপরে ডিএনএস সার্ভারের মধ্যে তালিকাভুক্ত যা চেষ্টা করে /etc/resolv.conf

hostname -fহোস্টের FQDN প্রাপ্ত করার জন্য যখন চলমান তখন রেজলভার ফাংশনগুলি সিস্টেমের হোস্ট-নেমটির জন্য FQDN পাওয়ার চেষ্টা করে to হোস্টটি যদি /etc/hostsফাইলটিতে বা সম্পর্কিত ডিএনএস সার্ভার দ্বারা তালিকাভুক্ত না হয় , তবে প্রচেষ্টা ব্যর্থ হয় এবং hostnameরিপোর্ট করে Name or service not known

hostname -dডোমেনের নাম পাওয়ার জন্য যখন চালানো হয়, একই ক্রিয়াকলাপ সম্পাদন করা হয় এবং ডোমেন নেম অংশটি হোস্টনেম অংশ এবং এফকিউডিএন থেকে প্রথম ডট কেটে নির্ধারণ করা হয়।

ডোমেন নাম কনফিগার করুন

1. সম্পর্কিত ডিএনএস নাম সার্ভার আপডেট করুন

আমার ক্ষেত্রে, আমি ইতিমধ্যে আমার স্থানীয় ল্যানের জন্য ডিএনএস সার্ভারে আমার নতুন সেন্টোস 7 মেশিনের জন্য একটি এন্ট্রি যুক্ত করেছি যাতে /etc/hostsযখন আমি বা বিকল্পটির hostnameসাথে দৌড়ানোর সময় ফাইলটিতে এফকিউডিএন পাওয়া যায় নি , স্থানীয় ডিএনএস পরিষেবাগুলি সক্ষম হয়েছিল আমার নতুন হোস্টনামের জন্য FQDN সম্পূর্ণরূপে সমাধান করুন।-d-f

২. /etc/hostsফাইলটি ব্যবহার করুন

যদি ডিএনএস সার্ভারটি কনফিগার করা না থাকে তবে পুরোপুরি যোগ্যতাসম্পন্ন ডোমেন নামটি /etc/hostsফাইলটিতে নির্দিষ্ট করা যেতে পারে । এটি করার সর্বাধিক সাধারণ উপায় হ'ল সিস্টেমের প্রাথমিক আইপি ঠিকানাটি তার এফকিউডিএন এবং এর সংক্ষিপ্ত হোস্ট-নেম অনুসরণ করে। যেমন,

172.22.0.9  nodename.domainname nodename

hostnameম্যান পৃষ্ঠা থেকে অংশ

আপনি hostnameবা এর সাথে FQDN পরিবর্তন করতে পারবেন না dnsdomainname

এফকিউডিএন স্থাপনের প্রস্তাবিত পদ্ধতিটি হ'ল নামটি /etc/hosts,ডিএনএস বা এনআইএস ব্যবহার করে সম্পূর্ণরূপে যোগ্য নামের জন্য একটি উপাধি করা । উদাহরণস্বরূপ, হোস্টনামটি যদি "উরসুলা" হত তবে কারওর মধ্যে একটি লাইন থাকতে পারে /etc/hostsযাতে এতে লেখা আছে:

27.0.1.1    ursula.example.com ursula

প্রযুক্তিগতভাবে: এফকিউডিএন হ'ল গেথেস্ট্রিনফো (3) গেথস্টনাম (2) দ্বারা ফিরিয়ে দেওয়া হোস্ট নামটির জন্য ফেরত নাম ad ডিএনএস ডোমেন নামটি প্রথম বিন্দুর পরে অংশ।

সুতরাং এটি /etc/host.confকীভাবে আপনি এটি পরিবর্তন করতে পারবেন তা সমাধান করার কনফিগারেশনের উপর নির্ভর করে (সাধারণত )। সাধারণত হোস্ট ফাইলটি ডিএনএস বা এনআইএসের আগে বিশ্লেষণ করা হয়, সুতরাং এফকিউডিএনটি পরিবর্তন করা সবচেয়ে সাধারণ বিষয় /etc/hosts


আপনার উত্তরের জন্য ধন্যবাদ. আমি প্রশ্নটি আপডেট করেছি - দুর্ভাগ্যক্রমে hostname -fকমান্ডটি আমার সেন্টোস ভিএম-তে কাজ করে না।
ক্রিস তুষার

@ এসএইচসি আপনি কী কীভাবে এর প্রশ্নবস্তু /etc/hostnameএবং এর আউটপুট অন্তর্ভুক্ত করতে সম্পাদনা করতে পারেন grep ^hosts: /etc/nsswitch.conf? আমি নেটওয়ার্কের ম্যানেজার সম্পর্কে অনেক জানি না কিন্তু আমি এও লক্ষ্য করেছি যে, আমার /etc/NetworkManager/NetworkManager.confতার মধ্যে একটি লাইন রয়েছে [keyfile]অধ্যায়: hostname=<nodename>
অ্যান্টনি জি - মনিকার পক্ষে

1
@ এসএইচসি আমি তখন থেকে বিষয়টি নিয়ে গবেষণা করছি এবং আমার উত্তরকে আমূল পরিবর্তন করেছি; এটি এখন আপনার প্রশ্ন আরও ব্যাপকভাবে সমাধান করা উচিত।
অ্যান্টনি জি - মনিকার পক্ষে বিচার

এই উত্তরের লিড শরীরের সাথে বেমানান। DNS ডোমেন নাম সেট hostnamectl set-hostname nodename.domainnameকরে না (এবং এটি NIS ডোমেন নামটিও সেট করে না)।
সোর্সজেদি

@ সোর্সজেদি আমার কাছে এই মুহুর্তে সময় নেই তবে আমি সুযোগ পেলেই আমার উত্তরটি পরিষ্কার করার চেষ্টা করব।
অ্যান্টনি জি - মনিকার পক্ষে ন্যায়বিচার

1

Centos7- এ হোস্ট-নেম সেট করতে nmtui ব্যবহার করে এবং নোডনেম.ডোমনেইনাম / এফকিউডিএন ফর্ম্যাট সরবরাহ করে ধারাবাহিক ফলাফল দিচ্ছে। হোস্টনাম [d / f / s] সমস্ত সঠিক প্রত্যাশিত ফলাফল সরবরাহ করে। এটি /etc/resolv.conf OR / ইত্যাদি / হোস্টে সংরক্ষণ করা হয় না। তবে এফকিউডিএন / etc / হোস্টনেমে একক লাইনের প্রবেশ হিসাবে লেখা থাকে is


0

আমার জন্য, / ইত্যাদি / হোস্টনাম ফাইলটিতে হোস্টনামের পরিবর্তে এফকিউডিএন রয়েছে (যেমন, হোস্টনামের পরিবর্তে হোস্টনাম। উদাহরণস্বরূপ) ample একবার আমি / etc / হোস্টনেমে হোস্টনাম থেকে ডোমেনটি সরিয়ে ফেললাম 'হোস্টনেম -f' কমান্ডটি সাধারণত কাজ করে।

আমি মনে করি এটি CentOS 7 ভিএম ইনস্টল করার সাথে সাথেই এটি চালু করা হয়েছিল। আমার কেবলমাত্র হোস্টনামটি প্রবেশ করা উচিত ছিল, পুরোপুরি যোগ্যতাসম্পন্ন ডোমেন নাম নয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.