নাম রিজলভ হচ্ছে না (DNS)
মেশিন ঠিকানা দেখতে পায় কিন্তু নাম নয়: রিজলভার কীভাবে পরীক্ষা করবেন, resolv.conf ঠিক করবেন এবং রিবুটের পর সেটিং হারানো এড়াবেন।
আপডেট: ২৩ আগস্ট, ২০২৬
এই সমস্যার লক্ষণ সহজে চেনা যায়: ping 1.1.1.1 কাজ করে, ping millida.net “Temporary failure in name resolution” ফেরত দেয়, apt update আটকে থাকে এবং টাইমআউট হয়। নেটওয়ার্ক নিজে ঠিক আছে — শুধু নামকে অ্যাড্রেসে রূপান্তর করাটাই ভাঙা।
ধাপ ১. নিশ্চিত করুন সমস্যাটা নামের ক্ষেত্রেই
ping -c3 1.1.1.1
getent hosts millida.net
dig +short millida.net @1.1.1.1
স্পষ্টভাবে সার্ভার উল্লেখ করে dig কাজ করলে কিন্তু getent না করলে, সিস্টেম জানে না কোন রিজলভারের সাথে যোগাযোগ করতে হবে। এটি কনফিগারেশনের সমস্যা, কানেক্টিভিটির নয়।
ধাপ ২. দেখুন রিজলিউশন কে সামলায়
cat /etc/resolv.conf
systemctl status systemd-resolved
resolvectl status
তিনটি পরিস্থিতি সম্ভব:
- ফাইলটি খালি বা তাতে কোনো
nameserverলাইন নেই — কোনো রিজলভার সেট করা নেই; - ফাইলে
nameserver 127.0.0.53আছে, কিন্তুsystemd-resolvedচলছে না — রিকোয়েস্ট কোথাও যায় না; - এমন থার্ড-পার্টি সার্ভার কনফিগার করা আছে যা আমাদের নেটওয়ার্ক থেকে পৌঁছানো যায় না।
ধাপ ৩. ঠিক করুন
apt ও curl ফিরিয়ে আনতে দ্রুত সমাধান:
echo 'nameserver 1.1.1.1' > /etc/resolv.conf
echo 'nameserver 8.8.8.8' >> /etc/resolv.conf
এটি সঙ্গে সঙ্গে কাজ করে, কিন্তু রিবুট বা পরের নেটওয়ার্ক রিকনফিগারেশন পর্যন্তই টেকে। স্থায়ী সমাধান নির্ভর করে সিস্টেমের উপর।
systemd-resolved-সহ Debian ও Ubuntu:
systemctl enable --now systemd-resolved
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
resolvectl dns ens18 1.1.1.1 8.8.8.8
AlmaLinux ও CentOS Stream:
nmcli con mod "System ens18" ipv4.dns "1.1.1.1 8.8.8.8"
nmcli con up "System ens18"
/etc/resolv.confযদি/run-এর দিকে সিমলিংক হয়, তাহলে হাতে হাতে সম্পাদনা করবেন না। এমন ফাইল সার্ভিস নিজেই ওভাররাইট করে, আর আপনার পরিবর্তন প্রথম রিবুটেই হারিয়ে যাবে — এক সপ্তাহ পরে আবার একই সমস্যায় পড়বেন এবং কারণটা মনে করতে পারবেন না।
ধাপ ৪. বিশেষ ক্ষেত্র
রিজলভার কাজ করছে, কিন্তু নির্দিষ্ট একটি নাম খুঁজে পাওয়া যাচ্ছে না। রেকর্ডটি আদৌ প্রকাশিত কি না দেখুন:
dig millida.net A @1.1.1.1
dig millida.net A @8.8.8.8
দুটি সার্ভার থেকে ভিন্ন উত্তর মানে জোনটি সম্প্রতি বদলেছে এবং কোথাও পুরোনো ক্যাশ এখনও আছে। dig উত্তরে থাকা রেকর্ডের টাইম টু লাইভ (TTL) পর্যন্ত অপেক্ষা করুন।
মেশিনের অ্যাড্রেসের রিভার্স রেকর্ড (PTR) এই সমস্যার সাথে সম্পর্কিত নয়: এটি মেইল সার্ভারের জন্য দরকার, “Access” ট্যাবে সেট করা হয়, এবং মেশিন নিজে কীভাবে নাম রিজলভ করে তা প্রভাবিত করে না।
আরেকটি সাধারণ ঘটনা হলো মাইগ্রেশনের পর পড়ে থাকা পুরোনো লাইনসহ /etc/hosts। সিস্টেম DNS-এর আগে এটি যাচাই করে এবং একগুঁয়েভাবে পুরোনো অ্যাড্রেসেই যেতে থাকে:
cat /etc/hosts
অতিরিক্ত লাইনগুলো মুছে দিন এবং 127.0.0.1 localhost ও মেশিনের নিজের নামের লাইনটি রেখে দিন।
কোনো সার্ভার থেকেই যদি নাম রিজলভ না হয়
তাহলে সমস্যাটি আরও বিস্তৃত: Lost network on the machine নিবন্ধটি দেখে মৌলিক কানেক্টিভিটি যাচাই করুন এবং নিশ্চিত করুন যে আউটবাউন্ড পোর্ট 53 আপনার নিজের প্যাকেট ফিল্টারে ব্লক করা নেই।