হোস্ট ফাইল প্রবেশের পরেও কেন আমার নামের রেজোলিউশনটি ডিএনএসে আঘাত করে?


15

আমি উবুন্টু 10.04.2 এলটিএস ডেস্কটপ চালাচ্ছি। ওয়েব বিকাশকারী হওয়ায় স্বভাবতই আমার /etc/hostsফাইলে একটি "me.com" তৈরি করেছি । দুর্ভাগ্যক্রমে, আমার স্থানীয় রেজাল্ট প্রথমে আমার স্থানীয় হোস্ট এন্ট্রি চেক করার আগে ডিএনএসের কাছে আমার নাম রেজোলিউশন বেরিয়ে যাচ্ছে এবং কেন তা আমি বুঝতে পারি না।

শেষ ফলাফলটি হ'ল যদি আমার /etc/resolv.conf nameserver 127.0.0.1প্রথমে সেখানে থাকে তবে আমি আমার ওয়েব ব্রাউজারে me.com.com (স্থানীয়) থেকে একটি সেকেন্ডেরও কম সময়ের মধ্যে প্রতিক্রিয়া পাই। তবে আমার যদি সেই প্রবেশটি না থাকে তবে আমার আইএসপিটি কিছুটা ধীর গতিতে থাকলে আমার প্রতিক্রিয়াটি মাঝে মাঝে 5 সেকেন্ডেরও বেশি সময় নেয়।

সমস্যাটি এতটা সমস্যাজনক ছিল যে কীভাবে স্বয়ংক্রিয়ভাবে সেই প্রবেশটি toোকানো যায় তার জন্য আমাকে এখানে একটি প্রশ্ন ফাইল করতে হয়েছিল (এবং কেউ এটি সমাধান করেছেন)/etc/resolv.conf । তবে এখানে থাকা একজন ব্যবহারকারী (@ শেলহোলিক) অত্যন্ত প্রস্তাবিত (এবং আমার সাথে এটি সম্পর্কে পিছনে মন্তব্য করেছেন) যে আমার এই প্রশ্নটি ফাইল করা উচিত।

আপনি কি জানেন যে আমার ওয়ার্কস্টেশনের নাম রেজোলিউশনটি আমার /etc/hostsফাইল এন্ট্রিতে আঘাত দেওয়ার আগে প্রথমে ডিএনএস সার্ভারে কেন আঘাত করেছে ? আপাতত, আমি রেজলভ.কনফ ট্রিকটি ব্যবহার করছি ।


1
আপনি খুঁজছেন চেষ্টা করতে পারেন /etc/nsswitch.conf। আমার সিস্টেমে এন্ট্রিগুলি কিছুটা অ-সুস্পষ্ট, তবে আপনি কেবলমাত্র filesবিকল্প হিসাবে লুকআপগুলি পরীক্ষা করতে পারেন এবং এটি কোনও পার্থক্য করেছে কিনা তা দেখতে পারে।
belacqua

হ্যাঁ, আপনি আমাদের আউটপুট দিতে পারে cat /etc/nsswitch.confএবং cat /etc/host.conf? এছাড়াও: আপনি কীভাবে এটি পরীক্ষা করছেন (পিংিং, ব্রাউজার, প্যাকেট স্নিফিং ইত্যাদির মাধ্যমে)?
ব্যবস্থা করুন

@ অ্যারেঞ্জের সংস্করণ সম্পূর্ণ করতে, আপনি এর ফলাফলটি সংযুক্ত করতে পারেন time getent hosts me.com; hostname --fqdn; grep 'me.com' /etc/hosts; grep hosts /etc/nsswitch.conf; netstat -uln | grep ':53'; cat /etc/host.conf; wc -l /etc/hosts? যৌক্তিকতা আপত্তি করতে দ্বিধা করবেন না।
শেলহোলিক

@ শেলহোলিক ^ যৌক্তিকতা ^ যুক্তিযুক্ত? হেহ।
belacqua

@ জেগবেলাকোয়া: প্রকৃতপক্ষে
শেলহোলিক

উত্তর:


15

ফাইল /etc/nsswitch.confআপনাকে নাম রেজোলিউশনের ক্রমটি পুনরায় কনফিগার করতে দেবে। ডিফল্টরূপে হোস্ট ফাইলটি প্রথম, তারপরে কনফিগার করা ডিএনএস। আরও বিকল্প হতে পারে।

ফাইলটিতে /etc/hostsকেবল আইপি ঠিকানা এবং হোস্টনামের তালিকা রয়েছে (যদি আপনি চান তবে একটি আইপির একাধিক নাম)

ফাইলটি /etc/resolv.confডিফল্ট অনুসন্ধান ডোমেনগুলি তালিকাভুক্ত করবে এবং ব্যবহারের জন্য নাম সার্ভারগুলিকে ক্রমানুসারেও তালিকাভুক্ত করবে।


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

আপনি কিভাবে 'ক্যাশে' সাফ করবেন?
এরিক জনসন

আমি নিশ্চিত নই, তবে ifup এবং ifdown কমান্ডের সাথে একটি নেটওয়ার্ক সংযোগ পুনরায় আরম্ভ করা এটি করতে পারে। অবশ্যই, রিবুট করা ক্যাশে সাফ করা উচিত, তবে আমরা লিনাক্স ব্যবহার করছি, তাই না?
jfmessier

nscdনাম রেজ্যুলেশন ক্যোয়ারী ক্যাশে করতে পারে, তবে টিটিএলকে সম্মান করে না (এবং তাই হোস্ট ক্যাচিং ডিফল্টরূপে অক্ষম রয়েছে)। systemd-resolvedএন্ট্রি ক্যাশে হবে। যদি এগুলির কোনওটি কনফিগার করা না থাকে তবে লিনাক্স হোস্টগুলি ডিএনএস প্রতিক্রিয়াগুলি ক্যাশে করে না । (ব্রাউজারগুলি সম্ভবত অ্যাপ্লিকেশন স্তরে যদিও এটি করবে)
জার্ট ভ্যান ড্যান বার্গ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.