Netplan və onu necə düzgün hazırlamaq olar

Ubuntu Əla əməliyyat sistemi, uzun müddətdir işləmirəm Ubuntu server və masaüstü kompüterimi sabit bir versiyadan yeniləmək məntiqli deyildi. Və sonra, çox keçməmiş, tamamilə yeni bir versiya ilə qarşılaşmalı oldum. Ubuntu 18.04 serverində, /etc/network/interfaces faylını redaktə etməklə şəbəkə interfeyslərini konfiqurasiya etmək kimi köhnə sistem yoxa çıxdığı üçün zamandan çox geri qaldığımı və şəbəkəmi konfiqurasiya edə bilmədiyimi anladığımda tamamilə təəccübləndim. Bəs onu nə əvəz etdi? Dəhşətli və ilk baxışdan tamamilə anlaşılmaz bir şey - "Netplan" ilə tanış olun.

Düzünü desəm, əvvəlcə məsələnin nədən ibarət olduğunu və "niyə lazım olduğunu, axı hər şey çox rahat idi" deyə başa düşə bilmədim, amma bir az təcrübədən sonra bunun öz cazibəsi olduğunu anladım. Beləliklə, lirik söhbətlərdən bezdik, gəlin Netplan-ın nə olduğuna davam edək. Bu, şəbəkəni konfiqurasiya etmək üçün yeni bir yardım proqramıdır... Ubuntu, ən azından "Başqa paylanmalarda belə bir şeylə qarşılaşmamışam." Netplan ilə əhəmiyyətli bir fərq, konfiqurasiyanın dildə yazılmasıdır YAML, bəli, düz YAML eşitdiniz, tərtibatçılar zamanla ayaqlaşmaq qərarına gəldilər (və nə qədər tərifləsələr də, mən hələ də bu, dəhşətli bir dildir). Bu dilin əsas çatışmazlığı boşluqlara çox həssas olmasıdır, bir nümunədən istifadə edərək konfiqurasiyaya baxaq.

Konfiqurasiya faylları /etc/netplan/filename.yaml yolu boyunca yerləşir, hər blok arasında + 2 boşluq olmalıdır.

1) Standart başlıq belə görünür:

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

İndi nə etdiyimizə baxaq:

  • şəbəkə: - bu, konfiqurasiya blokunun başlanğıcıdır.
  • renderer: networkd - burada istifadə edəcəyimiz şəbəkə menecerini göstəririk, bu ya şəbəkəli, ya da NetworkManagerdir
  • versiya: 2 - burada, başa düşdüyüm kimi, YAML versiyasıdır.
  • ethernets: - bu blok ethernet protokolunu konfiqurasiya edəcəyimizi göstərir.
  • enps0f0: — hansı şəbəkə adapterini konfiqurasiya edəcəyimizi göstərin.
  • dhcp4:yox - müvafiq olaraq 4 v6 dhcp6 üçün DHCP v6-ü söndürün

2) IP ünvanlarını təyin etməyə çalışaq:

    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

Burada poppy, ipv4, gateway və dns serverini təyin etdik. Qeyd edək ki, əgər bizə birdən çox IP ünvan lazımdırsa, onda biz onları vergüllə ayrılaraq, sonra mütləq boşluq qoyaraq yazırıq.

3) Nə lazımdırsa bağlama?

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

  • istiqrazlar: - bağlamanı konfiqurasiya edəcəyimizi izah edən blok.
  • bond0: - ixtiyari interfeys adı.
  • interfeyslər: - "əvvəllər qeyd edildiyi kimi, bir neçə parametr varsa, onları kvadrat mötərizədə təsvir edirik."
  • parametrlər: — parametr parametrləri blokunu təsvir edin
  • rejim: — birləşmənin işləyəcəyi rejimi təyin edin.
  • mii-monitor-interval: — monitorinq intervalını 1 saniyəyə təyin edin.

Bond adlı blokun içərisində siz həmçinin ünvanlar, gateway4, marşrutlar və s. kimi parametrləri konfiqurasiya edə bilərsiniz.

Şəbəkəmiz üçün artıqlıq əlavə etdik, indi yalnız quraşdırmaq qalır vlan və quraşdırma tamamlanmış hesab edilə bilər.

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 konfiqurasiya blokunu elan edin.
  • vlan10: — vlan interfeysinin ixtiyari adı.
  • id: — vlanımızın etiketi.
  • link: — vlanın əlçatan olacağı interfeys.
  • marşrutlar: — marşrut təsviri blokunu elan edin.
  • — üçün: — marşrutun lazım olduğu ünvanı/alt şəbəkəni təyin edin.
  • vasitəsilə: — alt şəbəkəmizin əlçatan olacağı şlüzü göstərin.
  • on-link: — qeyd edirik ki, keçid qaldırıldıqda marşrutlar həmişə qeydiyyatdan keçməlidir.

Boşluqları necə yerləşdirdiyimə diqqət yetirin; bu YAML-də çox vacibdir.

Beləliklə, biz şəbəkə interfeyslərini təsvir etdik, əlaqə yaratdıq və hətta vlan əlavə etdik. Gəlin konfiqurasiyamızı tətbiq edək, netplan apply əmri konfiqurasiyamızı səhvlərə görə yoxlayacaq və müvəffəqiyyətli olarsa tətbiq edəcək.Sonra sistem yenidən işə salındıqda konfiqurasiya öz-özünə qaldırılacaq.

Bütün əvvəlki kod bloklarını topladıqdan sonra əldə etdiyimiz budur:

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]
    

İndi şəbəkəmiz işə hazırdır, hər şey ilk baxışda göründüyü qədər qorxulu deyil və kod çox gözəl və oxunaqlı oldu. PC netplan üçün təşəkkür edirəm linkdə əla təlimat var https://netplan.io/.

Mənbə: www.habr.com

DDoS mühafizəsi, VPS VDS serverləri olan saytlar üçün etibarlı hostinq alın 🔥 DDoS qorunması, VPS VDS serverləri ilə etibarlı veb sayt hostinqi alın | ProHoster