প্রশ্ন ক্যাশ ব্যবহার করে সমাধান করার জন্য খোঁচা


আমি একটি DNS সার্ভার জিজ্ঞাসা করার উপায় এবং ক্যাশে বাইপাস (একটি dig)। প্রায়শই আমি DNS সার্ভারে একটি অঞ্চল পরিবর্তন করে এবং আমার ওয়ার্কস্টেশন থেকে সঠিকভাবে সমাধান করে কিনা তা পরীক্ষা করতে চাই। কিন্তু যেহেতু সার্ভার ক্যাশে অনুরোধগুলি সমাধান করে, তাই প্রায়ই আমি পুরোনোগুলি পেতে পারি। সার্ভার পুনরায় আরম্ভ বা লোড হচ্ছে সত্যিই কিছু চমৎকার না।


70
2018-03-21 17:15


উত্স




উত্তর:


আপনি ব্যবহার করতে পারেন @ একটি নির্দিষ্ট সার্ভার থেকে ডোমেইন সন্ধান করতে সিনট্যাক্স। যদি DNS সার্ভারটি সেই ডোমেনের জন্য অনুমোদিত হয় তবে প্রতিক্রিয়াটি একটি ক্যাশেড ফলাফল হবে না।

dig @ns1.example.com example.com

আপনি অনুরোধ করে কর্তৃপক্ষের সার্ভার খুঁজে পেতে পারেন NS একটি ডোমেনের জন্য রেকর্ড:

dig example.com NS

102
2018-03-21 17:21



ওহ ঠিক আছে. হ্যাঁ আমি @ সিনট্যাক্সের সাথে পরিচিত ছিলাম, কিন্তু এর পরিবর্তে সরকারী সার্ভারে জিজ্ঞাসা করার ধারণা ছিল না। ধন্যবাদ! - Daniel
সাইড নোট: আপনি কোনও ক্যাশিং সার্ভারের কোন প্রতিক্রিয়া দেখতে চান তা দেখতে ক্ষেত্রে, +norecurse সুপারিশকৃত. +recurse ডিফল্টভাবে চালু হবে মাঝে মাঝে DNS সার্ভার আপনার প্রশ্নটি সম্পূর্ণভাবে ব্যাখ্যা করে। - Andrew B
আপনি যদি সরকারী সার্ভার পরিবর্তন করার জন্য অপেক্ষা করছেন? - guaka
@ ক্যাসপারউরেন আপনি কি এন.আর. রেকর্ডগুলি সম্পর্কে আধিকারিক সার্ভারে বা পিতামাতার রেকর্ডগুলিতে কথা বলছেন? আপনি সঙ্গে পিতা বা মাতা খুঁজে পেতে পারেন +trace কিন্তু ক্যাশিং থেকে সতর্ক থাকুন। নাম্বারের পরিবর্তনের জন্য অপেক্ষা করার সময় ক্যাশিং আপনাকে কীভাবে চালাতে পারে সে সম্পর্কে একটি ভাল ব্যাখ্যা লিখেছেন অ্যান্ড্রু বি। - Ladadadada
আপনি গুগল dns চেক করতে পারেন dig @8.8.8.8 example.com। রেকর্ড সেখানে অনেক দ্রুত প্রদর্শিত। - machineaddict


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

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

আপনি, যদিও, খনন করতে পারেন পার্শ্বপথ কনফিগার করা nameservers, এবং তার নিজস্ব recursive অনুরোধ সঞ্চালন যা রুট সার্ভারে ফিরে যায়। এটি করার জন্য, ব্যবহার করুন +trace বিকল্প।

dig example.com +trace

অনুশীলনে এটি শুধুমাত্র আপনার স্থানীয় ক্যাশিং সমাধানকারীর পরিবর্তে অনুমোদিত সার্ভারগুলিতে অনুসন্ধান করবে, তবে সেই সার্ভারগুলি অভ্যন্তরীণ ক্যাশিং ব্যবহার করলেও ফলাফলটি পুরানো হবে না। ব্যবহার যোগ সুবিধা +trace আপনি পাথ বরাবর তৈরি পৃথক অনুরোধ সব দেখতে পাবেন।


19
2018-05-31 15:00



ব্যবহার +norecurse শুধু নামারভারকে যা তথ্য রয়েছে তা ফেরত দিতে (ক্যাশে তথ্য সহ, যদি থাকে), তাই এটি সঠিক নয়। +trace কাজ করবে কারণ এটি একটি আধিকারিক সার্ভারে সমস্তভাবে পুনরাবৃত্তি শৃঙ্খলা অনুসরণ করবে। - Raman
উল্লেখ্য যে আমি এই উত্তরটি সংশোধন করার জন্য সংশোধন করেছি +norecurse এটা সমস্যা বিভ্রান্ত হিসাবে সুপারিশ। - thomasrutter


এখানে উল্লেখিত কিছু গুরুত্বপূর্ণ, যা আমি মনে করি অনেক লোকের কথা বলা কখনই অন্তর্ভুক্ত হয় না +trace যে ব্যবহার করে +trace মানে ডিজি ক্লায়েন্ট ট্রেস করবে না, আপনার কনফিগারেশন (/etc/resolv.conf) এ উল্লেখিত DNS সার্ভার নয়। সুতরাং, অন্য কথায়, আপনার ডিগ ক্লায়েন্ট একটি পুনরাবৃত্তিশীল DNS সার্ভারের মতো কাজ করবে, যদি আপনি এটি জিজ্ঞাসা করেন। কিন্তু - গুরুত্বপূর্ণ, আপনি একটি ক্যাশে আছে না।

আরো বিস্তারিত - যদি আপনি ইতিমধ্যে একটি জন্য জিজ্ঞাসা করেছি mx রেকর্ড ব্যবহার করে dig -t mx example.com এবং আপনার /etc/resolv.conf 8.8.8.8 হয় তবে জোনটির টিটিএল-এর ভিতরে যেকোনো কিছু করতে ক্যাশেড ফলাফলটি ফেরত দেবে। এক্ষেত্রে, যদি আপনি নিজের জোন এবং Google কীভাবে এটি দেখেন সে সম্পর্কে কিছু খুঁজছেন তবে আপনি আপনার জোনটির TTL এর জন্য Google এর সাথে আপনার DNS ফলাফলগুলি বিষাক্ত করেছেন। আপনার যদি একটি ছোট টিটিএল থাকে তবে এটি খারাপ নয়, আপনার যদি 1hr এরও কম থাকে তবে কিছুটা আবর্জনা।

সুতরাং, whilst +trace আপনি যদি প্রথম বার Google কে জিজ্ঞাসা করেন এবং কোন ক্যাশে এন্ট্রি না থাকে তবে কী দেখতে হবে তা দেখতে আপনাকে সহায়তা করবে, এটি আপনাকে একটি ভুল ধারণা দিতে পারে যে Google প্রত্যেকেই আপনার যা +trace ফলাফলটি ছিল, যদি আপনি পূর্বে জিজ্ঞাসা করেন এবং দীর্ঘ TTL থাকেন তবে তা টিটিএল মেয়াদ শেষ না হওয়া পর্যন্ত ক্যাশ থেকে সেটি সরবরাহ করবে - তারপরে এটি আপনার +traceপ্রকাশিত.

আইএমও খুব বেশী বিস্তারিত থাকতে পারে না।


10
2018-05-24 23:10



খনন নিজস্ব ক্যাশ আছে নাকি ওএস ক্যাশে ব্যবহার করে? - CMCDragonkai
ডিগ একটি ক্যাশে নেই। আপস্ট্রিম নাম সার্ভার এটি ব্যবহার করে তবে, এটি থেকে উপকৃত হয়। - thomasrutter
dig mydomain.com +trace শুধু আমাকে ফেরত resolvd স্ট্যু ফলাফল থেকে 127.0.0.53। দেখ github.com/systemd/systemd/issues/5897 - James Bowery
ব্যবহার করার সময় +trace খনন করা শুরু প্রথম অনুসন্ধান (রুট জোন) এর জন্য নির্দিষ্ট নামস্বরভার ব্যবহার করে ট্রেস (যেমন, 8.8.8.8 যদি কনফিগার করা থাকে তবে), তবে তারপরে আরও প্রশ্নের জন্য এটি ফেরত নামারভার্স ব্যবহার করে। সুতরাং যদি আপনার কনফিগার করা নাম সার্ভার কাজ না করে বা রুট নামগুলিগুলির জন্য কোনও প্রশ্নের উত্তর সঠিকভাবে সাড়া না দেয় তবে আপনার সমস্যা থাকতে পারে (উপরের মন্তব্য হিসাবে)। - thomasrutter


এই bash এটির প্রথম তালিকাভুক্ত নাম সার্ভার থেকে example.com এর DNS এন্ট্রি খনন করবে:

dig @$(dig @8.8.8.8 example.com ns +short | head -n1) example.com ANY +noall +answer
  • অভ্যন্তরীণ dig digples এর google.com (8.8.8.8) উদাহরণ example.com এর জন্য পেতে নেমসার্ভার।
  • বাইরের ডিগ প্রশ্ন example.com এর প্রথম নাম সার্ভার।

এখানে .zshrc (এবং সম্ভবত .bashrc) এর জন্য একটি উপনাম হিসাবে একই।

# e.g. `checkdns google.com`
checkdns () { dig @$(dig @8.8.8.8 $1 ns +short | head -n1) $1 ANY +noall +answer; ping -c1 $1; }

এখানে আউটপুট / আউটপুট

  checkdns slashdot.org                                                                                                dev
-->Server DNS Query

; <<>> DiG 9.10.3-P4-Ubuntu <<>> @ns1.dnsmadeeasy.com. slashdot.org ANY +noall +answer
; (2 servers found)
;; global options: +cmd
slashdot.org.       21600   IN  SOA ns0.dnsmadeeasy.com. hostmaster.slashdotmedia.com. 2016045603 14400 600 604800 300
slashdot.org.       86400   IN  NS  ns3.dnsmadeeasy.com.
slashdot.org.       86400   IN  NS  ns4.dnsmadeeasy.com.
slashdot.org.       86400   IN  NS  ns0.dnsmadeeasy.com.
slashdot.org.       86400   IN  NS  ns2.dnsmadeeasy.com.
slashdot.org.       86400   IN  NS  ns1.dnsmadeeasy.com.
slashdot.org.       3600    IN  MX  10 mx.sourceforge.net.
slashdot.org.       3600    IN  TXT "google-site-verification=mwj5KfwLNG8eetH4m5w1VEUAzUlHotrNwnprxNQN5Io"
slashdot.org.       3600    IN  TXT "v=spf1 include:servers.mcsv.net ip4:216.34.181.51 ?all"
slashdot.org.       300 IN  A   216.34.181.45
-->Local DNS Query
PING slashdot.org (216.34.181.45) 56(84) bytes of data.
64 bytes from slashdot.org (216.34.181.45): icmp_seq=1 ttl=242 time=33.0 ms

--- slashdot.org ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 33.026/33.026/33.026/0.000 ms

এই সমাধানটি মনে রাখা অসম্ভব জটিল হতে পারে, তবে সমস্যাটি সমাধান করার জন্য যথেষ্ট সহজ নয়। dig আমার বিশেষত্ব নয় -  উন্নতি স্বাগত জানাই :-)


1
2018-01-11 17:49