১. উবুন্টুতে নেটপ্ল্যানের ওভারভিউ
নেটপ্ল্যান কী?
নেটপ্ল্যান হল একটি নেটওয়ার্ক কনফিগারেশন ম্যানেজমেন্ট টুল, যা উবুন্টু ১৭.১০ এবং পরবর্তী সংস্করণগুলোতে পরিচিত করা হয়েছে। পূর্বে নেটওয়ার্ক কনফিগারেশনের জন্য ifconfig এবং /etc/network/interfaces ব্যবহার করা হতো, তবে নেটপ্ল্যান একটি নতুন, আরও গঠনমূলক পদ্ধতি প্রদান করে। নেটপ্ল্যানের প্রধান বৈশিষ্ট্যগুলোর একটি হল নেটওয়ার্ক কনফিগারেশনের জন্য YAML ফাইলের ব্যবহার, যা সহজ ও সঙ্গতিপূর্ণ সেটআপকে সম্ভব করে, এমনকি জটিল নেটওয়ার্ক কনফিগারেশনেও সহজে পরিচালনা করা যায়।
নেটপ্ল্যান NetworkManager এবং systemd-networkd এর মতো ব্যাকএন্ড সমর্থন করে, যা উবুন্টু ডেস্কটপ ও সার্ভার উভয় পরিবেশের জন্য উপযুক্ত করে তোলে। এটি বিভিন্ন সেটআপে নেটওয়ার্ক পরিচালনার জন্য একটি ঐক্যবদ্ধ পদ্ধতি প্রদান করে।
কেন নেটপ্ল্যান ব্যবহার করবেন?
প্রচলিত নেটওয়ার্ক কনফিগারেশন পদ্ধতির তুলনায়, নেটপ্ল্যান বেশ কিছু সুবিধা প্রদান করে:
- সহজ সিনট্যাক্স : YAML ফরম্যাটটি স্বজ্ঞাত ও গঠনমূলক, যা কনফিগারেশনগুলোকে পড়া ও বোঝা সহজ করে, এমনকি নবাগতদের জন্যও।
- একীভূত ব্যবস্থাপনা : এটি ডেস্কটপ ও সার্ভার উভয় পরিবেশে ব্যবহার করা যায়, যা বিভিন্ন নেটওয়ার্ক কনফিগারেশনের কেন্দ্রীয় ব্যবস্থাপনা সম্ভব করে।
- ডাইনামিক পরিবর্তন : আপনি কনফিগারেশন ফাইলটি পরিবর্তন করে সঙ্গে সঙ্গে পরিবর্তনগুলি প্রয়োগ করতে পারেন, যা রিয়েল-টাইমে আপডেট প্রতিফলিত করে।
নেটপ্ল্যানের মৌলিক গঠন
নেটপ্ল্যান কনফিগারেশন ফাইলগুলো সাধারণত /etc/netplan/ ডিরেক্টরিতে অবস্থিত এবং .yaml এক্সটেনশন থাকে। এই ফাইলগুলোতে নেটওয়ার্ক ইন্টারফেস, IP ঠিকানা এবং DNS সার্ভারের সেটিংস থাকে।
নিচে একটি মৌলিক নেটপ্ল্যান কনফিগারেশন ফাইলের উদাহরণ দেখানো হয়েছে:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: true
এই উদাহরণে, ইথারনেট ইন্টারফেস enp3s0-কে DHCP এর মাধ্যমে একটি IP ঠিকানা পেতে সেট করা হয়েছে।
উবুন্টু ১৮.০৪ LTS এবং পরবর্তী সংস্করণে নেটপ্ল্যানের ভূমিকা
উবুন্টু ১৮.০৪ LTS থেকে, নেটপ্ল্যান ডিফল্টভাবে ইনস্টল করা থাকে এবং সার্ভার ও ডেস্কটপ উভয় পরিবেশে নেটওয়ার্ক ব্যবস্থাপনার জন্য ব্যাপকভাবে ব্যবহৃত হয়। সার্ভার পরিবেশে, যেখানে একাধিক নেটওয়ার্ক ইন্টারফেস এবং স্থির IP কনফিগারেশন প্রায়ই প্রয়োজন হয়, সেখানে নেটপ্ল্যান বিশেষভাবে উপকারী প্রমাণিত হয়।
পরবর্তী অংশে, আমরা নেটপ্ল্যান ব্যবহার করে নেটওয়ার্ক কনফিগার করার পদ্ধতি আলোচনা করব।

২. নেটপ্ল্যানের মৌলিক কনফিগারেশন
নেটপ্ল্যান কনফিগারেশন ফাইলের অবস্থান
নেটপ্ল্যান কনফিগারেশন ফাইলগুলো সাধারণত /etc/netplan/ ডিরেক্টরিতে সংরক্ষিত থাকে। এই ডিরেক্টরির .yaml ফাইলগুলো সম্পাদনা করে আপনি নেটওয়ার্ক সেটিংস পরিবর্তন করতে পারেন। একটি সাধারণ ফাইলের নাম হল 50-cloud-init.yaml, তবে সিস্টেমের পরিবেশের উপর নির্ভর করে এটি ভিন্ন হতে পারে।
কনফিগারেশন ফাইলটি খুলতে, আপনি নিচের মতো vi অথবা nano টেক্সট এডিটর ব্যবহার করতে পারেন:
sudo vi /etc/netplan/50-cloud-init.yaml
ডাইনামিক IP ঠিকানা (DHCP) কনফিগার করা
DHCP এর মাধ্যমে স্বয়ংক্রিয়ভাবে একটি IP ঠিকানা পেতে, নিম্নলিখিত YAML কনফিগারেশন ব্যবহার করুন। এটি সবচেয়ে সহজ সেটআপ এবং বাড়ি ও অফিস পরিবেশে সাধারণত ব্যবহৃত হয়।
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: true
স্থির IP ঠিকানা কনফিগার করা
কিছু পরিবেশে, সার্ভার বা নির্দিষ্ট ডিভাইসগুলিতে একটি স্থির IP ঠিকানা নির্ধারণ করা প্রয়োজন। নিচের উদাহরণে কীভাবে একটি স্থির IP ঠিকানা কনফিগার করা যায় তা দেখানো হয়েছে:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
কনফিগারেশন প্রয়োগ করা
কনফিগারেশন ফাইল সম্পাদনা করার পরে, নিম্নলিখিত কমান্ড ব্যবহার করে পরিবর্তনগুলি প্রয়োগ করুন:
sudo netplan apply
কনফিগারেশন যাচাই করা
নেটপ্ল্যান সেটিংস সঠিকভাবে প্রয়োগ হয়েছে কিনা যাচাই করতে, নেটওয়ার্ক ইন্টারফেসের অবস্থা পরীক্ষা করার জন্য নিম্নলিখিত কমান্ড ব্যবহার করুন:
ip a

৩. একাধিক নেটওয়ার্ক ইন্টারফেস কনফিগার করা
একাধিক ইথারনেট ইন্টারফেস সেটআপ করা
সার্ভার এবং ডিভাইসগুলিতে একাধিক নেটওয়ার্ক ইন্টারফেস থাকলে প্রতিটি ইন্টারফেসে ভিন্ন IP ঠিকানা এবং সেটিংস নির্ধারণ করা যায়। নিম্নের উদাহরণে দুটি ইথারনেট ইন্টারফেসকে ভিন্ন সেটিংস দিয়ে কনফিগার করা হয়েছে:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: true
enp4s0:
addresses:
- 192.168.1.150/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
রিডান্ডেন্সির জন্য নেটওয়ার্ক বন্ডিং কনফিগারেশন
নেটওয়ার্ক বন্ডিং একাধিক নেটওয়ার্ক ইন্টারফেসকে একটি ভার্চুয়াল ইন্টারফেসে একত্রিত করে রিডান্ডেন্সি এবং উপলভ্যতা বাড়ায়। নিম্নের উদাহরণে দুটি ইথারনেট ইন্টারফেসকে bond0 নামের বন্ডেড ইন্টারফেস হিসেবে কনফিগার করা হয়েছে:
network:
version: 2
renderer: networkd
bonds:
bond0:
interfaces:
- enp3s0
- enp4s0
addresses:
- 192.168.1.200/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
parameters:
mode: active-backup
primary: enp3s0
ওয়াই-ফাই সংযোগ কনফিগারেশন
Netplan ওয়াই-ফাই সংযোগ কনফিগার করতে পারে। নিম্নের উদাহরণে নির্দিষ্ট SSID-তে সংযোগ স্থাপন করা হয়েছে:
network:
version: 2
renderer: networkd
wifis:
wlp2s0:
access-points:
"my_wifi_network":
password: "password1234"
dhcp4: true
VLAN কনফিগারেশন
নির্দিষ্ট ব্যবহার ক্ষেত্রে, ভার্চুয়াল LAN (VLAN) ব্যবহার করে নেটওয়ার্ককে লজিক্যালি সেগমেন্ট করা যায়। Netplan VLAN কনফিগারেশন সমর্থন করে। নিম্নের উদাহরণে enp3s0 ইন্টারফেসে একটি VLAN সেট করা হয়েছে:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: true
vlans:
vlan10:
id: 10
link: enp3s0
addresses:
- 192.168.10.1/24
৪. উন্নত Netplan কনফিগারেশন
স্ট্যাটিক রাউটিং কনফিগারেশন
একাধিক রাউটার দিয়ে নেটওয়ার্ক সংযুক্ত করার সময় স্ট্যাটিক রাউটিং প্রয়োজন হয়। Netplan ব্যবহার করে আপনি স্ট্যাটিক রুট কনফিগার করে নির্দিষ্ট IP ঠিকানা বা নেটওয়ার্কের জন্য ট্র্যাফিকের পথ নির্ধারণ করতে পারেন। নিম্নে স্ট্যাটিক রাউটিংয়ের একটি উদাহরণ দেওয়া হল:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses:
- 192.168.1.100/24
routes:
- to: 10.0.0.0/24
via: 192.168.1.1
এই কনফিগারেশনে, enp3s0 ইন্টারফেসকে ডিফল্ট গেটওয়ে 192.168.1.1 এর মাধ্যমে 10.0.0.0/24 নেটওয়ার্কের জন্য একটি স্ট্যাটিক রুট নির্ধারিত হয়েছে। এটি ট্র্যাফিককে নির্ধারিত পথে রাউট করতে সহায়তা করে।
একাধিক ডিফল্ট গেটওয়ে কনফিগারেশন
একাধিক নেটওয়ার্ক ইন্টারফেস থাকলে, Netplan প্রতিটি ইন্টারফেসের জন্য ভিন্ন ডিফল্ট গেটওয়ে সেট করার অনুমতি দেয়। এটি বিভিন্ন নেটওয়ার্ক সেগমেন্টের মাধ্যমে ইন্টারনেট অ্যাক্সেস প্রয়োজনীয় পরিবেশে উপযোগী। নিম্নে একটি উদাহরণ কনফিগারেশন দেওয়া হল:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
enp4s0:
addresses:
- 10.0.0.100/24
gateway4: 10.0.0.1
DNS সার্ভার কনফিগারেশন
Netplan সহজে স্ট্যাটিক DNS সার্ভার কনফিগার করতে পারে। নিম্নের উদাহরণে গুগলের পাবলিক DNS সার্ভার (8.8.8.8 এবং 8.8.4.4) নির্দিষ্ট করা হয়েছে:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses:
- 192.168.1.100/24
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
উন্নত নেটওয়ার্ক বন্ডিং
বেসিক বন্ডিংয়ের পাশাপাশি, বিভিন্ন ফাংশনালিটি অর্জনের জন্য বন্ডিং মোড সমন্বয় করা যায়। নিম্নের উদাহরণে রাউন্ড-রবিন বন্ডিং কনফিগার করা হয়েছে:
network:
version: 2
renderer: networkd
bonds:
bond0:
interfaces:
- enp3s0
- enp4s0
addresses:
- 192.168.1.200/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
parameters:
mode: balance-rr
balance-rr (রাউন্ড‑রবিন) মোড ইন্টারফেসগুলোর মধ্যে ট্র্যাফিক পরিবর্তন করে ব্যান্ডউইথ বিতরণ করে, পারফরম্যান্স উন্নত করে। অন্যান্য মোড, যেমন ফেইলওভারের জন্য active-backup এবং লোড ব্যালেন্সিংয়ের জন্য balance-tlb, প্রয়োজনীয়তার ভিত্তিতে নির্বাচন করা যায়।
উন্নত VLAN কনফিগারেশন
বড় নেটওয়ার্কে ট্র্যাফিককে যৌক্তিকভাবে ভাগ করতে VLAN (ভার্চুয়াল LAN) ব্যবহার করা হয়। Netplan VLAN কনফিগারেশন সমর্থন করে, নিচের উদাহরণে দেখানো হয়েছে:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: true
vlans:
vlan100:
id: 100
link: enp3s0
addresses:
- 192.168.100.1/24
এখানে, VLAN আইডি ১০০ enp3s0‑তে নির্ধারিত হয়েছে, এবং এটিকে স্থির IP ঠিকানা 192.168.100.1 দেওয়া হয়েছে। এটি নেটওয়ার্ককে ভাগ করে নিরাপত্তা ও ট্র্যাফিক ব্যবস্থাপনা উন্নত করতে সহায়তা করে।

৫. Netplan ট্রাবলশুটিং
Netplan অত্যন্ত সুবিধাজনক হলেও, কনফিগারেশন ত্রুটি এবং সিস্টেম‑নির্দিষ্ট সমস্যাগুলি উদ্ভব হতে পারে। এই বিভাগে সাধারণ Netplan সমস্যাগুলি এবং তাদের সমাধান ব্যাখ্যা করা হয়েছে, যা আপনাকে নেটওয়ার্ক সংযোগের ত্রুটি ও ভুল কনফিগারেশনগুলি কার্যকরভাবে সমাধান করতে সহায়তা করবে।
সাধারণ Netplan সমস্যাগুলি এবং কারণগুলি
১. কনফিগারেশন প্রয়োগ হচ্ছে না
যদি Netplan‑এ করা পরিবর্তনগুলি প্রয়োগ না হয়, সম্ভাব্য কারণগুলি হল:
- YAML ইনডেন্টেশন ত্রুটি : YAML সিনট্যাক্স ইনডেন্টেশনের ক্ষেত্রে কঠোর। ভুল স্পেস বা ট্যাব কনফিগারেশনকে অবৈধ করে তুলতে পারে।
- ভুল ইন্টারফেস নাম : Netplan সঠিক নেটওয়ার্ক ইন্টারফেস নাম প্রয়োজন।
ip aকমান্ড ব্যবহার করে যাচাই করুন এবং নিশ্চিত করুন যে এটি আপনার কনফিগারেশনের সাথে মেলে।
সমাধানসমূহ
- কনফিগারেশন ফাইল সংরক্ষণ করার পরে, নিম্নলিখিত কমান্ড ব্যবহার করে প্রয়োগ করুন:
sudo netplan apply
- যদি কোনো ত্রুটি ঘটে,
sudo netplan tryকমান্ড ব্যবহার করে পরিবর্তনগুলি স্থায়ীভাবে প্রয়োগ করার আগে পরীক্ষা করুন।
sudo netplan try
২. নেটওয়ার্ক সংযোগের ত্রুটি
যদি নেটওয়ার্ক কাজ না করে, সম্ভাব্য কারণগুলি হল:
- ভুল গেটওয়ে বা DNS কনফিগারেশন : সঠিক IP ঠিকানা এবং DNS সার্ভার নির্দিষ্ট করা হয়েছে কিনা নিশ্চিত করুন।
- ফিজিক্যাল ইন্টারফেস সমস্যাগুলি : নেটওয়ার্ক ক্যাবল এবং হার্ডওয়্যার পরীক্ষা করুন যাতে সেগুলি সঠিকভাবে সংযুক্ত আছে তা নিশ্চিত হয়।
সমাধানসমূহ
- সংযোগ যাচাই করতে
pingকমান্ড ব্যবহার করুন, উদাহরণস্বরূপ:
ping 8.8.8.8
- প্রয়োজনে নেটওয়ার্ক সার্ভিস রিস্টার্ট করুন:
sudo systemctl restart networkd
ত্রুটির জন্য লগ চেক করা
সমস্যা সমাধানের জন্য, সিস্টেম লগ মূল্যবান তথ্য প্রদান করে। Netplan‑সম্পর্কিত লগ চেক করতে নিম্নলিখিত কমান্ড ব্যবহার করুন:
journalctl -u systemd-networkd
৬. সারাংশ এবং পরবর্তী ধাপ
Netplan Ubuntu নেটওয়ার্ক কনফিগারেশনকে সহজ করে, যা আরও কার্যকর এবং পরিচালনাযোগ্য করে। নিচে এর মূল সুবিধাগুলির একটি সারাংশ দেওয়া হল:
- স্বজ্ঞাত YAML‑ভিত্তিক কনফিগারেশন : প্রচলিত পদ্ধতির তুলনায় পড়া ও লেখা সহজ।
- নমনীয় নেটওয়ার্ক সেটআপ : একাধিক ইন্টারফেস, বন্ডিং, স্ট্যাটিক রাউটিং এবং VLAN সমর্থন করে।
- একীভূত ইন্টারফেস : বিভিন্ন Ubuntu পরিবেশে সামঞ্জস্যপূর্ণ পদ্ধতিতে কাজ করে।
- রিয়েল‑টাইম কনফিগারেশন পরিবর্তন : নেটওয়ার্ক সেটিংস তাৎক্ষণিকভাবে আপডেট করা যায়।
আরও শিখন
মৌলিক বিষয়গুলোতে স্বাচ্ছন্দ্যবোধ করার পরে, নিম্নলিখিত বিষয়গুলো অন্বেষণ করুন:
- ভার্চুয়াল নেটওয়ার্ক সেটআপ : উন্নত নেটওয়ার্ক নিরাপত্তার জন্য VLAN প্রয়োগ করুন।
- IPv6 সমর্থন : ভবিষ্যৎ‑প্রস্তুত নেটওয়ার্কিংয়ের জন্য IPv6 কনফিগার করুন।
- স্ক্রিপ্ট দিয়ে অটোমেশন : নেটওয়ার্ক কনফিগারেশন অটোমেট করতে Ansible বা Puppet ব্যবহার করুন।



