Netplan ကို မှန်ကန်စွာ ပြင်ဆင်နည်း

Ubuntu အံ့သြဖွယ်ကောင်းသော operating system တစ်ခုပါ၊ ၎င်းနှင့် ကြာမြင့်စွာ အလုပ်မလုပ်ခဲ့ပါ Ubuntu server နဲ့ desktop ကို stable version ကနေ update လုပ်တာက အဓိပ္ပာယ်မရှိဘူး။ ဒါကြောင့် မကြာသေးခင်ကမှ version အသစ်တစ်ခုနဲ့ ရင်ဆိုင်နေရတယ်။ Ubuntu server 18.04 မှာ ကျွန်တော်ဟာ ခေတ်နောက်ကျနေပြီး network interface တွေကို configure လုပ်လို့မရတော့ဘူးဆိုတာ သဘောပေါက်လိုက်ရတော့ အရမ်းအံ့သြသွားတယ်။ ဘာလို့လဲဆိုတော့ /etc/network/interfaces ဖိုင်ကို တည်းဖြတ်ပြီး network interface တွေကို configure လုပ်တဲ့ စနစ်ဟောင်း ပျောက်ကွယ်သွားလို့ပါ။ ဘာက အစားထိုးလိုက်တာလဲ။ ကြောက်စရာကောင်းပြီး ပထမတစ်ချက်ကြည့်လိုက်ရင် လုံးဝနားမလည်နိုင်တဲ့ အရာတစ်ခု—"Netplan" နဲ့ မိတ်ဆက်ပေးပါရစေ။

အမှန်အတိုင်းပြောရရင် အစပိုင်းမှာတော့ ဒီသဘောတူညီချက်က ဘာလဲဆိုတာကို နားမလည်ခဲ့ဘူး၊ "ဘာကြောင့် လိုအပ်တာလဲ၊ နောက်ဆုံးတော့ အရာအားလုံးက အဆင်ပြေတယ်" လို့ ပြောတာကိုတော့ နားမလည်ခဲ့ပေမယ့် နည်းနည်းလေ့ကျင့်ပြီးတဲ့နောက်မှာ ကိုယ်ပိုင်ဆွဲဆောင်မှုရှိတယ်ဆိုတာ သဘောပေါက်လာခဲ့တယ်။ ဒါကြောင့် စာသားဆန်ဆန် စကားတွေပြောနေတာ တော်ပြီ၊ Netplan ဆိုတာ ဘာလဲဆိုတာကို ဆက်ကြည့်ရအောင်။ ဒါက ကွန်ရက်တစ်ခုကို configure လုပ်ဖို့ utility အသစ်တစ်ခုပါ။ Ubuntuအနည်းဆုံးတော့ "တခြား distribution တွေမှာ ဒီလိုမျိုး ဘာမှ မကြုံဖူးဘူး။" Netplan နဲ့ သိသာထင်ရှားတဲ့ ကွာခြားချက်ကတော့ configuration ကို ဘာသာစကားနဲ့ ရေးသားထားတာပါပဲ။ YAMLဟုတ်ပါတယ်၊ YAML ကြားဖူးပါတယ်၊ ဆော့ဖ်ဝဲရေးသားသူတွေက ခေတ်တွေကို အမီလိုက်ဖို့ ဆုံးဖြတ်ခဲ့တယ် (ဒါကို ဘယ်လောက်ပဲ ချီးကျူးနေပါစေ၊ အဲဒါကို ကြောက်စရာကောင်းတဲ့ ဘာသာစကားလို့ ကျွန်တော် ယူဆနေတုန်းပါပဲ)။ ဤဘာသာစကား၏ အဓိကအားနည်းချက်မှာ space များအတွက် အလွန်အထိခိုက်မခံသောကြောင့်၊ ဥပမာတစ်ခုအသုံးပြု၍ config ကိုကြည့်ကြပါစို့။

ပြင်ဆင်မှုဖိုင်များသည် /etc/netplan/filename.yaml တွင်တည်ရှိပြီး၊ ဘလောက်တစ်ခုစီကြားတွင် + 2 space ရှိသင့်သည်။

1) စံခေါင်းစီးသည် ဤကဲ့သို့ ဖြစ်သည်-

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0f0:
      dhcp4:no

ခုနက လုပ်ခဲ့တာတွေကို ကြည့်ရအောင်။

  • ကွန်ရက်- — ဤသည်မှာ ဖွဲ့စည်းမှုပိတ်ဆို့ခြင်း၏အစဖြစ်သည်။
  • တင်ဆက်သူ- networkd - ဤနေရာတွင် ကျွန်ုပ်တို့အသုံးပြုမည့် ကွန်ရက်မန်နေဂျာကို သတ်မှတ်ပေးသည်၊ ၎င်းသည် ကွန်ရက် သို့မဟုတ် NetworkManager ဖြစ်သည်
  • ဗားရှင်း- 2 — ကျွန်တော်နားလည်သလောက်ကတော့ YAML ဗားရှင်းပါ။
  • အီသာနက်- - ဤဘလောက်က ကျွန်ုပ်တို့သည် အီသာနက်ပရိုတိုကောကို ပြင်ဆင်သတ်မှတ်မည်ဟု ဆိုထားသည်။
  • enps0f0: — ကျွန်ုပ်တို့ configure လုပ်မည့် network adapter ကို ညွှန်ပြပါသည်။
  • dhcp4:no — DHCP v4၊ 6 v6 dhcp6 အသီးသီးအတွက် ပိတ်သည်

2) IP လိပ်စာများကို သတ်မှတ်ရန် ကြိုးစားကြပါစို့။

    enp3s0f0:
      dhcp4:no
      macaddress: bb:11:13:ab:ff:32
      addresses: [10.10.10.2/24, 10.10.10.3/24]
      gateway4: 10.10.10.1
      nameservers:
        addresses: 8.8.8.8

ဤတွင်ကျွန်ုပ်တို့ mac၊ ipv4၊ gateway နှင့် dns server ကိုသတ်မှတ်ထားပါသည်။ အကယ်၍ ကျွန်ုပ်တို့သည် ip လိပ်စာတစ်ခုထက်ပို၍ လိုအပ်ပါက၊ ၎င်းတို့ကို နောက်မှ မဖြစ်မနေ နေရာလွတ်တစ်ခုဖြင့် ကော်မာဖြင့် ပိုင်းခြား၍ ရေးပါ။

၃) လိုအပ်ရင် ဘယ်လိုလုပ်မလဲ။ Bond?

  bonds:
    bond0:
      dhcp4: no
      interfaces: [enp3s0f0, enp3s0f1]
      parameters: 
        mode: 802.3ad
        mii-monitor-interval: 1

  • bonds: - ကျွန်ုပ်တို့သည် bonding ကို configure လုပ်မည့်အကြောင်း ရှင်းပြထားသော ဘလောက်တစ်ခု။
  • bond0: — မတရားသော အင်တာဖေ့စ်အမည်။
  • အင်တာဖေ့စ်များ- — အဆက်အစပ်တစ်ခုတွင် စုစည်းထားသော အင်တာဖေ့စ်အစုတစ်ခု၊ "ယခင်က ဆွေးနွေးထားသည့်အတိုင်း၊ ဘောင်များစွာရှိပါက၊ ၎င်းတို့ကို စတုရန်းကွင်းစကွက်များဖြင့် ဖော်ပြပါသည်။"
  • ကန့်သတ်ချက်များ- — ကျွန်ုပ်တို့သည် ကန့်သတ်ဘောင်ဆက်တင်များကို ဖော်ပြသည်။
  • မုဒ်- — မည်သည့်ချိတ်ဆက်မှုလုပ်ဆောင်မည်ကို ကျွန်ုပ်တို့သတ်မှတ်ပေးသည်။
  • mii-monitor-interval- — စောင့်ကြည့်ကာလကို 1 စက္ကန့်သတ်မှတ်ပါ။

ဘလောက်အမည်ရှိသော ဘွန်းအတွင်းတွင်၊ လိပ်စာများ၊ gateway4၊ လမ်းကြောင်းများ စသည်တို့ကဲ့သို့သော ကန့်သတ်ချက်များကို သင်စီစဉ်နိုင်သည်။

ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ကွန်ရက်သို့ ထပ်လောင်းထည့်လိုက်ပါပြီ၊ ယခုအခါတွင် ၎င်းကို ချိတ်ထားရန် ကျန်ရှိနေသေးသည်။ vlan နှင့် setup ကို ပြီးပြည့်စုံသည်ဟု ယူဆနိုင်ပါသည်။

vlans: 
    vlan10:
      id: 10
      link: bond0
      dhcp4: no
      addresses: [10.10.10.2/24]
      gateway: 10.10.10.1
      routes:
        - to: 10.10.10.2/24
          via: 10.10.10.1
          on-link: true

  • vlans- — vlan configuration block ကိုကြေငြာပါ။
  • vlan10: — vlan interface ၏ မတရားသောအမည်။
  • id: — ငါတို့ vlan ၏ tag။
  • လင့်ခ်- — vlan ကို ဝင်ရောက်အသုံးပြုနိုင်မည့် အင်တာဖေ့စ်။
  • လမ်းကြောင်းများ- — လမ်းကြောင်းဖော်ပြချက်၏ ပိတ်ဆို့ခြင်းကို ကြေညာပါ။
  • — to: — ကျွန်ုပ်တို့သည် လမ်းကြောင်းလိုအပ်သည့် လိပ်စာ/ကွန်ရက်ခွဲကို သတ်မှတ်ပေးသည်။
  • မှတဆင့်: — ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ subnet ကိုရရှိနိုင်မည့် gateway ကိုသတ်မှတ်ပေးပါသည်။
  • on-link- — လင့်ခ်ကို မြှင့်တင်သည့်အခါ လမ်းကြောင်းများကို အမြဲရေးသင့်သည်ဟု ကျွန်ုပ်တို့ သတ်မှတ်ပါသည်။

YAML တွင် နေရာလွတ်များ ချထားပုံတို့ကို အာရုံစိုက်ပါ။

ဤနေရာတွင် ကျွန်ုပ်တို့သည် ကွန်ရက်ချိတ်ဆက်မှုများ၊ ဖန်တီးထားသော ချိတ်ဆက်မှုနှင့် vlan များကိုပင် ဖော်ပြထားပါသည်။ ကျွန်ုပ်တို့၏ config ကိုသုံးကြပါစို့၊ netplan apply command သည် ကျွန်ုပ်တို့၏ config တွင် အမှားအယွင်းများကို စစ်ဆေးပြီး အောင်မြင်ပါက ၎င်းကို အသုံးပြုမည်ဖြစ်သည်။ ထို့နောက်စနစ်ပြန်လည်စတင်သောအခါ config သည်အလိုအလျောက်စတင်လိမ့်မည်။

ယခင်ကုဒ်တုံးများအားလုံးကို စုဆောင်းပြီးနောက်၊ ဤအရာသည် ကျွန်ုပ်တို့ရရှိထားသည်-

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0f0:
      dhcp4: no
    ensp3s0f1:
      dhcp4: no
  bonds:
    bond0:
      dhcp4: no
      interfaces: [enp3s0f0, enp3s0f1]
      parameters: 
        mode: 802.3ad
        mii-monitor-interval: 1
  vlan10:
      id: 10
      link: bond0
      dhcp4: no
      addresses: [10.10.10.2/24]
      routes:
        - to: 10.10.10.2/24
          via: 10.10.10.1
          on-link: true
  vlan20:
    id: 20
    link: bond0
    dhcp4: no
    addresses: [10.10.11.2/24]
    gateway: 10.10.11.1
    nameserver:
      addresses: [8.8.8.8]
    

ဤတွင် ကျွန်ုပ်တို့၏ကွန်ရက်ဖြစ်ပြီး ၎င်းသည် လည်ပတ်ရန်အဆင်သင့်ဖြစ်ပြီ၊ အရာအားလုံးသည် အစပိုင်းတွင် ထင်ထားသကဲ့သို့ ကြောက်စရာမဟုတ်သည့်အပြင် ကုဒ်သည် အလွန်လှပပြီး ဖတ်ရလွယ်ကူသွားပါသည်။ PC သည် netplan အတွက်ကျေးဇူးတင်စကား link တွင်ကောင်းမွန်သောလက်စွဲစာအုပ်ရှိသည်။ https://netplan.io/.

source: www.habr.com

DDoS ကာကွယ်ရေး၊ VPS VDS ဆာဗာများပါသည့် ဆိုက်များအတွက် ယုံကြည်စိတ်ချရသော hosting ကို ဝယ်ယူပါ။ 🔥 DDoS ကာကွယ်မှု၊ VPS VDS ဆာဗာများပါရှိသော ယုံကြည်စိတ်ချရသော ဝဘ်ဆိုက် hosting ကို ဝယ်ယူပါ | ProHoster