1. Ubuntu හි Netplan හි දළ විශ්ලේෂණය
Netplan යනු කුමක්ද?
Netplan යනු Ubuntu 17.10 සිට ආරම්භ වන අනුවාදවල හඳුන්වා දුන් නෙට්වර්ක් වින්යාස කළමනාකරණ මෙවලමකි. පෙර, ifconfig සහ /etc/network/interfaces වැනි මෙවලම් භාවිතා වූවද, Netplan නෙට්වර්ක් වින්යාසය සඳහා නව ප්රවේශයක් සපයයි. Netplan හි විශිෂ්ට වාසියක් වන්නේ එය YAML ගොනු භාවිතා කර නෙට්වර්ක් සැකසුම් විස්තර කිරීමයි. මෙය වින්යාසය සරල සහ අනුකූල කරයි, සංකීර්ණ නෙට්වර්ක් පරිසරවල පවා පහසුවෙන් කළමනාකරණය කිරීමට ඉඩ සලසයි.
Netplan NetworkManager සහ systemd-networkd වැනි පිටපස සහාය දක්වයි සහ Ubuntu Desktop සහ Server අනුවාද දෙකෙහිම ලබා ගත හැකිය. මෙය විවිධ පරිසරවල ඒකාබද්ධ නෙට්වර්ක් කළමනාකරණයට හැකි කරයි.
Netplan භාවිතා කිරීමට හේතුව මොකද?
සාම්ප්රදායික නෙට්වර්ක් වින්යාස ක්රමවලට සාපේක්ෂව, Netplan පහත වාසි ලබා දෙයි:
- සරල ව්යාකරණය : YAML ආකෘතිය ස්වභාවික සහ පැහැදිලි ව්යුහගත වන අතර, ආරම්භකයින්ට පවා වින්යාස තේරුම් ගැනීම පහසු කරයි.
- ඒකාබද්ධ කළමනාකරණය : එය desktop සහ server පරිසර දෙකෙහිම ක්රියා කරන බැවින්, විවිධ නෙට්වර්ක් වින්යාස මධ්යගතව කළමනාකරණය කළ හැකිය.
- චලනශීලී වෙනස්කම් : වින්යාස ගොනුව සංස්කරණය කිරීම සහ යෙදීම මගින් නෙට්වර්ක් සැකසුම් සංනිමිත වේලාවේ යාවත්කාලීන කළ හැකිය.
Netplan හි මූලික ව්යුහය
Netplan වින්යාස ගොනු සාමාන්යයෙන් /etc/netplan/ නාමාවලියේ පිහිටා ඇති අතර .yaml 확장නාමය භාවිතා කරයි. මෙම ගොනුවල නෙට්වර්ක් අතුරුමුහුණත වින්යාස, IP ලිපින, සහ DNS සේවාදායක විස්තර වැනි තොරතුරු අඩංගු වේ.
පහත දැක්වෙන්නේ Netplan වින්යාසයක මූලික උදාහරණයකි:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: true
මෙම උදාහරණයේදී, enp3s0 Ethernet අතුරුමුහුණත DHCP මගින් IP ලිපිනයක් ලබා ගැනීමට වින්යාස කර ඇත.
Ubuntu 18.04 LTS සහ පසුව Netplan හි භූමිකාව
Netplan Ubuntu 18.04 LTS සහ පසුව අනුවාදවල අත්සන්නම් වශයෙන් ස්ථාපනය වී ඇති අතර desktop සහ server පරිසරවල නෙට්වර්ක් කළමනාකරණය සඳහා විශාල වශයෙන් භාවිතා වේ. server පරිසරවල, බහු නෙට්වර්ක් අතුරුමුහුණත හෝ ස්ථිර IP පැයචරණ අවශ්ය වන බොහෝ අවස්ථාවල, Netplan හි නම්යශීලීභාවය විශේෂයෙන් උපකාරී වේ.
ඊළඟට, අපි Netplan භාවිතා කර නෙට්වර්ක් වින්යාස කිරීමේ ප්රායෝගික උදාහරණ ගවේෂණය කරමු.
2. මූලික Netplan වින්යාසය
Netplan වින්යාස ගොනුවල පිහිටීම
Netplan වින්යාස ගොනු සාමාන්යයෙන් /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 ලිපින වින්යාසය
කිලිඳු පරිසරවල servers හෝ නිශ්චිත උපාංගවලට ස්ථිර 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
වින්යාසය යෙදීම
වින්යාස ගොනුව සංස්කරණය කළ පසු, පහත දාමය භාවිතා කර Netplan වින්යාසය යෙදන්න:
sudo netplan apply
වින්යාසය තහවුරු කිරීම
Netplan සැකසුම් සාර්ථකව යෙදා ඇත්දැයි තහවුරු කිරීමට, පහත දාමය භාවිතා කර නෙට්වර්ක් අතුරුමුහුණත තත්ත්වය පරීක්ෂා කරන්න:
ip a
3. බහු නෙට්වර්ක් අතුරුමුහුණත වින්යාස කිරීම
බහු Ethernet අතුරුමුහුණත වින්යාසය
බහු නෙට්වර්ක් අතුරුමුහුණත ඇති උපාංගවලට එක් එක් අතුරුමුහුණතට විවිධ සැකසුම් පැයචරණය කළ හැකිය. පහත උදාහරණය දෙකක Ethernet අතුරුමුහුණත වින්යාස කරයි:
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 නම් bond අන්තර්ගතයක් සාදයි:
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
Wi-Fi වින්යාසය
නෙට්ප්ලෑන් Wi-Fi වින්යාසය ද සහාය දක්වයි. පහත උදාහරණය නිශ්චිත SSID එකකට සම්බන්ධ වේ:
network:
version: 2
renderer: networkd
wifis:
wlp2s0:
access-points:
"my_wifi_network":
password: "password1234"
dhcp4: true
VLAN වින්යාසය
වර්චුවල් LAN (VLAN) නෙට්වර්ක් ලොජිකල්ව කොටස්වලට බෙදිය හැක. පහත උදාහරණය enp3s0 හි VLAN එකක් සාදයි:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: true
vlans:
vlan10:
id: 10
link: enp3s0
addresses:
- 192.168.10.1/24

4. නෙට්ප්ලෑන් උසස් වින්යාසය
ස්ථිර මාර්ගගත කිරීමේ වින්යාසය
බහුවිධ රූටර් හරහා නෙට්වර්ක් සම්බන්ධ කිරීමේදී, ස්ථිර මාර්ගගත කිරීම අවශ්ය වේ. පහත උදාහරණය නිශ්චිත නෙට්වර්ක් එකකට ප්රවේශ වීම සඳහා මාර්ගයක් නිර්දේශ කරයි:
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
මෙම වින්යාසය 10.0.0.0/24 නෙට්වර්ක් එක සඳහා ස්ථිර මාර්ගයක් පෙරනිමි ගේට්වේ 192.168.1.1 හරහා සකස් කරයි.
බහුවිධ පෙරනිමි ගේට්වේ
නෙට්ප්ලෑන් අන්තර්ගතයකට එකින් එක විවිධ පෙරනිමි ගේට්වේ සකස් කිරීමට ඉඩ සලසයි. විවිධ නෙට්වර්ක් කොටස් හරහා ඉන්ටර්නෙට් වෙත ප්රවේශ වීමේදී මෙය ගුණදායක වේ:
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 සේවාදායක වින්යාසය
පහත උදාහරණය ගූගල් පබ්ලික් DNS සේවාදායකයින් නිර්දේශ කරයි:
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 ආකාරය දෙකම අන්තර්ගත දෙක හරහා ට්රැෆික් වෙනස් කරයි, බෑන්ඩ්විත් විතරණය හරහා කාර්ය සාධනය වැඩිදියුණු කරයි.
උසස් VLAN වින්යාසය
VLAN ලොකු පරිමාණ නෙට්වර්ක්වල භාවිතා වන අතර පරිසර ලොජිකල්ව බෙදීමට යොදා ගනී. පහත උදාහරණය VLAN ID 100 සේවා කරයි:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: true
vlans:
vlan100:
id: 100
link: enp3s0
addresses:
- 192.168.100.1/24
මෙය enp3s0 අන්තර්ගතයට VLAN ID 100 සේවා කරයි, කොටස්ගත වර්චුවල් නෙට්වර්ක් එකක් සාදයි.
5. නෙට්ප්ලෑන් ගැටලු විසඳීම
නෙට්ප්ලෑන් පහසු වුවද, වින්යාස වැරදි හෝ පද්ධති සීමාවන් ගැටලු ඇති කළ හැක. මෙම කොටස සුලබ ගැටලු සහ ඒවායේ විසඳුම් පැහැදිලි කරයි.
සුලබ නෙට්ප්ලෑන් ගැටලු සහ හේතු
1. වින්යාසය යෙදී නැත
- YAML ඉන්ඩෙන්ටේෂන් දෝෂය : YAML ඉන්ඩෙන්ටේෂන් පිළිබඳව දැඩි වේ. වැරදි ඉඩක් නිවැරදි විග්රහණය වළක්වයි.
- වැරදි අතුරුමුහුණත් නාම :
ip aවිධානයේ ප්රතිඵලයට අනුකූලව අතුරුමුහුණත් නාම සනාථ කරන්න.
විසඳුම්
- වින්යාස ගොනුව සුරකින්න පසු
netplan applyක්රියාත්මක කරන්න. sudo netplan tryභාවිතා කර වෙනස්කම් ස්ථිරව යෙදීමට පෙර පරීක්ෂා කරන්න.sudo netplan applysudo netplan try
2. ජාල සම්බන්ධතා දෝෂ
- වැරදි ගේට්වේ හෝ DNS සැකසුම් : IP ලිපින සහ DNS සැකසුම් පරීක්ෂා කරන්න.
- භෞතික අතුරුමුහුණත් ගැටලු : කේබල් සහ උපකරණ පරීක්ෂා කරන්න.
විසඳුම්
- සම්බන්ධතාව පරීක්ෂා කිරීමට
pingවිධානය භාවිතා කරන්න:ping 8.8.8.8
- ජාල වින්යාසය නැවත යෙදීම සහ සේවා නැවත ආරම්භ කිරීම:
sudo systemctl restart networkd
3. netplan apply ක්රියාත්මක කිරීමේ දෝෂ පණිවුඩ
වින්යාසය වැරදි හෝ අතුරුමුහුණත හඳුනා නොගත් විට දෝෂ පණිවුඩ පෙන්වයි.
- උදාහරණ දෝෂ පණිවුඩ :
Error in network configuration: failed to bring up device enp3s0
ip a භාවිතා කර නිවැරදි අතුරුමුහුණත් නාමය සනාථ කරන්න.
විසඳුම
ඉන්ඩෙන්ටේෂන්, අක්ෂරලේඛන, අතුරුමුහුණත් නාම, IP ලිපින නිවැරදි බව පරීක්ෂා කරන්න.
ලොග් පරීක්ෂා කිරීම
පද්ධති ලොග් ගොනු ගැටළු විසඳීමට ප්රයෝජනවත් වේ. ජාල‑සම්බන්ධිත ලොග් පෙන්වීමට පහත විධානය භාවිතා කරන්න:
journalctl -u systemd-networkd
මෙය විස්තරාත්මක තොරතුරු පෙන්වා වින්යාස දෝෂ විසඳීමට උපකාරී වේ.
6. සාරාංශය සහ ඊළඟ පියවර
Netplan භාවිතයෙන් Ubuntu ජාල සැකසුම් සරලව හා කාර්යක්ෂමව කළ හැක. පහත සාරාංශයක් සහ ගැඹුරු පරීක්ෂණ සඳහා යෝජිත ඊළඟ පියවර ඇත.
Netplan හි ප්රධාන වාසි
- සහජන YAML වින්යාසය : කියවීමට සහ වෙනස් කිරීමට පහසු.
- විකල්ප ජාල සැලසුම් : බහු අතුරුමුහුණත්, බොන්ඩින්, මාර්ග, VLAN ආදියට සහය.
- එකම අතුරුමුහුණත :
systemd-networkdසහNetworkManagerසමඟ ක්රියා කරයි. - තත්කාලීන යාවත්කාලීන : එක් විධානයක් මඟින් වහාම වෙනස්කම් යෙදිය හැක.
යෝජිත ඊළඟ පියවර
- වර්චුවල් ජාල සැලසුම් : බහු VLAN භාවිතා කර ජාලය තාර්කිකව වෙන් කරන්න.
- IPv6 වින්යාසය : නවීන ජාල පද්ධති සඳහා සූදානම් වන්න.
- ස්වයංක්රීය ස්ක්රිප්ට් : Ansible හෝ Puppet භාවිතා කර වින්යාස ස්වයංක්රීය කරන්න.
- ආරක්ෂා වැඩිදියුණු කිරීම : ගිනිගුල සහ ප්රවේශ පාලන සැකසුම් ශක්තිමත් කරන්න.