পিএস করার সময় এনএসলুকআপ কেন এমডিএন ব্যবহার করে না?


9

Dnsmasq.conf এ:

address=/local/127.0.0.1

রেজোলভকন্টে:

# Generated by NetworkManager
domain example.com
search example.com
nameserver 127.0.0.1
nameserver 10.66.127.17
nameserver 10.68.5.26

আমি এনএসলআপ ব্যবহার করতে পারি:

# nslookup www.local
Server:     127.0.0.1
Address:    127.0.0.1#53

Name:   www.local
Address: 127.0.0.1

তবে আমি পিং ব্যবহার করতে পারি না:

# ping www.local
ping: unknown host www.local

Www.local পিন করার সময় লো ক্যাপচার করার জন্য আমি tcpdump ব্যবহার করি, প্যাকেট নেই, প্যাকেটগুলি পছন্দ হয়

# tcpdump -i em1 -n | grep local

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on em1, link-type EN10MB (Ethernet), capture size 65535 bytes
20:14:38.189335 IP 10.66.65.188.mdns > 224.0.0.251.mdns: 0 A (QM)? www.local. (27)
20:14:39.190700 IP 10.66.65.188.mdns > 224.0.0.251.mdns: 0 A (QM)? www.local. (27)
20:14:41.192979 IP 10.66.65.188.mdns > 224.0.0.251.mdns: 0 A (QM)? www.local. (27)

শারীরিক ইন্টারফেস থেকে হাজির।

যার অর্থ পিং এমডিএনএস ব্যবহার করছে তবে এনস্লুআপ কেন এমডিএন ব্যবহার করে না? যখন এমডএনএস কার্যকর ফলসটি না ফেরায় কেন পিং সাধারণ ডিএনএস ব্যবহার করবে না?

ধন্যবাদ।

উত্তর:


8

pingনাম পরিষেবা স্যুইচ নামে গ্লিবির নাম রেজোলিউশন সিস্টেমটি ব্যবহার করুন। /etc/nsswitch.confআইপি-র কোনও নাম সমাধান করার জন্য কোথায় সন্ধান করতে হবে তা জানতে এটি ফাইলটি ব্যবহার করে । hosts:এই ফাইলের মধ্যে লাইন প্রতিটি সেবার জন্য পছন্দগুলির ক্রম প্রতিনিধিত্ব করে। উদাহরণস্বরূপ, filesস্থানীয় /etc/hostsফাইল উপস্থাপন করুন, একটি ডিএনএস সার্ভারের সাথে যোগাযোগ করার dnsজন্য /etc/resolv.confফাইলটি ব্যবহার করে এবং mdnsএমডিএনএস ব্যবহার করে।

তবে nslookupএটি ব্যবহার করবেন না doesn't এটি নির্দিষ্ট করা ডিএনএস সার্ভারের সাথে সরাসরি কথা বলে /etc/resolv.confতাই ব্যবহার করতে পারে না mdns

তবে আমি আপনার শেষ প্রশ্নের উত্তর দিতে পারি না। আপনি উভয় থাকে mdnsএবং dns/etc/nsswitch.conf, এমনকি সঙ্গে mdnsপ্রথমত, এটা প্রথমত সহ NAME সমাধান করতে চেষ্টা করা উচিত mdns, তারপর যদি কোন উত্তর ব্যবহারের dns


ধন্যবাদ @ প্রিয়েরনভ, আমি আমার শেষ জবাবটির উত্তরও পেয়েছি, যা "হোস্ট: ফাইলগুলি mdns4_minimal [নোটফাউন্ড = রিটার্ন] ডিএনএস মাইহোস্টনাম" এনএসউইচসিএনএফ-তে পাওয়া যাবে, যদি কোনও এমডএনএস আইপি না পাওয়া যায় তবে এটি ফিরে আসবে।
dspjm

1
প্রকৃতপক্ষে nslookup সার্ভার 224.0.0.251 এবং পোর্ট 5353 নির্দিষ্ট করে .local ঠিকানার সমাধানের জন্য প্ররোচিত করা যেতে পারে: nslookup ইন্টারেক্টিভ মোড লিখুন, 'সার্ভার 224.0.0.251', 'সেট পোর্ট = 5353', এবং তারপরে হোস্টনাম যেমন সমাধান করা হবে উদাহরণস্বরূপ ' Microknoppix.local '। (। 2 ডেবিয়ান সিস্টেমে পরীক্ষা করা উইন্ডোজ 10 nslookup.exe Microsoft দ্বারা সরবরাহকৃত কাজ নয়, এক থেকে ডাউনলোড করে isc.org/downloads/bind করে)
NameOfTheRose

যাইহোক, getent hosts foo.localআপনি যদি এমডিএনএস বা ডিএনএস নির্বিশেষে কোনও আইপি ঠিকানা সন্ধান করতে চান তবে ব্যবহার করুন । বিপরীতে nslookup, getentকমান্ডটি জিএনইউ সি লাইব্রেরির এনএসউইচ ব্যবহার করে, তাই এটি সর্বদা কার্যকর হয়।
hackerb9

3

এটা খুবই সহজ নেই - nslookupহয় বিশেষভাবে এটা BIND- র সরঞ্জাম অংশ - একটি DNS- র টুল।

এটি সহজেই জানে না যে অন্যান্য নাম পরিষেবাগুলি গ্রন্থাগার কল করে যেমন gethostbynameএনএসএসের মাধ্যমে অ্যাক্সেস করতে পারে কারণ nslookupএটি ব্যবহার করে না gethostbyname, ইত্যাদি etc.

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