- 1 ১. পরিচিতি: উবুন্টুতে DNS কনফিগারেশন কেন গুরুত্বপূর্ণ
- 2 ২. উবুন্টুতে DNS কনফিগারেশনের দুটি প্রধান পদ্ধতি
- 3 ৩. Netplan দিয়ে DNS কনফিগারেশন (সার্ভারগুলোর জন্য)
- 4 ৪. Ubuntu ডেস্কটপে DNS কনফিগারেশনের জন্য NetworkManager (GUI) ব্যবহার করা
- 5 ৫. DNS সেটিংস প্রয়োগ হয়েছে কিনা নিশ্চিত করার পদ্ধতি
- 6 ৬. সাধারণ DNS অপশন (শুরু করার জন্য সহায়ক)
১. পরিচিতি: উবুন্টুতে DNS কনফিগারেশন কেন গুরুত্বপূর্ণ
DNS (ডোমেইন নেম সিস্টেম) হল সেই প্রক্রিয়া যা ডোমেইন নামকে IP ঠিকানায় রূপান্তর করে।
প্রতিবার আমরা কোনো ওয়েবসাইট খুললে, অপারেটিং সিস্টেম পটভূমিতে একটি DNS সার্ভারকে প্রশ্ন করে।
উবুন্টু ব্যবহার করার সময়, আপনি নিম্নলিখিত সমস্যাগুলোর সম্মুখীন হতে পারেন:
- ওয়েব পেজগুলো “কিছুটা ধীর” মনে হয়
- একই নেটওয়ার্কের অন্যান্য ডিভাইসের তুলনায় পারফরম্যান্স ধীর
- কখনও কখনও অভ্যন্তরীণ LAN ওয়েবসাইটে প্রবেশ করতে না পারা
এই উপসর্গগুলো বেশিরভাগই “নেটওয়ার্কের গুণমান” নয়, বরং ধীর DNS রেজোলিউশনের কারণে হয়।
উবুন্টুতে, ২২.০৪ এবং পরবর্তী সংস্করণেও, DNS কনফিগার করার একাধিক পদ্ধতি রয়েছে। এটি প্রায়শই নবীনদের বিভ্রান্ত করে। প্রধান দুটি পদ্ধতি হল:
- Netplan (GUI ছাড়া সার্ভার পরিবেশে সাধারণ)
- NetworkManager (ডেস্কটপ GUI অপারেশন সমর্থন করে)
কোনটি সক্রিয় আছে তার উপর ভিত্তি করে কনফিগারেশন ভিন্ন হওয়ায়, উবুন্টুর DNS সম্পর্কিত প্রবন্ধগুলোকে প্রথমে “পরিবেশ সনাক্তকরণ” দিয়ে শুরু করতে হবে, তারপর “ব্যবহারকারীকে সঠিক পদ্ধতিতে নির্দেশনা” দিতে হবে।
DNS কেবল ‘সেটিংসের একটি ছোট অংশ’ নয়, বরং উবুন্টুর সম্পূর্ণ নেটওয়ার্ক সিস্টেমের প্রবেশদ্বার।
উদাহরণস্বরূপ, কেবল গুগল পাবলিক DNS (8.8.8.8) অথবা ক্লাউডফ্লেয়ার (1.1.1.1) এ পরিবর্তন করলেই ওয়েব ব্রাউজিং উল্লেখযোগ্যভাবে দ্রুত হয়। এটি বিশেষত VPS, ক্লাউড, অথবা বিদেশি নেটওয়ার্ক পরিবেশে সত্য।
পরবর্তী অংশগুলোতে, আমরা স্পষ্টভাবে আলাদা করব:
- GUI ব্যবহার করে DNS কনফিগার করার পদ্ধতি
- Netplan এর মাধ্যমে DNS কনফিগার করার পদ্ধতি
- DNS সেটিংস যাচাই করার পদ্ধতি
প্রথমে, আপনার সিস্টেম কোন পরিবেশ ব্যবহার করছে তা নির্ধারণ করি।
২. উবুন্টুতে DNS কনফিগারেশনের দুটি প্রধান পদ্ধতি
উবুন্টুতে, DNS কনফিগার করার পদ্ধতি ব্যবহৃত নেটওয়ার্ক ম্যানেজমেন্ট সিস্টেমের উপর নির্ভর করে পরিবর্তিত হয়। এই পার্থক্য উপেক্ষা করলে, DNS পরিবর্তন প্রয়োগ নাও হতে পারে অথবা রিবুটের পরে ফিরে আসতে পারে।
এখানে আমরা সংক্ষেপে জানাচ্ছি যে উবুন্টুতে দুটি স্বতন্ত্র DNS কনফিগারেশন সিস্টেম রয়েছে।
Netplan (YAML-ভিত্তিক কনফিগারেশন)
- সার্ভার পরিবেশে সাধারণ
- উবুন্টু ১৮.০৪ এবং পরবর্তী LTS সংস্করণে মানকীকৃত
- কনফিগারেশন ফাইলগুলো
/etc/netplan/*.yamlডিরেক্টরিতে থাকে - systemd-resolved এর সঙ্গে কাজ করে
GUI ছাড়া VPS বা ফিজিক্যাল সার্ভার পরিবেশে, Netplan প্রায়ই ব্যবহৃত হয়। AWS, Vultr, ConoHa, অথবা Oracle Cloud এর মতো ক্লাউড পরিবেশেও সাধারণত এই পদ্ধতি ব্যবহার করা হয়।
NetworkManager (GUI)
- ডেস্কটপ PC পরিবেশে (উবুন্টু ডেস্কটপ) সাধারণ
- IPv4 / IPv6 সেটিংসের মাধ্যমে DNS কনফিগার করতে দেয়
- GUI-ভিত্তিক কনফিগারেশনের কারণে সহজে বোঝা যায়
আপনি যদি উবুন্টু ডেস্কটপ ব্যবহার করেন, তবে এটি সবচেয়ে সম্ভাব্য পদ্ধতি। এটি আদর্শ যখন আপনি “ব্রাউজার ধীর লাগায় শুধু DNS পরিবর্তন” করতে চান।
আপনি কোনটি ব্যবহার করছেন কীভাবে যাচাই করবেন
সবচেয়ে সহজ উপায় হল /etc/netplan/ ডিরেক্টরিতে ফাইল আছে কিনা তা পরীক্ষা করা।
ls /etc/netplan/
যদি YAML ফাইল থাকে, তবে সম্ভবত Netplan ব্যবহার হচ্ছে। যদি ডিরেক্টরি খালি থাকে অথবা আপনি GUI ব্যবহার করেন, তবে NetworkManager সেটিংস পরীক্ষা করুন।
৩. Netplan দিয়ে DNS কনফিগারেশন (সার্ভারগুলোর জন্য)
Netplan নেটওয়ার্ক সেটিংস সংজ্ঞায়িত করতে YAML ফাইল ব্যবহার করে। GUI ছাড়া উবুন্টু সার্ভার বা VPS পরিবেশে, এটি প্রায়ই ব্যবহৃত হয়।
এই অংশে নির্দিষ্ট DNS মান সেট করার জন্য প্রয়োজনীয় ন্যূনতম ব্যবহারিক ধাপগুলোতে মনোযোগ দেওয়া হয়েছে।
Netplan কনফিগারেশন ফাইল খুলুন
Netplan কনফিগারেশন ফাইলগুলো /etc/netplan/-এ সংরক্ষিত থাকে। প্রকৃত ফাইলের নাম পরিবেশ অনুযায়ী ভিন্ন হতে পারে (যেমন, 00-installer-config.yaml)।
প্রথমে ফাইল তালিকা দেখুন:
ls /etc/netplan/
ফাইলের নাম চিহ্নিত করার পর, nano ইত্যাদি এডিটর দিয়ে খুলুন। উদাহরণস্বরূপ:
sudo nano /etc/netplan/00-installer-config.yaml
YAML-এ DNS এন্ট্রি যোগ করার পদ্ধতি (উদাহরণ)
নিচে গুগল DNS এবং ক্লাউডফ্লেয়ার DNS উভয়ই নির্দিষ্ট করার একটি উদাহরণ দেওয়া হয়েছে।
network:
version: 2
ethernets:
ens33:
dhcp4: true
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
দ্রষ্টব্য: আপনার NIC অনুযায়ী ens33 ভিন্ন হতে পারে। ip a অথবা ip link ব্যবহার করে যাচাই করুন।
কনফিগারেশন প্রয়োগ করুন
পরিবর্তনগুলি সঙ্গে সঙ্গে প্রয়োগ করুন:
sudo netplan apply
যদি ত্রুটি দেখা দেয়, YAML ইনডেন্টেশনই সবচেয়ে সাধারণ কারণ।
স্পেসিং এবং হায়ারার্কি যাচাই করুন—ট্যাব ব্যবহার করা যাবে না।
DHCP এবং ম্যানুয়াল DNS একসাথে ব্যবহার করা সম্ভব কি?
হ্যাঁ, আপনি DHCP দিয়ে IP পেতে পারেন এবং একই সাথে DNS ম্যানুয়ালি নির্ধারণ করতে পারেন।
উদাহরণ:
dhcp4: true
nameservers:
addresses: [9.9.9.9]
এই কনফিগারেশনটি “IP = স্বয়ংক্রিয়, DNS = ম্যানুয়াল” সেট করে।
৪. Ubuntu ডেস্কটপে DNS কনফিগারেশনের জন্য NetworkManager (GUI) ব্যবহার করা
যদি আপনি ডেস্কটপের জন্য Ubuntu ব্যবহার করেন, টার্মিনাল না ব্যবহার করেও DNS পরিবর্তন করতে পারেন।
এই GUI-ভিত্তিক পদ্ধতি সবচেয়ে দ্রুত, যখন আপনি শুধু “ব্রাউজার দ্রুত করতে” বা “একটি পাবলিক DNS-এ পরিবর্তন করতে” চান।
সেটিংস উইন্ডো কীভাবে খুলবেন
- উপরের ডান কোণে নেটওয়ার্ক আইকনে ক্লিক করুন
- “Settings” অথবা “Network Settings” খুলুন
- সক্রিয় সংযোগটি নির্বাচন করুন (Wired / Wi‑Fi)
- “IPv4” ট্যাবে যান
এখানে আপনি একটি DNS ইনপুট ফিল্ড পাবেন।
Ubuntu সংস্করণের উপর নির্ভর করে শব্দগুচ্ছ সামান্য ভিন্ন হতে পারে, তবে আপনি কমা দিয়ে পৃথক করা DNS ঠিকানা লিখতে পারেন।
উদাহরণ ইনপুট (IPv4 দিয়ে DNS নির্ধারণ)
উদাহরণ: গুগল DNS এবং ক্লাউডফ্লেয়ার DNS ব্যবহার করা
8.8.8.8, 1.1.1.1
মানগুলো প্রবেশ করানোর পরে “Apply” অথবা “Save” ক্লিক করুন। সেটিংস প্রয়োগ হয়েছে কিনা নিশ্চিত করতে নেটওয়ার্কটি ডিসকানেক্ট করে পুনরায় কানেক্ট করা সুপারিশ করা হয়।
যদি আপনি IPv6 ব্যবহার করেন
“IPv6” ট্যাবেও অনুরূপ একটি DNS ইনপুট ফিল্ড থাকে।
ডুয়াল‑স্ট্যাক নেটওয়ার্কে, স্থিতিশীলতার জন্য IPv4 এবং IPv6 উভয়ের DNS সেট করা গুরুত্বপূর্ণ হতে পারে।
DHCP এবং ম্যানুয়াল DNS একসাথে ব্যবহার করা
আপনি GUI-তে স্বয়ংক্রিয় IP অ্যাসাইনমেন্ট ব্যবহার করতে পারেন, আর DNS ম্যানুয়ালি নির্ধারণ করতে পারেন।
এটি তখন উপকারী যখন আপনি প্রতিটি Wi‑Fi নেটওয়ার্কে (যেমন বাড়ি বা অফিসে) ম্যানুয়ালি স্থির IP নির্ধারণ করতে চান না।
৫. DNS সেটিংস প্রয়োগ হয়েছে কিনা নিশ্চিত করার পদ্ধতি
নতুন DNS সেটিংস প্রকৃতপক্ষে প্রয়োগ হয়েছে কিনা যাচাই না করা পর্যন্ত কনফিগারেশন সম্পূর্ণ নয়।
Ubuntu-এ DNS স্ট্যাটাস চেক করার জন্য তিনটি নির্ভরযোগ্য পদ্ধতি রয়েছে।
dig কমান্ড ব্যবহার করা
dig google.com
আউটপুটের মধ্যে “SERVER: 〜” লেবেলযুক্ত লাইনটি দেখুন।
এটি আপনার সিস্টেম বর্তমানে কোন DNS সার্ভার ব্যবহার করছে তা দেখায়।
উদাহরণ (একটি অংশ):
;; SERVER: 8.8.8.8#53(8.8.8.8)
যাচাই করুন যে এটি 8.8.8.8 (গুগল) অথবা 1.1.1.1 (ক্লাউডফ্লেয়ার) ইত্যাদি দেখাচ্ছে।
resolvectl status
systemd‑resolved ব্যবহার করার সময় এই পদ্ধতি সঠিক।
resolvectl status
এটি প্রতিটি NIC দ্বারা বর্তমানে ব্যবহৃত নেমসার্ভার দেখায়।
মাল্টি‑NIC সার্ভারে, dig-এর তুলনায় এটি বেশি নির্ভরযোগ্য।
কেন সরাসরি /etc/resolv.conf এডিট করা উচিত নয়
cat /etc/resolv.conf
এই ফাইলটি বর্তমানে ব্যবহৃত চূড়ান্ত DNS মান দেখায়।
তবে, ফাইলটি systemd‑resolved দ্বারা স্বয়ংক্রিয়ভাবে জেনারেট হয়, অর্থাৎ:
এটি ওভাররাইট হবে, তাই এই ফাইলটি ম্যানুয়ালি এডিট করা ভুল।
৬. সাধারণ DNS অপশন (শুরু করার জন্য সহায়ক)
আপনি নিজে DNS সার্ভার ঠিকানা “তৈরি” করেন না।
বেশিরভাগ ক্ষেত্রে, আপনি ব্যাপকভাবে উপলব্ধ পাবলিক DNS সার্ভিস থেকে বেছে নেন।
যদি আপনি নিরাপদ, স্থিতিশীল অপশন চান, নিচের তালিকা থেকে বেছে নিন:
| Provider | DNS Address |
|---|---|
| Google Public DNS | 8.8.8.8 / 8.8.4.4 |
| Cloudflare | 1.1.1.1 |
| Quad9 | 9.9.9.9 |
| OpenDNS | 208.67.222.222 / 208.67.220.220 |
দুটি DNS সার্ভার নির্ধারণ করা রিডান্ডেন্সির জন্য সুপারিশ করা হয়।
একটি যদি অপ্রাপ্য হয়ে যায়, সিস্টেম স্বয়ংক্রিয়ভাবে অন্যটি ব্যবহার করবে।
যদি আপনি অভ্যন্তরীণ DNS (যেমন কর্পোরেট AD) ব্যবহার করেন, তবে পাবলিক DNS-এর পরিবর্তে অভ্যন্তরীণ DNS সার্ভার নির্ধারণ করতে হবে।
অভ্যন্তরীণ নাম রেজোলিউশন প্রায়শই বাহ্যিক DNS পারফরম্যান্সের উপরে অগ্রাধিকার পায়।
৭. DNS প্রায়শই নেটওয়ার্কের বটলনেক হয়ে যায়
DNS একটি সহজ কনফিগারেশন আইটেমের মতো দেখালেও, এটি নেটওয়ার্কের পারসেপটেড পারফরম্যান্সে উল্লেখযোগ্য প্রভাব ফেলে।
DNS সমস্যাগুলি বিশেষ করে নিম্নলিখিত পরিস্থিতিতে স্পষ্টভাবে অনুভূত হয়:
- একটি ওয়েবপেজ লোড করার প্রথম ধাপটি অস্বাভাবিকভাবে ধীর মনে হয়
- পিং দ্রুত, তবে ওয়েব ব্রাউজিং ধীরগতির মতো লাগে
- SPA ফ্রেমওয়ার্ক (React / Vue) এর প্রাথমিক লোড ধীর হয়
এই কেসগুলো প্রায়শই এভাবে আচরণ করে: “একই URL কয়েকবার লোড করার পর, এটি দ্রুত হয়ে যায়, কিন্তু প্রথম অ্যাক্সেসটি অদ্ভুতভাবে ধীর।”
এটি ঘটে কারণ DNS হলো প্রাথমিক এন্ট্রি পয়েন্ট।
বিশেষ করে VPS বা আন্তর্জাতিক অঞ্চলে (যেমন, us-east / eu-west), পাবলিক DNS আপনার ISP-এর ডিফল্ট DNS-কে ছাড়িয়ে যেতে পারে।
DNS হলো একটি পয়েন্ট যা নেটওয়ার্ক লেটেন্সি-এর প্রতি অত্যন্ত সংবেদনশীল।
OS যাই হোক না কেন, DNS টিউনিং ওয়েব ইঞ্জিনিয়ারদের প্রথম অপটিমাইজেশনগুলোর একটি।
প্রশ্নোত্তর
প্রশ্ন ১: আমি /etc/resolv.conf এডিট করেছি কিন্তু রিবুটের পর এটি রিসেট হয়ে যায়। কেন?
→ Ubuntu-এর systemd-resolved স্বয়ংক্রিয়ভাবে /etc/resolv.conf জেনারেট করে।
এই ফাইলটি ম্যানুয়ালি এডিট করার জন্য নয়।
Netplan বা NetworkManager ব্যবহার করুন পরিবর্তে।
প্রশ্ন ২: আমি নিশ্চিত নই যে আমি Netplan বা NetworkManager ব্যবহার করছি কিনা। কীভাবে চেক করব?
→ প্রথমে চেক করুন:
ls /etc/netplan/
যদি YAML ফাইলগুলো থাকে, তাহলে Netplan সম্ভবত ব্যবহার করা হচ্ছে।
যদি আপনি GUI ব্যবহার করেন, তাহলে NetworkManager সম্ভবত।
প্রশ্ন ৩: DHCP-এর মাধ্যমে IP স্বয়ংক্রিয়ভাবে পেতে পারি এবং DNS ম্যানুয়ালি সেট করতে পারি?
→ হ্যাঁ।
Netplan এবং NetworkManager উভয়ই “IP = AUTO, DNS = manual.” অনুমোদন করে।
প্রশ্ন ৪: DNS পরিবর্তন করলে কি সবসময় ওয়েব ব্রাউজিং দ্রুত হবে?
→ সবসময় নয়।
DNS শুধুমাত্র প্রাথমিক নাম লুকআপ-কে প্রভাবিত করে।
এটি প্রায়শই প্রথম লোড দ্রুত করে, কিন্তু অন্যান্য ধীর ইমেজ/CDN/API এখনও ধীর পারফরম্যান্স ঘটাতে পারে।
প্রশ্ন ৫: একই স্টেপগুলো WSL2-এর উপর Ubuntu-এ প্রযোজ্য কি?
→ ঠিক তেমন নয়।
WSL2 resolv.conf স্বয়ংক্রিয়ভাবে পুনর্জেনারেট করে, যার জন্য অতিরিক্ত সেটিংস প্রয়োজন যেমন:
generateResolvConf=false
WSL-এর নিজস্ব DNS কনফিগারেশন পদ্ধতি আছে।

