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

Ubuntu heyrətamiz əməliyyat sistemidir, mən uzun müddət Ubuntu serveri ilə işləməmişəm və Masaüstünü stabil versiyadan təkmilləşdirməyin mənası yox idi. Və bir müddət əvvəl Ubuntu serverinin 18.04-ün ən son buraxılışı ilə qarşılaşmalı oldum, zamandan sonsuz geridə qaldığımı və şəbəkə qura bilməyəcəyimi anlayanda təəccübüm həddi-hüdudu yox idi, çünki şəbəkə interfeyslərini qurmaq üçün köhnə yaxşı sistemdir. /etc/şəbəkə faylının /interfeyslərini redaktə etmək boş yerə getdi. Və onu əvəz etmək üçün nə gəldi? dəhşətli və ilk baxışda tamamilə anlaşılmaz bir şey, "Netplan" ilə tanış olun.

Düzünü desəm, əvvəlcə məsələnin nə olduğunu başa düşə bilmədim və “bu nə üçün lazımdı, çünki hər şey çox rahat idi” amma bir az məşq etdikdən sonra başa düşdüm ki, onun öz cazibəsi var. gəlin Netplanın nə olduğu ilə davam edək, bu Ubuntu-da şəbəkə parametrləri üçün yeni bir yardım proqramıdır, ən azı “Mən başqa paylamalarda belə bir şey görməmişəm.” Netplan arasındakı əhəmiyyətli 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

Добавить комментарий