Linux-এ DNS resolve না হলে কারণ ও সমাধান

যদি Linux-এ ইন্টারনেট সংযোগ আছে বলে মনে হয়, কিন্তু ওয়েবসাইট খোলে না, অথবা IP address দিয়ে সংযোগ করা যায় কিন্তু domain name দিয়ে করা যায় না, তাহলে সাধারণত DNS resolution-এ সমস্যা থাকে। DNS-এর কাজ হলো example.com-এর মতো domain name-কে প্রকৃত IP address-এ রূপান্তর করা। এই প্রক্রিয়ায় সমস্যা হলে নেটওয়ার্ক সচল থাকলেও স্বাভাবিকভাবে ইন্টারনেট ব্যবহার করা কঠিন হয়ে যায়।

সাধারণ লক্ষণ

  • ব্রাউজারে “server not found” ধরনের বার্তা দেখা যায়
  • ping 8.8.8.8 সফল হয়, কিন্তু ping google.com ব্যর্থ হয়
  • apt, dnf, yum, pacman এর মতো package manager কাজ করে না
  • Temporary failure in name resolution ত্রুটি দেখা যায়

প্রথমে যা পরীক্ষা করবেন

শুরুতে বুঝতে হবে সমস্যাটি পুরো নেটওয়ার্কে, নাকি শুধু DNS-এ।

ping -c 4 8.8.8.8
ping -c 4 google.com
ip addr
ip route

যদি 8.8.8.8 কাজ করে কিন্তু google.com না করে, তাহলে DNS সমস্যার সম্ভাবনা বেশি। যদি IP address-ও কাজ না করে, তাহলে Wi-Fi, network interface, gateway বা routing-এ সমস্যা থাকতে পারে।

প্রধান কারণ

1. /etc/resolv.conf ভুলভাবে সেট করা

অনেক Linux সিস্টেমে DNS server-এর তথ্য /etc/resolv.conf ফাইলে রাখা হয়। যদি সেখানে সঠিক nameserver না থাকে, তাহলে domain name resolve হবে না।

cat /etc/resolv.conf

উদাহরণ:

nameserver 8.8.8.8
nameserver 1.1.1.1

যদি ফাইলটি ফাঁকা হয় বা ভুল local DNS-এর দিকে নির্দেশ করে, তাহলে সমস্যা হবে। তবে আধুনিক Linux সিস্টেমে এই ফাইলটি প্রায়ই NetworkManager বা systemd-resolved দ্বারা স্বয়ংক্রিয়ভাবে তৈরি হয়, তাই হাতে করা পরিবর্তন পরে মুছে যেতে পারে।

2. systemd-resolved-এ সমস্যা

Ubuntu-এর মতো সিস্টেমে systemd-resolved অনেক সময় DNS পরিচালনা করে এবং 127.0.0.53 কে local resolver হিসেবে ব্যবহার করে। এই service বন্ধ হয়ে গেলে DNS resolution ব্যর্থ হতে পারে।

systemctl status systemd-resolved
resolvectl status

সমস্যা থাকলে service restart করুন:

sudo systemctl restart systemd-resolved

3. NetworkManager সঠিকভাবে DNS প্রয়োগ করছে না

Desktop Linux-এ NetworkManager সাধারণত DHCP-এর মাধ্যমে DNS তথ্য পায়। যদি network profile নষ্ট হয়ে যায় বা reconnect-এ সমস্যা হয়, তাহলে সঠিক DNS প্রয়োগ নাও হতে পারে।

nmcli dev show | grep DNS
nmcli connection show

প্রয়োজন হলে restart করুন:

sudo systemctl restart NetworkManager

4. VPN, proxy বা firewall-এর প্রভাব

VPN DNS query ভুল পথে পাঠাতে পারে, আর firewall 53 নম্বর port block করতে পারে। তখন নেটওয়ার্ক আংশিক সচল মনে হলেও domain name resolve হবে না।

5. DNS cache পুরোনো বা নষ্ট

যদি local cache পুরোনো বা নষ্ট হয়, কিছু domain কাজ নাও করতে পারে। systemd-resolved বা nscd ব্যবহার করা হলে cache পরিষ্কার করা সহায়ক হতে পারে।

sudo resolvectl flush-caches

ব্যবহারিক সমাধানের ধাপ

ধাপ 1: Public DNS-এ সরাসরি query করুন

nslookup google.com 8.8.8.8
dig google.com @8.8.8.8

এটি কাজ করলে বোঝা যায় external DNS ঠিক আছে, আর সমস্যা local configuration-এ হওয়ার সম্ভাবনা বেশি।

ধাপ 2: অস্থায়ীভাবে public DNS সেট করুন

sudo sh -c 'printf "nameserver 8.8.8.8\nnameserver 1.1.1.1\n" > /etc/resolv.conf'

এটি একটি অস্থায়ী সমাধান। Reboot বা reconnect-এর পরে ফাইলটি আবার বদলে যেতে পারে। স্থায়ী সমাধানের জন্য NetworkManager, netplan বা systemd-resolved-এর configuration ঠিক করতে হবে।

ধাপ 3: Ubuntu-তে netplan পরীক্ষা করুন

sudo nano /etc/netplan/*.yaml

উদাহরণ:

nameservers:
  addresses: [8.8.8.8,1.1.1.1]

তারপর প্রয়োগ করুন:

sudo netplan apply

ধাপ 4: DHCP তথ্য আবার নিন

sudo dhclient -r
sudo dhclient

যদি DHCP server ভুল DNS তথ্য দিয়ে থাকে, তাহলে এই ধাপটি কাজে লাগতে পারে।

পরীক্ষার জন্য দরকারি কমান্ড

ping -c 4 8.8.8.8
ping -c 4 google.com
cat /etc/resolv.conf
systemctl status systemd-resolved
resolvectl status
nmcli dev show | grep DNS
nslookup google.com
dig google.com
journalctl -u systemd-resolved --no-pager | tail -n 50

পুনরাবৃত্তি রোধ করতে

  • শুধু /etc/resolv.conf হাতে এডিট করে থেমে যাবেন না
  • বোঝার চেষ্টা করুন DNS DHCP, NetworkManager নাকি systemd-resolved দ্বারা পরিচালিত হচ্ছে
  • VPN ব্যবহারের পরে DNS settings বদলেছে কি না পরীক্ষা করুন
  • Server পরিবেশে static DNS স্পষ্টভাবে সেট করা ভালো

উপসংহার

Linux-এ DNS resolve না হলে সবচেয়ে গুরুত্বপূর্ণ প্রথম পদক্ষেপ হলো IP address-এ সংযোগ কাজ করছে কি না তা পরীক্ষা করা। এতে বোঝা যায় সমস্যা শুধু DNS-এ, নাকি পুরো নেটওয়ার্কে। এরপর /etc/resolv.conf, systemd-resolved, NetworkManager, DHCP এবং VPN settings একে একে পরীক্ষা করা উচিত। শুধু অস্থায়ী সমাধান নয়, বরং সিস্টেমে আসলে কোন উপাদান DNS পরিচালনা করছে তা বোঝাই সবচেয়ে গুরুত্বপূর্ণ।

Leave a Reply

আপনার ই-মেইল এ্যাড্রেস প্রকাশিত হবে না। * চিহ্নিত বিষয়গুলো আবশ্যক।