দূরবর্তী ডোমেনগুলির জন্য স্থানীয় ডোমেন এবং রিমোট ডিএনএস সার্ভারের সমাধানের জন্য স্থানীয় ডিএনএস সার্ভার ব্যবহার করতে সিস্টেমড-রেজোলিউড এবং সিস্টেমড-নেটওয়ার্কড কীভাবে কনফিগার করবেন?


26

আমি গেটওয়ের মাধ্যমে ইন্টারনেট অ্যাক্সেসের সাথে স্থানীয় অঞ্চল নেটওয়ার্কের সাথে সংযুক্ত। স্থানীয় নেটওয়ার্কে ডিএনএস সার্ভার রয়েছে যা স্থানীয় নেটওয়ার্ক থেকে কম্পিউটারের হোস্টনামগুলি সমাধান করতে সক্ষম।

কনফিগার করার আমি চাই systemd-সমাধান হয়েছে এবং systemd-networkd তাই স্থানীয় হোস্ট-নেম যে লুকআপ অনুরোধ নির্দেশ করা হবে (পরাজিত) একচেটিয়াভাবে স্থানীয় DNS সার্ভার এবং সমস্ত অন্যান্য হোস্টনেইম জন্য লুকআপ অনুরোধ, দূরবর্তী DNS সার্ভারের সাথে অন্য একচেটিয়াভাবে পরিচালনা করা যাবে।

আসুন ধরে নেওয়া যাক কনফিগারেশন ফাইলগুলি কোথায় বা আমার আরও বেশি ফাইল যুক্ত করা উচিত এবং উত্তরে তাদের পথ (গুলি) নির্দিষ্ট করা দরকার কিনা তা আমি জানি না।

উত্তর:


28

স্থানীয় নেটওয়ার্ক ইন্টারফেসের জন্য কনফিগারেশন ফাইলে আমাদের উল্লেখ করতে হবে হয় আমরা DHCP=বিকল্পটি ব্যবহার করে ডিএইচসিপি সার্ভার থেকে স্থানীয় ডিএনএস সার্ভারের ঠিকানা পেতে চাই :

[Network]
DHCP=yes

অথবা DNS=বিকল্পটি ব্যবহার করে স্পষ্টভাবে এর ঠিকানা নির্দিষ্ট করুন :

[Network]
DNS=10.0.0.1

এছাড়াও আমাদের বিকল্প ব্যবহার করে একই ডোমেন (একই বিভাগে) নির্দিষ্ট করতে হবেDomains=

Domains=domainA.example domainB.example ~example

domainA.example domainB.exampleনিম্নলিখিত আচরণটি পেতে আমরা সিস্টেমের স্থানীয় ডোমেনগুলি নির্দিষ্ট করি ( systemd- রেজলিউশন.সওয়ারিস, সিস্টেম-রেজোলিউড ম্যান পৃষ্ঠা থেকে):

প্রতি ইন্টারফেস ডোমেনগুলির মধ্যে একটিতে শেষ হওয়া হোস্টনামের সন্ধানগুলি একচেটিয়াভাবে ম্যাচিং ইন্টারফেসগুলিতে ডেকে আনে।

এই উপায়টি আমাদের স্থানীয় ডিএনএস সার্ভার দ্বারা একচেটিয়াভাবেhostX.domainA.example সমাধান করা হবে ।

আমরা উল্লেখ করেছি ~exampleযে শেষ হওয়া সমস্ত ডোমেনগুলি exampleনিম্নলিখিত আচরণ ( এই প্রতিশ্রুতির বিবরণ থেকে ) পাওয়ার জন্য কেবলমাত্র রুট-ডোমেন হিসাবে বিবেচিত হবে :

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

এই উপায়টি আমাদের বিশ্বব্যাপী, দূরবর্তী ডিএনএস সার্ভার দ্বারা একচেটিয়াভাবেhostY.on.the.internet সমাধান করা হবে ।

বিঃদ্রঃ

আদর্শভাবে, ডিএইচসিপি প্রোটোকল ব্যবহার করার সময়, উপরের নেটওয়ার্ক ইন্টারফেসের কনফিগারেশন ফাইলটিতে স্পষ্টভাবে নির্দিষ্ট না করে স্থানীয় ডোমেন নামগুলি ডিএইচসিপি সার্ভার থেকে পাওয়া উচিত। UseDomains=বিকল্প দেখুন । তবে এই বৈশিষ্ট্যটির সাথে এখনও অসামান্য সমস্যা রয়েছে - systemd- নেটওয়ার্কযুক্ত ডিএইচসিপি অনুসন্ধান ডোমেন বিকল্পের সমস্যাটি দেখুন।

আমাদের দূরবর্তী ডিএনএস সার্ভারকে আমাদের বিশ্বব্যাপী, সিস্টেম-প্রশস্ত ডিএনএস সার্ভার হিসাবে উল্লেখ করতে হবে। আমরা /etc/systemd/resolved.confফাইলটিতে এটি করতে পারি :

[Resolve]
DNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844

কনফিগারেশন পুনরায় লোড করতে এবং পরিষেবাদি পুনরায় চালু করতে ভুলবেন না:

$ sudo systemctl daemon-reload
$ sudo systemctl restart systemd-networkd
$ sudo systemctl restart systemd-resolved

সাবধান!

উপরের গ্যারান্টিগুলি কেবল তখন প্রয়োগ হয় যখন নামগুলি সিস্টেমেড- রেজোলিউডের মাধ্যমে সমাধান করা হয় - এনএসএস-রেজোলিউশনের জন্য ম্যান পৃষ্ঠা , libnss_resolve.so.2 এবং systemd- সমাধান.service, systemd- সমাধানের জন্য ম্যান পৃষ্ঠা দেখুন ।

আরো দেখুন:

তথ্যসূত্র:


6
আপনি .localএই উদাহরণ ব্যবহার না বিবেচনা করেছেন ? অবশ্যই অবাহির সাথে, এটি এমডিএনএসের জন্য সংরক্ষিত থাকার কথা ছিল এবং এটির অপব্যবহার একটি বড় নম্বর ছিল। এটি ব্যবহার করা example.comবা। উদাহরণটি আমার কাছে আরও পরিষ্কার হবে ।
সোর্সজেদি

1
অবগতির জন্য @sourcejedi .local- বোঝায় যা RFC 6762 সালে বিশেষ ডোমেইন হিসাবে সংজ্ঞায়িত করা হয় মাল্টিকাস্ট ডিএনএস অধ্যায় মাল্টিকাস্ট ডিএনএস নাম । ধন্যবাদ, স্থির।
পাইওটার ডব্রোগোস্ট

অপরিবর্তিত নোট: আপনি উত্তরগুলিও স্ব-গ্রহণ করতে পারেন।
ইন্টেলএফএক্স

2
আমি মনে করি স্থানীয় নেটওয়ার্ক ইন্টারফেসের জন্য কনফিগারেশন ফাইলের অবস্থান যুক্ত করা কার্যকর হবে । ঠিক আছে তা নিশ্চিত না /etc/systemd/network/*.network? এখানে superuser.com/a/1365864
পিয়ের কর্ডিয়র

1
আমি পর্যবেক্ষণ করেছি যে এই উত্তরের "কনফিগারেশন ফাইলে ..." ওপি'র প্রতিক্রিয়াহীন নয় "আসুন ধরে নেওয়া যাক কনফিগারেশন ফাইলগুলি কোথায় আছে আমি জানি না ..." যে কেউ এখানে এসেছেন সে সম্পর্কে অজ্ঞতার একই অবস্থায় নির্দিষ্ট কনফিগারেশন ফাইলের অবস্থান, এই উত্তরটি অসম্পূর্ণ।
এরিক টাওয়ার

1

কেবলমাত্র @PiotrDobrogost এর দুর্দান্ত উত্তরে প্রসারিত করতে, ডিএনএস রেজোলিউশন উত্স হিসাবে /etc/nsswitch.confব্যবহার করতে কনফিগার করতে ভুলবেন না systemd-resolved। আপনার hostsনির্দেশাবলী আপনার নির্দিষ্ট ব্যবহারের ক্ষেত্রে নিম্নলিখিত হিসাবে দেখা উচিত:

/etc/nsswitch.conf -এ

hosts:  files resolve dns

সুতরাং আপনি যদি কেবলমাত্র পাইওটারের বিবরণ হিসাবে Domainsনির্দেশে নির্দিষ্ট করা কেবলমাত্র ডোমেনগুলিতে রেজুলেশন সীমাবদ্ধ করেন /etc/systemd/resolved.conf, পরবর্তী /etc/nsswitch.confসময়ে ডোমেনগুলি খুঁজে পাওয়া যায় না তখন নির্দিষ্ট নাম রেজোলিউশন উত্স অনুসারে ডিএনএসের সাথে পরামর্শ করা উচিত Domains:

নিম্নলিখিত লিঙ্ক রেফারেন্স প্রয়োজন নির্দিষ্ট করার সমাধানে মধ্যে /etc/nsswitch.confতাই systemd-resolvedনাম রেজল্যুশন সময় আলোচনা হয়:

https://github.com/systemd/systemd/issues/940

সিস্টেমডি ডকুমেন্টেশন আমি ভয়াবহ বলে মনে করেছি। উপরে পাইওটারের উত্তর সহ আমাকে একাধিক লিঙ্কগুলি থেকে বোঝার জন্য একসাথে অংশ নিতে হয়েছিল ;-)


সিস্টেমড- রেজোলিউশনের অপারেশন করার প্রস্তাবিত মোড ব্যবহার করার সময় যেখানে ফাইলের জন্য একটি সিমলিংক থাকে যার মধ্যে পরিবর্তে সিস্টেমড- রেজোলিউসের ডিএনএস স্টাব রেজোলভারের ঠিকানা থাকে সেখানে ডিএনএস অনুরোধগুলি (মানক নির্দেশনার কারণে ) নির্দেশিত হওয়ার কারণে ফাইলটিতে নির্দেশনা দেওয়ার দরকার নেই to স্টাব রেজলভার যা সিস্টেমেড-রেজোলিউডের বিধি অনুসারে কাজ করে । /etc/resolve.conf/run/systemd/resolve/stub-resolv.confresolve/etc/nsswitch.confnss-dns
পাইটর ডব্রোগস্ট

@ পাইওটারডব্রোগস্ট কীভাবে আপনি ডিএনএস রেজোলিউশনের অর্ডার উত্সগুলিকে নিয়ন্ত্রণ করতে পারেন /etc/nsswitch.conf``? In the specimen config above, / / ইত্যাদি / হোস্ট` ব্যবহার না করেই (" ফাইলগুলি ") স্থির আইপি: নাম ম্যাপিংয়ের জন্য পরীক্ষা করা হবে এবং যদি কোনওটি পাওয়া যায় না, তবে সমাধান করা সিস্টেম-রেজোলিউড স্টাবের পরামর্শ নেওয়া হবে । ডিএনএস রেজোলিউশনের উত্স উত্সগুলি ব্যবহার না করে কীভাবে সম্ভব হবে তা আমি দেখতে পাচ্ছি না /etc/nsswitch.conf। আমি কি এখানে একটি কৌশল মিস করছি?
এফ

আমি বলছি না /etc/nsswitch.confপ্রয়োজন নেই। আমি বলছি যে যখন কেউ সিস্টেমেড- রেজোলিউডের স্টাব ডিএনএস রিসলভার ব্যবহার করে তখন dnsনির্দেশিকায় hosts:লাইনে তালিকাভুক্ত করা যথেষ্ট (সম্ভবত fileনির্দেশনার পরে )। জন্য কোন প্রয়োজন নেই resolveসেখানে নির্দেশ যেমন শহরের উপর অসম্পূর্ণ নিবন্ধ সমাধানকারী হয় যে এন্ট্রি পয়েন্ট থেকে এর systemd হল-সমাধান হয়েছে যুক্তিবিজ্ঞান এবং nss-resolveপ্লাগ-ইন মডিউল ...
পাযত্র Dobrogost

... অন্য কথায় আপনি করতে পারেন পৌঁছে systemd-সমাধান হয়েছে এর যুক্তিবিজ্ঞান পারেন মাধ্যমে resolveনির্দেশ ➟ NSS-সমাধান NSS প্লাগ-ইন মডিউল ➟ systemd-সমাধান হয়েছে বা এর মাধ্যমে dnsনির্দেশ ➟ NSS-DNS মডিউল ➟ NSS-ইন প্লাগ systemd-সমাধান হয়েছে এর 'শহরের উপর অসম্পূর্ণ নিবন্ধ DNS সমাধানকারী ➟ সিস্টেমেড-সমাধান
পাইওটর ডব্রোগস্ট

@PiotrDobrogost আমি আগত filesতারপর resolveমধ্যে অপরিচিত /etc/nsswitch.confআপনার প্রশ্নের 2nd অংশ থেকে। এটি পুনরায় পড়া, দেখে মনে হচ্ছে আপনি কেবল একটি আইপি-র জন্য স্থানীয় ক্যাশে যাচাইয়ের বিষয়ে কথা বলছিলেন : নাম ম্যাপিং তারপর যদি খুঁজে না পাওয়া যায় তবে কোনও ফরওয়ার্ডারের কাছে পৌঁছানো। filesপ্রযোজনা
হোস্টগুলিকে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.