এনএসউলআপ কোনও ঠিকানা সমাধান করার চেষ্টা করলে আমার / ইত্যাদি / হোস্ট ফাইলগুলিকে কেন জিজ্ঞাসা করা হয় না?


15

127.0.0.1আমার /etc/hostsফাইলটিতে বেশ কয়েকটি স্থানীয় ডোমেনের সমাধান হয়েছে । এবং এটি কিছু সময়ের জন্য ঠিক ছিল তবে এখন যখন আমি দৌড়েছি:

nslookup test.local

এটির ফলাফল:

Server:     192.168.1.3
Address:    192.168.1.3#53

** server can't find test.local: NXDOMAIN

এটি 192.168.1.3হল আমাদের নেটওয়ার্ক ডিএনএস এবং এটি আমার স্থানীয় ডোমেনটি জানা উচিত নয় test.local। বেশ কয়েকবার অনুসন্ধানের পরে আমি দেখতে পেলাম যে /etc/nsswitch.confফাইলটি ডিএনএস সূত্রগুলির দ্বারা কোয়েরিতে অগ্রাধিকারের তথ্য ধারণ করে। কিন্তু সেখানে কোনও সমস্যা হয়নি! এখানে আমার:

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat
group:          compat
shadow:         compat

hosts:          files mdns4_minimal [NOTFOUND=return] dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

তাহলে কি কেউ জানেন যে আমার hostsফাইলটি ডিএনএস চেহারাতে অন্তর্ভুক্ত করা হয়নি?

উত্তর:


20

nslookupকেবলমাত্র উপযুক্ত ডিএনএস রেজোলিউশন করে, যা আপনার অন্যান্য অ্যাপ্লিকেশনগুলি ব্যবহার করে নেম পরিষেবা স্যুইচ সাবসিস্টেমের থেকে উল্লেখযোগ্যভাবে পৃথক ; তা হল nslookupউপেক্ষা করা /etc/hostsএবং এমডিএনএস বলতে ।

এর মতো স্থানীয় রেজোলিউশনগুলি পরীক্ষা করতে, এমন কিছু ব্যবহার করুন যা এনএসএস ব্যবহার করে। ping <hostname>উদাহরণ স্বরূপ. /etc/hostsআমার নেটওয়ার্কে প্রবেশের ভিত্তিতে এখানে একটি সাধারণ ডেমো রয়েছে ।

$ nslookup bert
Server:     8.8.8.8
Address:    8.8.8.8#53

** server can't find bert: NXDOMAIN

$ ping bert
PING bert (10.10.0.4) 56(84) bytes of data.
64 bytes from bert (10.10.0.4): icmp_seq=1 ttl=64 time=0.352 ms
64 bytes from bert (10.10.0.4): icmp_seq=2 ttl=64 time=0.407 ms

মনে রাখবেন যে ডিএনএস সার্ভার এবং প্রক্সি রয়েছে যা কোনও /etc/hostsফাইলে ফ্যাক্টর করতে পারে । এই ক্ষেত্রে, nslookupস্থানীয় উত্স থেকে কোনও ফলাফল আসতে পারে।


6
এর পরিবর্তে pingএকটি ব্যবহার করা উচিত getent ahostsকারণ এর জন্য সমস্ত অতিরিক্ত স্টাফের প্রয়োজন হয় না ping
মিক্কো রেন্টালাইনেন

2

আমি অনুমান করি যে আপনি /etc/hostsনির্দিষ্ট হোস্টের (মাইসাইট.কম) ফাইল থেকে নাম রেজোলিউশন চান ।

এই আচরণের কারণ হতে পারে এমন অন্য একটি সাধারণ সমস্যা হ'ল /etc/hostsএকই আইপি-র জন্য আপনার ফাইলটিতে অনেকগুলি প্রবেশ থাকতে পারে , উদাহরণস্বরূপ:

1.1.1.1 host1.domain1.com
1.1.1.1 host2.domain2.com

কিছু বাস্তবায়নে, এটি নাম রেজোলিউশনটিকে ডিএনএসের কাছে হস্তান্তর করতে পারে। একটি দ্রুত ফিক্স, 1 সারিতে সমস্ত কিছু গ্রুপ করুন

1.1.1.1 host1.domain1.com host2.domain2.com

1

আর একটি সাধারণ জিনিস আমি দেখতে পাচ্ছি যেখানে কোনও ব্যক্তি (সাধারণত আমাকে) হোস্টনামের সাথে আইপি ঠিকানাটি উল্টে দেয় /etc/hosts- উদাহরণস্বরূপ:

mysite.com    10.2.3.4

প্রথম নজরে, এটি দেখতে সাধারণ লাগে ... প্রায় 50% সময় এখানে আমার সমাধান:

10.2.3.4    mysite.com

এবার এর জন্য দোষী ... # দীর্ঘশ্বাস
সাইবেক্স

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