Netplan dhe si ta përgatisim atë siç duhet

Ubuntu Ă«shtĂ« njĂ« sistem operativ tĂ« jashtĂ«zakonshĂ«m, nuk kam punuar prej kohĂ«sh me serverin Ubuntu dhe nuk kishte kuptim tĂ« pĂ«rditĂ«soja desktopin tim nga versioni i stabilizuar. Dhe sĂ« fundmi u ndesha me njĂ« version tĂ« ri tĂ« serverit Ubuntu 18.04, surpriza ime ishte e madhe kur e kuptova se isha pafundĂ«sisht prapa dhe nuk mund tĂ« konfiguroja rrjetin sepse sistemi i vjetĂ«r i konfigurarit tĂ« ndĂ«rfaqeve rrjetĂ«sore pĂ«rmes redaktimit tĂ« skedarit /etc/network/interfaces kishte shkuar nĂ« harresĂ«. ÇfarĂ« ka zĂ«vendĂ«suar atĂ«? diçka e tmerrshme dhe nĂ« pamje tĂ« parĂ« krejtĂ«sisht e paqartĂ«, mirĂ« se erdhĂ«t „Netplan“.

TĂ« pranoj sinqerisht, fillimisht nuk mund tĂ« kuptoja cila ishte çështja dhe „pse ishte e nevojshme, sepse gjithçka ishte kaq e lehtĂ«", por duke fituar pak praktikĂ« kuptova se kishte njĂ« sharm tĂ« vetin. Pra, mjaft me lirikat, le tĂ« vazhdojmĂ«, çfarĂ« Ă«shtĂ« Netplan? ËshtĂ« njĂ« mjet i ri pĂ«r konfigurimin e rrjetit nĂ« Ubuntu, tĂ« paktĂ«n „nĂ« distribucione tĂ« tjera nuk kam hasur nĂ« diçka tĂ« tillĂ«â€œ. Dallimi kryesor i Netplan Ă«shtĂ« se konfigurimi shkruhet nĂ« njĂ« gjuhĂ« YAML, po, po, nuk ke dĂ«gjuar gabim, YAML. Zhvilluesit kanĂ« vendosur qĂ« tĂ« ecin me kohĂ«n (dhe sa mĂ« shumĂ« ta lavdĂ«rojnĂ«, unĂ« ende e konsideroj atĂ« njĂ« gjuhĂ« tĂ« tmerrshme). Mungesa kryesore e kĂ«saj gjuhe Ă«shtĂ« se ajo Ă«shtĂ« shumĂ« e ndjeshme ndaj hapĂ«sirave, le tĂ« shqyrtojmĂ« konfigurimin me njĂ« shembull.

Skedarët e konfigurimit ndodhen në rrugën /etc/netplan/emriiskedarit.yaml, midis çdo blloku kur është e nevojshme të kenë + 2 hapësira.

1) Kapaku standard duket kështu:

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

Le të shohim se çfarë kemi bërë tani:

  • network: — ky Ă«shtĂ« blloku fillestar i konfigurimit.
  • renderer: networkd — kĂ«tu tregojmĂ« menaxherin e rrjetit qĂ« do tĂ« pĂ«rdorim, ose Ă«shtĂ« networkd ose NetworkManager.
  • version: 2 — kĂ«tu, siç e kuptoj unĂ«, Ă«shtĂ« versioni i YAML.
  • ethernets: — ky bllok thotĂ« se do tĂ« konfiguroni protokollin ethernet.
  • enps0f0: — tregojmĂ« se cili adapter rrjeti do tĂ« konfigurohet.
  • dhcp4:no — çaktivizojmĂ« DHCP v4, pĂ«r 6 v6 dhcp6 pĂ«rkatĂ«sisht.

2) Le të përpiqemi të caktojmë adresat 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

Këtu kemi vendosur MAC-in, ipv4, gateway-in dhe serverin DNS. Vini re se nëse na nevojitet më shumë se një adresë IP, ato shkruhen me presje duke ruajtur një hapësirë të detyrueshme pas çdo njësi.

3) E çfarë nëse na nevojitet bonding?

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

  • bonds: — blloku qĂ« shpjegon se do tĂ« konfigurojmĂ« bonding.
  • bond0: — njĂ« emĂ«r i rastĂ«sishĂ«m pĂ«r ndĂ«rfaqen.
  • interfaces: — grupi i ndĂ«rfaqeve qĂ« mblidhen nĂ« bonding, „siç u pĂ«rmend mĂ« parĂ«, nĂ«se ka shumĂ« parametra, i pĂ«rshkruajmĂ« ato nĂ« katrorĂ«."
  • parameters: — pĂ«rshkruajmĂ« bllokun e konfigurimit tĂ« parametrave.
  • mode: — tregojmĂ« modin sipas tĂ« cilit do tĂ« funksionojĂ« bonding-u.
  • mii-monitor-interval: — vendosim intervalin e monitorimit nĂ« 1 sek.

Brenda bllokut me emrin e bonding-ut, gjithashtu mund të konfigurojmë parametra si addresses, gateway4, routes, etj.

Ne kemi shtuar rezervimin për rrjetin tonë, tani mbetet vetëm të lidhim vlan dhe konfigurimi mund të quhet përfunduar.

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: — shpallim bllokun e konfigurimit tĂ« vlan.
  • vlan10: — njĂ« emĂ«r i rastĂ«sishĂ«m pĂ«r ndĂ«rfaqen vlan.
  • id: — etiketa e vlan-it tonĂ«.
  • link: — ndĂ«rfaqja pĂ«rmes sĂ« cilĂ«s vlan do tĂ« jetĂ« i aksesueshĂ«m.
  • routes: — shpallim bllokun pĂ«rshkrues tĂ« rrugĂ«ve.
  • — to: — vendosim adresĂ«n/nĂ«nrrjetin pĂ«r tĂ« cilin na nevojitet rruge.
  • via: — tregojmĂ« gateway-in pĂ«rmes sĂ« cilit do tĂ« jetĂ« e aksesueshme nĂ«nrrjeti ynĂ«.
  • on-link: — tregojmĂ« qĂ« rrugĂ«t duhet tĂ« shkruhen gjithmonĂ« kur lidhja Ă«shtĂ« ngritur.

Kujdesi për mënyrën se si rregulloj hapësirat, në gjuhën YAML kjo është shumë e rëndësishme.

Këtu kemi përshkruar ndërfaqet rrjetësore, krijuam bonding dhe madje shtuam vlan. Le të zbatojmë konfigurimin tonë, komanda netplan apply do të verifikojë konfigurimin tonë për ndonjë gabim dhe do ta zbatojë atë në rast suksesi. Më pas, konfigurimi do të ngrihet automatikisht gjatë rinisjes së sistemit.

Duke mbledhur të gjitha blloqet e mëparshme të kodit, ja çfarë kemi arritur:

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]
    

Rrjetin tonë e kemi gati për përdorim, gjithçka rezultoi të mos ishte aq e tmerrshme sa mendova në fillim dhe kodi doli shumë i bukur dhe i lexueshëm. P.C faleminderit që për netplan ka një manual të shkëlqyer në lidhjen https://netplan.io/.

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster