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

Ubuntu သည် အံ့သြဖွယ်ကောင်းသော လည်ပတ်မှုစနစ်တစ်ခုဖြစ်ပြီး ကျွန်ုပ်သည် Ubuntu ဆာဗာနှင့် အချိန်အတော်ကြာ အလုပ်မလုပ်ခဲ့ဘဲ ကျွန်ုပ်၏ Desktop ကို တည်ငြိမ်သောဗားရှင်းမှ အဆင့်မြှင့်တင်ခြင်းတွင် မည်သည့်အချက်မှ မရှိပါ။ သိပ်မကြာခင်ကပဲ Ubuntu server 18.04 ရဲ့ နောက်ဆုံးထွက်ရှိမှုကို ကိုင်တွယ်ဖြေရှင်းခဲ့ရပြီး အချိန်တွေအဆမတန်နောက်ကျနေပြီး ကွန်ရက်တစ်ခုကို မထူထောင်နိုင်ဘူးဆိုတာ သိလိုက်ရတဲ့အခါ အံ့သြစရာကောင်းတဲ့ စနစ်ဟောင်းက ကွန်ရက်ချိတ်ဆက်မှုစနစ်တွေကို တပ်ဆင်နိုင်တာကြောင့်ပါ။ /etc/network ဖိုင် /interfaces များကို တည်းဖြတ်ခြင်းမှာ ရေဆင်းသွားပြီဖြစ်သည်။ အဲဒါကို အစားထိုးဖို့ ဘာဖြစ်လာတာလဲ။ ကြောက်မက်ဖွယ်ကောင်းသော အရာတစ်ခုဖြစ်ပြီး ပထမတစ်ချက်တွင် လုံးဝနားမလည်နိုင်သော၊ "Netplan" ကိုတွေ့ဆုံပါ။

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

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

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

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

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

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

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

ဤနေရာတွင် ကျွန်ုပ်တို့သည် ဘိန်း၊ ipv4၊ gateway နှင့် dns ဆာဗာကို သတ်မှတ်သည်။ IP လိပ်စာတစ်ခုထက်ပို၍ လိုအပ်ပါက၊ နောက်မှ မဖြစ်မနေနေရာလွတ်တစ်ခုဖြင့် ကော်မာဖြင့် ပိုင်းခြား၍ ရေးပါ။

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

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

  • bonds: - ကျွန်ုပ်တို့သည် bonding ကို configure လုပ်မည့်အကြောင်း ရှင်းပြထားသော ဘလောက်တစ်ခု။
  • bond0: - မတရားသော အင်တာဖေ့စ်အမည်။
  • အင်တာဖေ့စ်များ- - Bond-ding တွင် စုဆောင်းထားသော အင်တာဖေ့စ်အစုတစ်စု၊ "အစောပိုင်းတွင်ဖော်ပြထားသည့်အတိုင်း၊ ဘောင်များစွာရှိပါက၊ ၎င်းတို့ကို စတုရန်းကွင်းကွင်းများဖြင့် ဖော်ပြပါသည်။"
  • ကန့်သတ်ချက်များ- — ပါရာမီတာ ဆက်တင်များပိတ်ဆို့ခြင်းကို ဖော်ပြပါ။
  • မုဒ်- — bonding အလုပ်လုပ်မည့်မုဒ်ကို သတ်မှတ်ပါ။
  • 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 ကို သတ်မှတ်ပါ။
  • မှတဆင့်: — ကျွန်ုပ်တို့၏ subnet ကိုဝင်ရောက်အသုံးပြုနိုင်မည့် gateway ကိုသတ်မှတ်ပါ။
  • on-link- — လင့်ခ်ကို မြှင့်တင်သည့်အခါ လမ်းကြောင်းများကို အမြဲမှတ်ပုံတင်သင့်သည်ဟု ကျွန်ုပ်တို့ညွှန်ပြပါသည်။

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

ထို့ကြောင့် ကျွန်ုပ်တို့သည် network interfaces များ၊ ဖန်တီးထားသော bonding နှင့် 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

မှတ်ချက် Add