Netplan va uni qanday qilib to'g'ri tayyorlash

Ubuntu - bu ajoyib operatsion tizim, men Ubuntu serveri bilan uzoq vaqt ishlamaganman va ish stolimni barqaror versiyadan yangilashning ma'nosi yo'q edi. Va yaqinda men Ubuntu serverining 18.04 so'nggi versiyasi bilan shug'ullanishimga to'g'ri keldi, men zamonlardan cheksiz orqada ekanligimni va tarmoqni o'rnata olmasligimni anglaganimda hayratda qoldim, chunki tarmoq interfeyslarini o'rnatish uchun eski tizim /etc/tarmoq faylini /interfeyslarini tahrirlash bekor bo'ldi. Va uning o'rniga nima keldi? dahshatli narsa va birinchi qarashda mutlaqo tushunarsiz, "Netplan" bilan tanishing.

Rostini aytsam, avvaliga nima bo'lganini va "bu nima uchun kerak, chunki hamma narsa juda qulay edi" deb tushunolmadim, lekin biroz mashqdan keyin uning o'ziga xos jozibasi borligini angladim. Keling, Netplan nima ekanligini davom ettiramiz, bu Ubuntu-da tarmoq sozlamalari uchun yangi yordamchi dastur, hech bo'lmaganda "Men boshqa tarqatishlarda bunday narsalarni ko'rmadim." Netplan o'rtasidagi muhim farq shundaki, konfiguratsiya tilda yozilgan. YAML, ha, siz to'g'ri YAMLni eshitdingiz, ishlab chiquvchilar zamon bilan hamqadam bo'lishga qaror qilishdi (va ular qanchalik maqtashmasin, men hali ham bu dahshatli til deb o'ylayman). Ushbu tilning asosiy kamchiligi shundaki, u bo'shliqlarga juda sezgir, keling, misol yordamida konfiguratsiyani ko'rib chiqamiz.

Konfiguratsiya fayllari /etc/netplan/filename.yaml yo'li bo'ylab joylashgan, har bir blok o'rtasida + 2 bo'sh joy bo'lishi kerak.

1) Standart sarlavha quyidagicha ko'rinadi:

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

Keling, nima qilganimizni ko'rib chiqaylik:

  • tarmoq: - bu konfiguratsiya blokining boshlanishi.
  • renderer: networkd - bu erda biz foydalanadigan tarmoq menejerini ko'rsatamiz, bu tarmoq yoki NetworkManager
  • versiya: 2 - bu erda, men tushunganimdek, YAML versiyasi.
  • ethernets: - bu blok chekilgan protokolini sozlashimizni bildiradi.
  • enps0f0: β€” qaysi tarmoq adapterini sozlashimizni ko'rsating.
  • dhcp4:yo'q - mos ravishda 4 v6 dhcp6 uchun DHCP v6 o'chiring

2) IP manzillarni belgilashga harakat qilaylik:

    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

Bu erda biz poppy, ipv4, shlyuz va dns serverini o'rnatamiz. E'tibor bering, agar bizga bir nechta IP-manzil kerak bo'lsa, biz ularni vergul bilan ajratib, keyin majburiy bo'sh joy bilan yozamiz.

3) Agar bizga kerak bo'lsa nima bo'ladi? bog'lanish?

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

  • obligatsiyalar: - bog'lanishni sozlashimizni tushuntiruvchi blok.
  • bond0: - ixtiyoriy interfeys nomi.
  • interfeyslar: - bog'lanishda yig'ilgan interfeyslar to'plami, "yuqorida aytib o'tilganidek, agar bir nechta parametrlar mavjud bo'lsa, biz ularni kvadrat qavs ichida tasvirlaymiz."
  • parametrlar: β€” parametrlarni sozlash blokini tavsiflash
  • rejim: β€” bogβ€˜lash qaysi rejimda ishlashini belgilang.
  • mii-monitor-interval: β€” kuzatish oralig'ini 1 soniyaga o'rnating.

Bond deb nomlangan blokning ichida siz manzillar, shlyuz4, marshrutlar va boshqalar kabi parametrlarni ham sozlashingiz mumkin.

Biz tarmog'imiz uchun ortiqcha qo'shdik, endi faqat o'rnatish qoladi vlan va sozlash tugallangan deb hisoblanishi mumkin.

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 konfiguratsiya blokini e'lon qilish.
  • vlan10: β€” vlan interfeysining ixtiyoriy nomi.
  • id: - bizning vlan yorlig'i.
  • havola: β€” vlan-ga kirish mumkin bo'lgan interfeys.
  • marshrutlar: β€” marshrut tavsifi blokini e'lon qilish.
  • β€” kimga: β€” marshrut kerak bo'lgan manzilni/pastki tarmoqni o'rnating.
  • orqali: β€” quyi tarmoqqa kirish mumkin bo'lgan shlyuzni belgilang.
  • on-link: β€” havola ko'tarilganda marshrutlar har doim ro'yxatga olinishi kerakligini bildiramiz.

Bo'shliqlarni qanday joylashtirishimga e'tibor bering; bu YAMLda juda muhim.

Shunday qilib, biz tarmoq interfeyslarini tasvirlab berdik, bog'lanishni yaratdik va hatto vlanlarni qo'shdik. Keling, konfiguratsiyamizni qo'llaymiz, netplan apply buyrug'i bizning konfiguratsiyamizda xatolar bor-yo'qligini tekshiradi va muvaffaqiyatli bo'lsa uni qo'llaydi.Keyin, tizim qayta ishga tushirilganda konfiguratsiya o'z-o'zidan ko'tariladi.

Oldingi barcha kod bloklarini to'plaganimizdan so'ng, biz quyidagilarni oldik:

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]
    

Endi bizning tarmog'imiz ishlashga tayyor, hamma narsa birinchi bo'lib tuyulganidek qo'rqinchli emas va kod juda chiroyli va o'qilishi mumkin bo'lib chiqdi. Kompyuter netplan uchun rahmat, havolada ajoyib qo'llanma mavjud https://netplan.io/.

Manba: www.habr.com

a Izoh qo'shish