ব্রাউজারে একটি সাইটের নাম লিখে এন্টার চাপার পর পাতা খুলতে যদি প্রতিবারই দুই তিন সেকেন্ড দেরি হয়, তাহলে দোষটা সব সময় আপনার ইন্টারনেটের গতির নয়। অনেক সময় দেরির আসল জায়গা হলো DNS, অর্থাৎ ডোমেইন নেম সিস্টেম। এটি ইন্টারনেটের ঠিকানা বইয়ের মতো কাজ করে, যা মানুষের মনে রাখার উপযোগী নাম কে যন্ত্রের বোঝার উপযোগী IP ঠিকানায় বদলে দেয়।
মজার বিষয় হলো এই অনুবাদের কাজটি এক ধাপে শেষ হয় না। ভেতরে কয়েকটি আলাদা ধাপ পার হয়ে উত্তর ফিরে আসে এবং প্রতিটি ধাপেই কিছুটা সময় খরচ হয়। ধাপ গুলো একবার বুঝে ফেললে কোথায় দেরি হচ্ছে সেটি নিজেই মেপে বের করা যায়, আর দরকার হলে ঠিক করা যায়।
এই টিউনে প্রথমে DNS এর ভেতরের কাজটি ধাপে ধাপে দেখাব। এরপর উইন্ডোজে হাতে কলমে কমান্ড চালিয়ে রেজলিউশন পরীক্ষা করা, ক্যাশ পরিষ্কার করা, কোন রিসলভার দ্রুত তা মেপে নেওয়া, রিসলভার বদলানো এবং DNS over HTTPS চালু করা পর্যন্ত পুরো কাজটি দেখাব। একদম শেষে কমন সমস্যা ও তার সমাধান থাকবে।

➡ DNS আসলে কী এবং কেন এটি দরকার
নেটওয়ার্কের ভেতরে কোনো যন্ত্র নাম চেনে না, চেনে কেবল সংখ্যা। তাই নাম আর সংখ্যার মাঝখানে একটি অনুবাদক দরকার হয়, সেই কাজটিই DNS করে।
- মানুষ নাম মনে রাখে সহজে, কিন্তু রাউটার ও সার্ভার কাজ করে কেবল IP ঠিকানা নিয়ে।
- প্রতিটি ওয়েব সার্ভারের একটি IPv4 অথবা IPv6 ঠিকানা থাকে, সেই ঠিকানাতেই আসল সংযোগ হয়।
- সার্ভারের ঠিকানা বদলে গেলেও নাম একই থাকে, ফলে ব্যবহারকারীর কিছুই বদলাতে হয় না।
- একই নামের পেছনে অনেক গুলো সার্ভার রেখে ট্রাফিক ভাগ করে দেওয়া যায়।
- নাম থেকে ঠিকানা বের করার এই পুরো বিতরণ করা ব্যবস্থাটির নামই DNS।
➡ একটি নাম থেকে IP বের হওয়ার ছয় ধাপ
একটি নাম লেখার পর ভেতরে ঠিক কী ঘটে সেটি নিচের ধারায় সাজানো যায়। উপরের ব্যাখ্যাচিত্রে একই ধারা ছবির আকারে দেখানো হয়েছে।
- প্রথমে ব্রাউজার নিজের ক্যাশ দেখে, এরপর অপারেটিং সিস্টেমের ক্যাশ দেখা হয়। উত্তর সেখানে থাকলে আর কোথাও যেতে হয় না।
- না পেলে অনুরোধটি যায় রিকার্সিভ রিসলভারের কাছে। সাধারণত এটি আপনার ISP এর সার্ভার, নয়তো আপনি নিজে বসানো পাবলিক রিসলভার।
- রিসলভার প্রথমে রুট নেম সার্ভারকে জিজ্ঞেস করে। রুট সার্ভার উত্তর জানে না, তবে কোন TLD সার্ভারের কাছে যেতে হবে সেটি বলে দেয়।
- এরপর TLD নেম সার্ভার, যেমন com অথবা org এর দায়িত্বে থাকা সার্ভার, ডোমেইনটির অথোরিটেটিভ সার্ভারের ঠিকানা জানায়।
- অথোরিটেটিভ নেম সার্ভার হলো আসল উৎস। এখান থেকেই ডোমেইনের A অথবা AAAA রেকর্ড পাওয়া যায়।
- শেষে রিসলভার ও আপনার যন্ত্র উত্তরটি TTL অনুযায়ী জমা রাখে এবং ব্রাউজার সেই IP তে সংযোগ শুরু করে।
এই ছয় ধাপের প্রতিটিতে কয়েক মিলিসেকেন্ড করে সময় যায়। তাই প্রথমবার একটি নতুন সাইট খুলতে তুলনামূলক বেশি দেরি হয়, আর দ্বিতীয় বার অনেক দ্রুত খোলে।
➡ DNS ক্যাশ কোথায় কোথায় জমা থাকে
- ব্রাউজারের নিজের ভেতরের ক্যাশ, যা ব্রাউজার বন্ধ করলে অনেক সময় মুছে যায়।
- উইন্ডোজের DNS Client সার্ভিসের ক্যাশ, যা পুরো কম্পিউটারের সব অ্যাপের জন্য কাজ করে।
- রাউটারের ভেতরের ক্যাশ, যা ঘরের সব যন্ত্রের অনুরোধ সামলায়।
- রিকার্সিভ রিসলভারের ক্যাশ, যা হাজার হাজার গ্রাহকের অনুরোধ একসাথে সামলায়।
- প্রতিটি স্তরেই TTL এর সময় শেষ হলে জমা রাখা উত্তর ফেলে দেওয়া হয় এবং আবার নতুন করে খোঁজা হয়।

➡ রেকর্ড টাইপ গুলো চিনে রাখুন
DNS কেবল IP ঠিকানা রাখে না। একটি ডোমেইনের জোন ফাইলে নানা রকম রেকর্ড থাকে এবং প্রতিটির কাজ আলাদা।
- A রেকর্ড ডোমেইনের IPv4 ঠিকানা জানায়, এটিই সবচেয়ে বেশি ব্যবহৃত রেকর্ড।
- AAAA রেকর্ড একই কাজ করে, তবে IPv6 ঠিকানার জন্য।
- CNAME রেকর্ড এক নামকে আরেক নামের দিকে পাঠায়, যেমন কোনো সাব ডোমেইনকে মূল ডোমেইনের দিকে।
- MX রেকর্ড ঠিক করে দেয় ডোমেইনের ইমেইল কোন সার্ভারে জমা হবে।
- NS রেকর্ড জানায় ডোমেইনটির অথোরিটেটিভ নেম সার্ভার কোন গুলো।
- TXT রেকর্ডে মালিকানা যাচাই ও ইমেইল নীতি সংক্রান্ত লেখা রাখা হয়।
- TTL আলাদা রেকর্ড নয়, বরং প্রতিটি রেকর্ডের সাথে থাকা একটি সময়সীমা।
➡ ধাপ ১: nslookup দিয়ে রেজলিউশন পরীক্ষা করা
উইন্ডোজে Command Prompt খুলে nslookup কমান্ড দিয়ে নিজেই দেখা যায় কোন রিসলভার উত্তর দিচ্ছে ও কি উত্তর আসছে। নিজের পরীক্ষার জন্য example.com এর জায়গায় যে কোনো সাইটের নাম বসানো যাবে।
nslookup example.com
nslookup example.com 1.1.1.1
nslookup -type=MX example.com
nslookup -type=NS example.com
- প্রথম কমান্ডটি কম্পিউটারে সেট করা ডিফল্ট রিসলভার দিয়ে উত্তর খোঁজে।
- দ্বিতীয় কমান্ডে শেষে রিসলভারের ঠিকানা দেওয়ায় উত্তর সেখান থেকেই আসে। তাই দুটি রিসলভারের উত্তর মিলিয়ে দেখা যায়।
- উত্তরে Non authoritative answer লেখা थাকলে বুঝতে হবে উত্তরটি ক্যাশ থেকে আসল, মূল সার্ভার থেকে নয়।
- তৃতীয় ও চতুর্থ কমান্ডে রেকর্ডের ধরন বলে দেওয়ায় কেবল সেই রেকর্ড দেখায়।
- উত্তর না আসলে বা Request timed out দেখালে বুঝতে হবে সমস্যাটি রিসলভারে, সাইটে নয়।
➡ ধাপ ২: ক্যাশ দেখা ও পরিষ্কার করা
পুরনো ক্যাশ কম্পিউটারে বসে थাকলে সাইটের ঠিকানা বদলালেও পুরনো ঠিকানাতেই যাওয়ার চেষ্টা চলতে থাকে। সেক্ষেত্রে ক্যাশ পরিষ্কার করলেই কাজ হয়। নিচের কমান্ড দুটি Command Prompt এ চালাতে হবে।
ipconfig /displaydns
ipconfig /flushdns
- প্রথম কমান্ডটি দেখায় এখন কোন কোন নাম ক্যাশে জমা আছে ও তাদের বাকি TTL কত।
- দ্বিতীয় কমান্ডটি উইন্ডোজের পুরো DNS ক্যাশ মুছে দেয়।
- ক্যাশ মুছলে কোনো ক্ষতি হয় না, কেবল পরের কয়েকটি অনুরোধ সামান্য ধির হতে পারে।
- ব্রাউজারের নিজের ক্যাশ আলাদা, তাই দরকার হলে ব্রাউজারটিও বন্ধ করে খুলতে হবে।
➡ ধাপ ৩: কোন রিসলভার দ্রুত তা মেপে নেওয়া
অনুমানের ওপর নির্ভর করার দরকার নেই। PowerShell খুলে নিজেই সময় মেপে দেখুন কোন রিসলভার আপনার লাইনে দ্রুত উত্তর দেয়। একেকটি কমান্ড তিন চার বার চালিয়ে গ় দেখলে ফলাফল অনেক বেশি নির্ভরযোগ্য হয়।
Resolve-DnsName example.com -Server 1.1.1.1
Measure-Command {Resolve-DnsName example.com -Server 1.1.1.1}
Measure-Command {Resolve-DnsName example.com -Server 8.8.8.8}
Measure-Command {Resolve-DnsName example.com -Server 9.9.9.9}
- প্রথম কমান্ডটি দেখায় ওই রিসলভার থেকে কী উত্তর আসছে এবং রেকর্ডের ধরন কী।
- বাকি কমান্ড গুলো একই কাজ করতে কত সময় লাগল তা মিলিসেকেন্ড সহ জানিয়ে দেয়।
- আউটপুটে TotalMilliseconds লাইনটি দেখুন, সংখ্যা যত কম সেই রিসলভার তত দ্রুত।
- মাপার আগে প্রতিবার ক্যাশ পরিষ্কার করে নিলে তুলনা আরও সঠিক হয়।
- দিনের ভিন্ন সময়ে মেপে দেখুন, কারণ ব্যস্ত সময়ে ফলাফল বদলে যেতে পারে।

➡ ধাপ ৪: উইন্ডোজে DNS সার্ভার বদলানো
মাপার পর যদি দেখা যায় অন্য কোনো রিসলভার আপনার লাইনে বেশি দ্রুত, তবে সেটি বসিয়ে নেওয়া যায়। উইন্ডোজ ১১ এ কাজটি সেটিংস থেকেই করা যায়, কোনো বাড়তি সফটওয়্যার লাগে না।
- Settings খুলে Network and internet অংশে যান এবং আপনার সক্রিয় সংযোগটি বেছে নিন।
- Hardware properties অথবা সংযোগের properties এ গিয়ে DNS server assignment খুঁজুন।
- পাশের Edit বোতামে চাপ দিয়ে Automatic এর বদলে Manual বেছে নিন।
- IPv4 চালু করে Preferred DNS ঘরে পছন্দের ঠিকানা এবং Alternate DNS ঘরে তার দ্বিতীয় ঠিকানা লিখুন।
- Cloudflare ব্যবহার করলে 1.1.1.1 ও 1.0.0.1, Google হলে 8.8.8.8 ও 8.8.4.4, Quad9 হলে 9.9.9.9 ও 149.112.112.112 বসে।
- Save দিয়ে বেরিয়ে এসে আগের মতো ipconfig /flushdns চালিয়ে নিন, তারপর nslookup দিয়ে যাচাই করুন।
পুরো ঘরের সব যন্ত্রে একসাথে সুবিধা পেতে চাইলে একই ঠিকানা রাউটারের WAN অথবা DHCP সেটিংসে বসিয়ে দিলে ভালো হয়। তখন প্রতিটি ফোন ও ল্যাপটপে আলাদা করে সেট করতে হয় না।
➡ ধাপ ৫: DNS over HTTPS চালু করা
সাধারণ DNS অনুরোধ পোর্ট ৫৩ দিয়ে প্লেইন টেক্সটে যায়। অর্থাৎ একই নেটওয়ার্কে থাকা কেউ চাইলে দেখে ফেলতে পারে আপনি কোন নাম খুঁজছেন। DNS over HTTPS এই অনুরোধ কে এনক্রিপ্ট করে পোর্ট ৪৪৩ দিয়ে পাঠায়।
- উইন্ডোজ ১১ এ DNS server assignment এর ভেতরেই DNS over HTTPS নামে একটি ঘর থাকে, সেটি On করে দিন।
- Chrome এ Settings এর Privacy and security অংশে Use secure DNS চালু করে পছন্দের সরবরাহকারী বেছে নেওয়া যায়।
- Firefox এ Settings এর Privacy and Security অংশের নিচে DNS over HTTPS এর সেটিং পাওয়া যায়।
- ব্রাউজারে চালু করলে কেবল ওই ব্রাউজারের অনুরোধ এনক্রিপ্ট হয়, উইন্ডোজে করলে পুরো সিস্টেমের জন্য কাজ করে।
- মনে রাখবেন এটি নাম খোঁজার অনুরোধ লুকায়, কিন্তু আপনি কোন সার্ভারে যুক্ত হচ্ছেন সেটি লুকায় না।
➡ যে ভুল গুলো করলে হিতে বিপরীত হয়
- DNS বদলালে ইন্টারনেটের ব্যান্ডউইথ বাড়ে না। কেবল নাম খোঁজার সময় কমে, তাই বড় ফাইল নামানোর গতি অপরিবর্তিত থাকে।
- অপরিচিত বা সন্দেহজনক ফ্রি DNS সার্ভার বসানো ঠিক নয়, কারণ আপনার পুরো ব্রাউজিংয়ের তালিকা তাদের কাছে চলে যায়।
- hosts ফাইলে না বুঝে লাইন যোগ করলে পরে সাইট খোলা বন্ধ হয়ে যেতে পারে ও কারণ বের করতে কষ্ট হয়।
- একসাথে তিন চারটি বিষয় বদলালে বোঝা যায় না কোনটি কাজ করল। একবারে একটি বদল করে মেপে নিন।
- অফিস বা প্রতিষ্ঠানের নেটওয়ার্কে নিজে থেকে DNS বদলালে ভেতরের সার্ভার ও শেয়ার খোঁজা বন্ধ হয়ে যেতে পারে।
➡ কমন সমস্যা ও সমাধান
DNS server not responding বার্তা আসছে
- প্রথমে nslookup দিয়ে সরাসরি একটি পাবলিক রিসলভারকে জিজ্ঞেস করুন। উত্তর আসলে বুঝবেন লাইন ঠিক আছে।
- রাউটার একবার বন্ধ করে দুই মিনিট পর চালু করুন, তাতে রাউটারের ক্যাশও পরিষ্কার হয়।
- সাময়িক ভাবে মানুয়াল রিসলভার বসান, তাতে ISP এর সার্ভার ডাউন থাকলেও কাজ চলবে।
সাইট খুলছে না, কিন্তু IP দিয়ে খুলছে
- এটি পরিষ্কার ভাবে DNS সমস্যার লক্ষণ, কারণ সংযোগ ঠিকই হচ্ছে কিন্তু নাম অনুবাদ হচ্ছে না।
- ক্যাশ পরিষ্কার করুন ও অন্য একটি রিসলভার দিয়ে nslookup দিয়ে মিলিয়ে দেখুন।
- অ্যান্টি ভাইরাস বা VPN ক্লায়েন্ট নাম খোঁজা আটকাতে পারে, সাময়িক ভাবে বন্ধ করে পরীক্ষা করুন।
নতুন ডোমেইন কিছুতেই খুলছে না
- নতুন বা সদ্য বদলানো রেকর্ড সব জায়গায় পৌঁছাতে TTL অনুযায়ী সময় লাগে।
- অথোরিটেটিভ সার্ভারকে সরাসরি জিজ্ঞেস করলে বোঝা যায় রেকর্ডটি আসলে বসেছে কিনা।
- রেকর্ড বসানোর আগে TTL কম করে রাখলে পরে পরিবর্তন দ্রুত ছড়ায়।
কেবল একটি ব্রাউজারে সমস্যা হচ্ছে
- ব্রাউজার নিজের secure DNS ব্যবহার করলে সেটি উইন্ডোজের সেটিং অগ্রাহ্য করে।
- ব্রাউজারের secure DNS সাময়িক বন্ধ করে দেখুন সমস্যা থাকে কিনা।
- একস্টেনশন বন্ধ করে বা ইনকগনিটো উইন্ডোতে পরীক্ষা করে নিশ্চিত হয়ে নিন।
➡ শেষ কথা
DNS ইন্টারনেটের একদম প্রাথমিক স্তরে কাজ করে, তাই এখানে একটু গোলমাল হলে মনে হয় পুরো ইন্টারনেটই নষ্ট হয়ে গেছে। কিন্তু কাজের ধারাটি জানা থাকলে সমস্যা খুঁজে বের করা কঠিন নয়।
আজ যা দেখলেন তার মধ্যে সবচেয়ে কাজে লাগবে তিনটি কাজ। ক্যাশ পরিষ্কার করা, nslookup দিয়ে যাচাই করা ও মেপে দেখে রিসলভার বাছাই করা। এই তিনটি অভ্যাস হয়ে গেলে ইন্টারনেটের অনেক ছোটখাট সমস্যা আর কাউকে ডাকতে হবে না।
আপনার লাইনে কোন রিসলভার সবচেয়ে দ্রুত হলো সেই মাপের ফলাফল টিউমেন্টে জানালে অন্য টিউনারদেরও উপকার হবে। কোনো ধাপে আটকে গেলে সেটিও লিখুন, উত্তর দেওয়ার চেষ্টা করব।