ডিএনএস অনুসন্ধানগুলি ক্যাশে করার জন্য এনএসসিডি ব্যবহার করছে না


10

আমি স্থানীয়ভাবে ডিএনএসকে ক্যাশে করতে এনএসসিডি (নেমসার্ভেসিস ক্যাশে ডিমন) ব্যবহার করার চেষ্টা করছি যাতে আমি এটি ব্যবহার করে বাইন্ড ব্যবহার বন্ধ করতে পারি। আমি এটি শুরু করেছি এবং এনটিপিডি মনে হচ্ছে এটি ব্যবহার করার চেষ্টা করছে। তবে হোস্টের পক্ষে অন্য সমস্ত কিছু এটিকে উপেক্ষা করবে বলে মনে হয়। উদাহরণস্বরূপ যদি আমি 3 বার apache.org খনন করি তবে তাদের কোনওটিই ক্যাশে আঘাত করবে না। nscd -gএটি ব্যবহার হয়েছে কিনা তা নির্ধারণের জন্য আমি ক্যাশে পরিসংখ্যানগুলি দেখছি । আমি এটি টিপতে দেখছি কিনা এবং ক্যোরিগুলি এনএসসিডি-তেও আঘাত করে না তা দেখতে ডিবাগ লগের স্তরটিও উপরে পরিণত করেছি।

nsswitch.conf

# Begin /etc/nsswitch.conf
passwd: files
group: files
shadow: files

publickey: files

hosts: cache files dns
networks: files

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

netgroup: files
# End /etc/nsswitch.confenter code here

nscd.conf

#
# /etc/nscd.conf
#
# An example Name Service Cache config file.  This file is needed by nscd.
#
# Legal entries are:
#
#       logfile                 <file>
#       debug-level             <level>
#       threads                 <initial #threads to use>
#       max-threads             <maximum #threads to use>
#       server-user             <user to run server as instead of root>
#               server-user is ignored if nscd is started with -S parameters
#       stat-user               <user who is allowed to request statistics>
#       reload-count            unlimited|<number>
#       paranoia                <yes|no>
#       restart-interval        <time in seconds>
#
#       enable-cache            <service> <yes|no>
#       positive-time-to-live   <service> <time in seconds>
#       negative-time-to-live   <service> <time in seconds>
#       suggested-size          <service> <prime number>
#       check-files             <service> <yes|no>
#       persistent              <service> <yes|no>
#       shared                  <service> <yes|no>
#       max-db-size             <service> <number bytes>
#       auto-propagate          <service> <yes|no>
#
# Currently supported cache names (services): passwd, group, hosts, services
#

    logfile                 /var/log/nscd.log
    threads                 4
    max-threads             32
    server-user             nobody
#   stat-user               somebody
    debug-level             9
#   reload-count            5
    paranoia                no
#   restart-interval        3600

    enable-cache            passwd          yes
    positive-time-to-live   passwd          600
    negative-time-to-live   passwd          20
    suggested-size          passwd          211
    check-files             passwd          yes
    persistent              passwd          yes
    shared                  passwd          yes
    max-db-size             passwd          33554432
    auto-propagate          passwd          yes

    enable-cache            group           yes
    positive-time-to-live   group           3600
    negative-time-to-live   group           60
    suggested-size          group           211
    check-files             group           yes
    persistent              group           yes
    shared                  group           yes
    max-db-size             group           33554432
    auto-propagate          group           yes

    enable-cache            hosts           yes
    positive-time-to-live   hosts           3600
    negative-time-to-live   hosts           20
    suggested-size          hosts           211
    check-files             hosts           yes
    persistent              hosts           yes
    shared                  hosts           yes
    max-db-size             hosts           33554432

    enable-cache            services        yes
    positive-time-to-live   services        28800
    negative-time-to-live   services        20
    suggested-size          services        211
    check-files             services        yes
    persistent              services        yes
    shared                  services        yes
    max-db-size             services        33554432

resolv.conf

# Generated by dhcpcd from eth0
nameserver 127.0.0.1
domain westell.com
nameserver 192.168.1.1
nameserver 208.67.222.222
nameserver 208.67.220.220

সাইড নোট হিসাবে আমি আর্চ লিনাক্স ব্যবহার করছি।

দ্রষ্টব্য: এটি দু'বার স্থানান্তরিত হয়েছে, আমি কখনই বুঝতে পারি নি কেন অ্যাপগুলি, ডিগ বাদে এনএসসিডি ক্যাশে, ব্রাউজারগুলি, আইএম, আইআরসি-তে আঘাত করছে না, তবে সব কিছুই করা উচিত ছিল না


আপনাকে এনসিএসডি-র জন্য মেশিনটি পুনরায় বুট করতে হবে না, আপনি এটি ফ্লাশ করতে পারেন বা পরিষেবাটি পুনরায় চালু করতে পারেন, আমার পক্ষে কাজ করে।

উত্তর:


14

আপনি ক্যাশে হিট মিস করার কারণটি হ'ল ডিএনএসে সরাসরি অনুসন্ধান করে। আপনি চেষ্টা করে দেখতে পাচ্ছেন કે ক্যাশে getentকমান্ডটি দিয়ে কাজ করে কিনা :

getent hosts host.example.com

পৃথক ক্যাচিং ডিএনএস চালানো একটি ভাল ধারণা, তবে আপনার যদি সম্ভব হয় তবে এটি নেটওয়ার্ক পর্যায়ে চালানো বিবেচনা করা উচিত। যদি প্রতিটি হোস্ট পৃথকভাবে ডেটা ক্যাশে করে তবে তারা একই হোস্টের জন্য একাধিক অনুসন্ধান চালাবে। একক ক্যাশে এই সমস্যাটিকে ঘিরে কাজ করে।

এনএসডিডি নিজেই এনএসএস ফাংশনগুলির জন্য একটি ক্যাচিং ডেমন। সুতরাং ফোকাসটি দেশীয় ক্যাশে নেমসার্ভারগুলির চেয়ে কিছুটা আলাদা। সুতরাং আপনি যদি কেবল একটি ক্যাচিং নেমসার্ভার চান তবে এনএসসিডি ছাড়া অন্য কিছু ব্যবহার করুন। পরিবর্তে আপনি যদি সাধারণ ডিএনএস সিস্টেমের বাইরে ভাগ করা ব্যবহারকারীর নাম এবং হোস্টডেটা জাতীয় জিনিসগুলি ক্যাশে করতে চান তবে এনএসসিডি যান।

এবং রেকর্ডের জন্য, আমি পাওয়ারডেন্স রিসলভার (পিডিএনএস-রিসলভার) বেশ পছন্দ করেছিলাম।


তবে খনন করা ছাড়াও অন্যান্য জিনিস ব্যবহার করা উচিত নয়? এটি একটি ডেস্কটপ সিস্টেম। আমি জানি যে কয়েকটি সফ্টওয়্যার (যেমন আমার প্যাকেজ ম্যানেজার) এর নিজস্ব ক্যাশে প্রয়োগ করে না।
xenoterracide

এছাড়াও আমার আইএসপি এর বাইরে নেটওয়ার্কে এটিই একমাত্র কম্পিউটার;) আমার সংযোগটি ধীর হওয়ায় আমি কেবল বিলম্বিতা এড়াতে চেষ্টা করছি।
xenoterracide

2
অন্যান্য সফ্টওয়্যার অবশ্যই এনএসসিডি ক্যাশে আঘাত করা উচিত। এনএসসিডি শুরু করার পরে আপনি সফ্টওয়্যারটি পুনরায় চালু করার বিষয়টি নিশ্চিত করুন।

আমি সিস্টেমটি পুনরায় বুট করেছি .... কেবল এনএসসিডি ব্যবহার করার চেষ্টা করার সফ্টওয়্যারটি ছিল এনটিপি।
xenoterracide

3

আপনি nscd.conf এ হোস্ট কনফিগারেশন অনুপস্থিত। আমি উদাহরণ হিসাবে আমার পোস্ট করছি:

enable-cache            hosts           yes
positive-time-to-live   hosts           3600
negative-time-to-live   hosts           20
suggested-size          hosts           211
check-files             hosts           yes
persistent              hosts           yes
shared                  hosts           yes
max-db-size             hosts           33554432

এটি কিছু জিনিস ভাঙ্গবে। নিম্নলিখিত তথ্য দেবিয়ান প্যাকেজ থেকে:

  Since this release, hosts caching in nscd is off by default: for some of the
  libc calls (gethostby* calls) nscd does not respect the DNS TTLs.  It can
  lead to system lockups (e.g. if you are using pam-ldap and change the IP of
  your authentication server) hence is not considered safe.

  See debian bug #335476 and how upstream answered to that in
  http://sourceware.org/bugzilla/show_bug.cgi?id=4428.

 -- Pierre Habouzit <madcoder@debian.org>  Sat, 28 Apr 2007 11:10:56 +0200

2
আসলে আমার কাছে এটি আছে আপনাকে কেবল প্রশ্নের মধ্যে ফাইলটি স্ক্রোল করতে হবে।
xenoterracide

2

আমি এনএসসিডি সম্পর্কে তেমন কিছুই জানি না, তা ছাড়া এটি প্রায়শই ডিএনএস লুকআপগুলিতে সমস্যা সৃষ্টি করে যে আমি সর্বদা এটি অক্ষম করেছিলাম (বা কমপক্ষে হোস্ট লুকআপ এর অংশ)। এনএসসিডি আপনাকে সময়-থেকে-লাইভ মানগুলি সেট করতে দেয় এবং আমি জানি যে ডিএনএস সেই মানগুলি "নিজস্ব" করার প্রত্যাশা করে এবং সমস্ত সমাধানকারীরা তাদের সম্মান জানায়। ডিএনএসে টিটিএল সম্মানিত না হলে আপনি অদ্ভুত ফলাফল দিয়ে শেষ করতে পারেন। আমার প্রস্তাবটি ডিএনএস ক্যাশে করার জন্য এনএসসিডি ব্যবহার না করা। দেখে মনে হচ্ছে আপনার স্থানীয় বাক্সে ইতিমধ্যে কোনও ক্যাশিং নাম সার্ভার চলছে, সুতরাং ডিএনএস লুকআপগুলি দু'বার ক্যাশে করার দরকার নেই।


আমি এটি নিষ্ক্রিয় করার প্রত্যাশা করছিলাম, যদিও এটি আসলেই কিছু যায় আসে না (আমার বাক্সটি ক্যাশে করার জন্য বাইন্ডের ওজনকে বোঝানো কোনও সমস্যা নয়)। এটি এখন আংশিকভাবে নতুন কিছু শেখার বিষয়। এটি কাজে লাগাতে না পেরে কিছুটা বিরক্তিকর।
xenoterracide

1

কেবলমাত্র ডিএনএস নয়, এনএসসিডি সবকিছুর জন্যই অবিশ্বাস্য। যদি আপনার কোনও কারণে মরিয়া হয়ে প্রয়োজন না থাকে তবে এড়ানো ভাল। আপনি যদি স্থানীয়ভাবে ডিএনএসকে ক্যাশে করতে চান তবে আপনার উদ্দেশ্যমূলক তৈরি ডিএনএস ক্যাচিং ডেমন ব্যবহার করা উচিত (এটি একটি ভাল ধারণা!)।

আমার প্রিয় দুটি dnsmasq এবং djbdns থেকে dnscache


এনএসসিডি ব্যবহার করার জন্য আপনাকে প্রথমে এটি কীভাবে কাজ করে তা বুঝতে হবে, এটি একটি সিস্টেম ক্যাশে সিস্টেম, একটি সরল
ডিএনএস

1

যদি জাহান্নামে ডিএনএস ক্যাচিং থাকে তবে এটি এনএসসিডি সরবরাহ করে। না। ব্যবহার করুন। এটা তোলে।

কেবল আলাদা হতে হবে: পিডিএনএসডি আসলে খুব সুন্দর প্রতিস্থাপন। বা আনস্কিড (কমপক্ষে ওপেনসুএসে ডিফল্টরূপে ব্যবহৃত)।


এটি +1 ছোট নেটওয়ার্ক এনএসসিডি, বা ভয়ঙ্কর ডিএনএস সার্ভার সহ স্থানগুলির জন্য, এটি একটি গুরুতর পিআইটিএ। এটি লিনাক্স এবং সোলারিস সার্ভারগুলিকে আমার কাজ করা যে কোনও জায়গাতেই রিবুট করে দেখছে এমন একটি ঘন ঘন কারণ হ'ল "newbies"।
সিগন্যাল 15

1
লিঙ্ক pdnsdডাউন আছে। পরিবর্তে এটি সম্ভবত একটি ভাল লিঙ্ক: সদস্যদের
home.nl/parombouts/pdnsd

1

আমি যুক্ত করতে চাই যে আপনি যখন সক্ষম করেছেন তখন আপনার পরিসংখ্যানগুলি সঠিকভাবে প্রতিফলিত হবে না:

শেয়ার হোস্ট হ্যাঁ

http://prefetch.net/blog/index.php/2006/02/08/viewing-name-service-cache-statistics/

আমি অন্য কাউকে এটি উল্লেখ করতে দেখিনি এবং আমার হিট রেট কেন 0% হিসাবে প্রদর্শিত হচ্ছে তা নির্ধারণ করতে আমাকে বেশ কিছুটা সময় লেগেছে

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