Ubuntu හි DNS සැකසීමේ ක්‍රමය: Netplan සහ NetworkManager පැහැදිලි කිරීම

目次

1. හැඳින්වීම: Ubuntu හි DNS ගැලපුම වැදගත් වන්නේ ඇයි

DNS (Domain Name System) යනු වෙබ් අඩවි නම් IP ලිපිනවලට පරිවර්තනය කරන යාන්ත්‍රණයකි.
අපි වෙබ් අඩවියක් විවෘත කරන සෑම විටම, මෙහෙයුම් පද්ධතිය පසුබිම්ව පවතින DNS විමසීම් සිදු කරයි.

Ubuntu භාවිතා කරන විට, ඔබට මෙවැනි තත්ත්වයන්ට මුහුණ දීමට සිදු විය හැකිය:

  • පිටු ලෝඩ් වීම “කෙසේ හෝ මන්දගාමී” බවක් දැනෙන බව
  • එකම ජාලය අනෙකුත් උපකරණවලට වඩා මන්දගාමී බවක් දැනෙන බව
  • LAN හි අභ්‍යන්තර වෙබ් සේවාවන්ට ඇතිකර ගැනීමේ කළුකරණීම්

අනපේක්ෂිත ලෙස, මෙම ගැටලු බොහෝ විට සම්බන්ධතා ගුණාත්මකභාවය නිසා නොවේ, DNS විසඳුම මන්දගාමී බව නිසා ඇති වේ.

Ubuntu හි, 22.04 සංස්කරණය සිට ඉදිරියට පවා, ආරම්භකයින් සඳහා එකක් බෙදා හරින ලද ලක්ෂ්‍යය වන්නේ DNS ගැලපුම් කිරීමට බහුවිධ ක්‍රම තිබීමයි. විශේෂයෙන්ම, මෙහි දෙකක් ප්‍රධාන ප්‍රවේශයන් තිබේ:

  • Netplan (සේවාදායක සහ GUI නොමැති පරිසරවල පොදුවේ භාවිතා වේ)
  • NetworkManager (GUI සහිත ඩෙස්ක්ටොප් පරිසරවල භාවිතා වේ)

භාවිතා වන ක්‍රමය අනුව ක්‍රියාවලිය වෙනස් වන බැවින්, Ubuntu සඳහා DNS ගැලපුම් මාර්ගෝපදේශයක් පළමුව පරිසරය හඳුනාගෙන ඉන්පසු සුදුසු ක්‍රමයට මාර්ගගත කළ යුතුය.

DNS යනු සුළු සැකසුමක් පමණක් නොවේ—එය Ubuntu හි සම්පූර්ණ ජාල ගොඩනැගිල්ලේ “ප්‍රවේශ මාර්ගය” යි.

උදාහරණයක් ලෙස, Google Public DNS (8.8.8.8) හෝ Cloudflare (1.1.1.1) වෙත ස්විච් වීම පමණින් බ්‍රව්සර් ප්‍රතිචාරකම පැහැදිලි ලෙස වැඩිදියුණු කළ හැකිය.
මෙම බලපෑම VPS, වලාකුළු සහ විදේශීය ජාල පරිසරවල විශේෂයෙන් පැහැදිලිය.

මෙම ලිපියේදී, අපි පැහැදිලිව වෙන් කර පැහැදිලි කරමු:

  • GUI භාවිතයෙන් DNS ගැලපුම් කිරීම කෙසේද
  • Netplan භාවිතයෙන් DNS ගැලපුම් කිරීම කෙසේද
  • පසුව ඔබේ සැකසුම් සත්‍යාපනය කිරීම කෙසේද

ඊළඟ කොටසේදී, අපි ඔබ භාවිතා කරන පරිසර වර්ගය තීරණය කිරීම සිට ආරම්භ කරමු.

2. Ubuntu හි DNS ගැලපුම් කිරීමේ දෙකක් ප්‍රධාන ක්‍රම

Ubuntu හි, “DNS ගැලපුම්” යන ඉලක්කය වුවද, භාවිතා වන ජාල කළමනාකරණ පද්ධතිය අනුව සැබෑ ක්‍රමය වෙනස් වේ.
මෙම වෙනස අවබෝධයකින් තොරව ඉදිරියට ගියහොත්, සැකසුම් යෙදී නොපවතින බව හෝ පුනර්ආරම්භයෙන් පසු ආපසු යන ගැටලුවලට මුහුණ දීමට සිදු විය හැකිය.

පළමුව, Ubuntu හි දෙකක් වෙනස් DNS ගැලපුම් මාර්ග පැහැදිලි කරමු.

Netplan (YAML-අඩඋනු ගැලපුම්)

  • ප්‍රධාන වශයෙන් සේවාදායක පරිසර සඳහා භාවිතා වේ
  • 18.04 සිට Ubuntu LTS නිකාශන අනුව සම්මතකරණය කර ඇත
  • ගැලපුම් ගොනු /etc/netplan/*.yaml හි පිහිටා ඇත
  • systemd-resolved සමඟ එක්ව ක්‍රියා කරයි

VPS උදාහරණ හෝ GUI නොමැති භෞතික සේවාදායකවල, Netplan ගැන උපකල්පනය කිරීම නිවැරදිය.
මෙය AWS, Vultr, ConoHa, Oracle Cloud සහ ඒ හා සමාන වේදිකාවල පොදුය.

NetworkManager (GUI-අඩඋනු)

  • ප්‍රධාන වශයෙන් ඩෙස්ක්ටොප් පරිගණකවල (Ubuntu Desktop) භාවිතා වේ
  • DNS IPv4 / IPv6 සැකසුම් තිරවලින් විශේෂ කළ හැකිය
  • දෘශ්‍ය අතුරුමුහුණත ලබා දෙන බැවින් තේරුම් ගැනීම පහසුය

ඔබ GUI-සක්‍රිය පරිසරයක් භාවිතා කරන්නේ නම්, මෙය වඩාත් සම්භාව්‍ය සැකසුමයි.
සාමාන්‍ය අවස්ථාවන්ට “මම Ubuntu දිනපතා භාවිතා කරන අතර බ්‍රව්සිං මන්දගාමී බවක් දැනෙන බැවින් DNS වෙනස් කිරීමට අවශ්‍යයි” ඇතුළත් වේ.

ඔබ භාවිතා කරන පරිසරය තීරණය කිරීම

පරීක්ෂා කිරීමේ සරලම ක්‍රමය වන්නේ /etc/netplan/ හි ගොනු පවතින බව බැලීමයි.

ls /etc/netplan/

ඔබ YAML ගොනු සොයා ගත්හොත්, Netplan භාවිතා වන බවට ඉඩ ඇත.
මධ්‍යස්ථානය හිස් හෝ GUI-අඩඋනු පද්ධතියක නම්, NetworkManager සැකසුම් පරීක්ෂා කිරීම මෘදුකම් සහිත ප්‍රවේශයකි.

3. Netplan සමඟ DNS ගැලපුම් කිරීම (සේවාදායක පරිසර)

Netplan YAML ගොනු භාවිතයෙන් ජාල ගැලපුම් නිර්වචනය කරයි.
GUI නොමැති Ubuntu Server සහ VPS පරිසරවල, මෙම ක්‍රමය ආමන්ත්‍රණය කර ඇත.

මෙහිදී, අපි DNS වටිනාකම් නිවැරදි කිරීමේ පොදු අවස්ථාවට අවධානය යොමු කරමු, සරල සහ ප්‍රායෝගික උදාහරණයක් භාවිතයෙන්.

Netplan ගැලපුම් ගොනුව විවෘත කිරීම

Netplan ගැලපුම් ගොනු /etc/netplan/ හි පිහිටා ඇත.
ගොනු නම පරිසරය අනුව වෙනස් වේ (උදාහරණයක් ලෙස, 00-installer-config.yaml).

පළමුව, ගොනු නම තහවුරු කරන්න:

ls /etc/netplan/

හඳුනාගත් පසු, සංස්කරණකරුවෙකුගෙන් ගොනුව විවෘත කරන්න. උදාහරණයක් ලෙස:

sudo nano /etc/netplan/00-installer-config.yaml

උදාහරණය: YAML හි DNS ඇතුළත් කිරීම

මෙම උදාහරණය Google DNS සහ Cloudflare DNS දෙකම සකස් කරයි.

.

network:
  version: 2
  ethernets:
    ens33:
      dhcp4: true
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]

අතුරුමුහුණතේ නාමය ens33 පද්ධතිය අනුව වෙනස් වේ.
ip a හෝ ip link භාවිතා කර එය පරීක්ෂා කරන්න.

වින්‍යාසය යොදන්න

සංස්කරණය කිරීමෙන් පසු, වින්‍යාසය වහාම යොදන්න:

sudo netplan apply

දෝෂ ඇතිවුවහොත්, YAML ගොනුවේ ඉන්ඩෙන්ටේෂන් ගැටලු සාමාන්‍යතම හේතුව වේ. ඉඩ (space) සාවද්‍යව පරීක්ෂා කරන්න. ටැබ් භාවිතා කිරීම අනුමත නොවේ.

DHCP සහ ස්ථාවර DNS එකට එකවර භාවිතා කළ හැදැයි?

මෙය සාමාන්‍ය ප්‍රශ්නයකි. ඔව්, DHCP මගින් IP ලිපින ලබා ගත හැකි අතර DNS සේවාදායකයන් අතින් නියම කළ හැක.

උදාහරණය:

dhcp4: true
nameservers:
  addresses: [9.9.9.9]

මෙම අවස්ථාවේ IP ලිපින ස්වයංක්‍රීය වන අතර DNS ස්ථාවර වේ.

4. NetworkManager භාවිතය (Ubuntu ඩෙස්ක්ටොප්)

ඔබ Ubuntu ඩෙස්ක්ටොප් සඳහා භාවිතා කරන්නේ නම්, ටර්මිනලය භාවිතා නොකර DNS සැකසුම් වෙනස් කළ හැක. “බ්‍රවුසරය පමණක් මන්දගාමී වේ” හෝ “මට පොදු DNS එකකට මාරු වීමට අවශ්‍යයි” වැනි සාමාන්‍ය අවස්ථා සඳහා GUI ක්‍රමය වේගවත් වේ.

සැකසුම් තිරය විවෘත කිරීමේ ක්‍රමය

  1. ඉහළ-දකුණු කෝණයේ ජාල අයිකනය ක්ලික් කරන්න
  2. “Settings” හෝ “Network Settings” විවෘත කරන්න
  3. ක්‍රියාත්මක සම්බන්ධතාවය (තාරකාව හෝ Wi‑Fi) තෝරන්න
  4. “IPv4” ටැබ් වෙත යන්න

DNS ඇතුළත් කිරීමේ ක්ෂේත්‍රය මෙහි ඇත. Ubuntu අනුවාදය අනුව නිරවද්‍ය වචන කුඩා වෙනස් විය හැක, නමුත් ලිපින කොමා-වෙන් කරන ලැයිස්තුවක් ලෙස ඇතුළත් කළ හැක.

DNS ඇතුළත් කිරීමේ උදාහරණය (IPv4)

Google DNS සහ Cloudflare 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 එකක් අතින් නියම කිරීමට අවශ්‍ය නොවන අවස්ථා සඳහා විශේෂයෙන් ප්‍රයෝජනවත් වේ.

5. DNS සැකසුම් යෙදීම තහවුරු කිරීමේ ක්‍රමය

DNS වින්‍යාසය ඔබ අගයන් ඇතුළත් කර සුරකින්නා පමණක් නොව, එය සම්පූර්ණ නොවේ. සැකසුම් වාස්තුමය ක්‍රියාත්මක වන බව තහවුරු කිරීම අත්‍යවශ්‍ය වේ.

Ubuntu හි DNS තහවුරු කිරීම සඳහා පහත ත්‍රි-ක්‍රම භාවිතා කළ හැක.

dig විධානය භාවිතා කර විමසීම

dig google.com

ප්‍රතිඵලයේ “SERVER:” ලෙස ලේබල කරන ලද පේළිය සොයා බලන්න. එය වර්තමානයේ විමසන DNS සේවාදායකය කුමක්දැයි පෙන්වයි.

උදාහරණය (උපුටා ගැනීම):

;; SERVER: 8.8.8.8#53(8.8.8.8)

මෙය 8.8.8.8 (Google) හෝ 1.1.1.1 (Cloudflare) ලෙස පෙන්වන බව තහවුරු කරන්න.

resolvectl status භාවිතා කිරීම

මෙම ක්‍රමය systemd-resolved හරහා නිරවද්‍ය තොරතුරු ලබා දෙයි.

resolvectl status

වර්තමානයේ යොමු කර ඇති නාම සේවාදායකයන් ජාල අතුරුමුහුණත අනුව පෙන්වයි. බහු NICs ඇති සේවාදායකවලදී, dig ට වඩා මෙම ක්‍රමය විශ්වාසනීය වේ.

/etc/resolv.conf සෘජුව සංස්කරණය නොකළ යුතු හේතුව

cat /etc/resolv.conf

මෙම ගොනුව වර්තමානයේ භාවිතා වන DNS පෙන්වයි. නමුත් එය systemd-resolved විසින් ජනනය කරන ලද ප්‍රතිඵල ගොනුවකි. අතින් කරන සංස්කරණයන් පසුපසින් මාරු කර දමනු ලැබේ, එබැවින් එය සෘජුව සංස්කරණය කිරීම වැරදිය.

6. සාමාන්‍යයෙන් භාවිතා වන DNS සපයන්නන් (ආරම්භක-හිතකාමී)

DNS ලිපින ඔබම නිර්මාණය කරන දෙයක් නොවේ. බොහෝ විට, පොදු DNS සේවා භාවිතා කරයි.

ඔබට ස්ථාවර සහ ආරක්ෂිත ආරම්භයක් අවශ්‍ය නම්, පහත සඳහන් ඕනෑම එකක් හොඳ තේරීමකි:

ProviderDNS Address
Google Public DNS8.8.8.8 / 8.8.4.4
Cloudflare1.1.1.1
Quad99.9.9.9
OpenDNS208.67.222.222 / 208.67.220.220

එක DNS සේවාදායකයක් වෙනුවට දෙකක් නියම කිරීම විශ්වාසනීයතාවය වැඩි කරයි. එකක් ලබා නොදෙන විට, පද්ධතිය ස්වයංක්‍රීයව අනෙක් එකට පසුබැසී යයි.

අභ්‍යන්තර සමාගම් පද්ධති (උදා: Active Directory) වෙත ප්‍රවේශ වීමේදී, අභ්‍යන්තර DNS සේවාදායක භාවිතා කළ යුතුය. එවැනි අවස්ථා වල අභ්‍යන්තර නාම විසඳුම විශ්වාසනීය බව තහවුරු කිරීම පොදු DNS කට වඩා ප්‍රමුඛ වේ.

7. DNS බොහෝ විට සඟවා ඇති බාධකයක් වේ

DNS එකක් තවත් සැකසුමක් වගේ පෙනුනත්, එය අවබෝධ වන ජාල වේගය මත විශාල බලපෑමක් ඇත.
එහි බලපෑම පහත සඳහන් තත්වයන්හිදී විශේෂයෙන් පැහැදිලි වේ:

  • පළමු පිටු ලෝඩ් වීම අසාමාන්‍ය මන්දගාමී බවක් දැනේ
  • Ping වේගවත් ය, නමුත් වෙබ් පිටු ලෝඩ් වීම මන්දගාමී ය
  • සේවාදායකය සැහැල්ලු ය, නමුත් මුල් SPA (React / Vue) ලෝඩ් වීම බරපතල ය

මෙම රෝග ලක්ෂණ සාමාන්‍යයෙන් නැවත ප්‍රවේශ වීමෙන් පසු වැඩිදියුණු වේ, මුල් ඉල්ලීම මන්දගාමී රැඳේ.
මෙය DNS මුල් පිවිසුම් ද්වාරය ලෙස ක්‍රියා කිරීම නිසා ය.
විශේෂයෙන් VPS හෝ විදේශීය ප්‍රදේශවල (උදා: us-east හෝ eu-west), පොදු DNS ISP මූලික DNS ට වඩා බොහෝ විට උත්තරීතරය.
DNS ජාල තදබදය නිසා ඇති වන ප්‍රමාදය පහසුවෙන් පෙනෙන ප්‍රධානයක් ය.
Ubuntu මත පමණක් නොව, වෙබ් ඉංජිනේරුවන් සඳහා සාමාන්‍යයෙන්, DNS අංග්‍රීමකරණය සලකා බැලීමට පළමු “පිවිසුම් ස්ථාන” ඉංග්‍රීමකරණවලින් එකක් ය.
FAQ
ප්‍රශ්න 1: මම /etc/resolv.conf එක සෘජුව සංස්කරණය කළා, නමුත් රිබූට් වීමෙන් පසු එය පෙර තත්ත්වයට එනවා. ඇයි?
→ Ubuntu හි, systemd-resolved /etc/resolv.conf එක ජනනය කරයි.
එය සෘජුව සංස්කරණය කිරීමට අදහස් නොකර ඇත.
ඔබ DNS Netplan හෝ NetworkManager හරහා සකස් කළ යුතු ය.
ප්‍රශ්න 2: Netplan හෝ NetworkManager භාවිතා වන බව මට නොදැන සිටියහොත් කුමක් කළ යුතුද?
→ පළමුව, /etc/netplan/ පරීක්ෂා කරන්න.

ls /etc/netplan/

YAML ගොනු පවතිනවා නම්, Netplan භාවිතා වන බව සමහර විට ය.
GUI පරිසරවල, NetworkManager ප්‍රධාන වේදිකාව ය.
ප්‍රශ්න 3: DNS නිවැරදි කිරීමේදී IP සඳහා DHCP භාවිතා කළ හැකිද?
→ ඔව්.
Netplan සහ NetworkManager දෙකම ස්වයංක්‍රීය IP සහ අතින් නිර්දේශිත DNS සඳහා සහාය දක්වයි.
ප්‍රශ්න 4: DNS වෙනස් කිරීමෙන් වෙබ් සෑම විටම වේගවත් වේද?
→ සෑම විටම නොවේ.
DNS මුල් නම් විසඳුම් පමණක් කළමනාකරණය කරයි.
එය සෑම විටම පළමු පියවර වේගවත් කරයි, නමුත් මන්දගාමී රූප, CDNs, හෝ APIs තවමත් බෝතල්නෙක්ස් විය හැක.
ප්‍රශ්න 5: WSL2 (Windows හි Ubuntu) සඳහා මෙම ක්‍රියාවලිය එකමද?
→ නැත.
WSL2 නිර්මාණාත්මකව resolv.conf නැවත ජනනය කරයි.
generateResolvConf=false වැනි අමතර සැකසුම් අවශ්‍ය ය.
WSL හි එහිම DNS සකස් කිරීම් සලකා බැලීම් තිබේ.