Netplan i kako ga pravilno pripremiti

Ubuntu Odličan operativni sistem, nisam dugo radio s njim Ubuntu server, a ažuriranje mog Desktopa sa stabilne verzije nije imalo smisla. A onda, ne tako davno, morao sam se suočiti s potpuno novim izdanjem. Ubuntu server 18.04, моему удивлению не было предела, когда я понял что я бесконечно отстал от жизни и не могу настроить сеть т.к старая добрая система настройки сетевых интерфейсов по средствам редактирования файла /etc/network/interfaces канула в лепту. А что же пришло ей на смену? что то ужасное и на первый взгляд совершенно не понятное, встречайте «Netplan».

Признаться честно, сначала я не мог понять в чем дело и »зачем это нужно, ведь все было так удобно", но получив немного практики понял что в нем есть свой шарм. И так хватит лирики продолжим, что же такое Netplan это новая утилита для настройки сети в Ubuntu, по крайне мере «в других дистрибутивах я не встречал подобного». Существенной отличие Netplan является то что конфигурация пишется на языке YAML, da, dobro ste čuli YAML, programeri su odlučili da idu u korak s vremenom (i koliko god ga hvalili, i dalje mislim da je to užasan jezik). Glavni nedostatak ovog jezika je što je vrlo osjetljiv na razmake, pogledajmo konfiguraciju na primjeru.

Konfiguracijske datoteke se nalaze duž putanje /etc/netplan/filename.yaml, između svakog bloka treba biti + 2 razmaka.

1) Standardno zaglavlje izgleda ovako:

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

Pogledajmo šta smo sada uradili:

  • mreža: - ovo je početak konfiguracijskog bloka.
  • renderer: networkd - ovdje označavamo mrežnog menadžera koji ćemo koristiti, ovo je ili umreženi ili NetworkManager
  • verzija: 2 - ovdje je, koliko sam shvatio, YAML verzija.
  • ethernets: - ovaj blok označava da ćemo konfigurirati ethernet protokol.
  • enps0f0: — naznačite koji ćemo mrežni adapter konfigurirati.
  • dhcp4:ne - onemogući DHCP v4, za 6 v6 dhcp6 respektivno

2) Pokušajmo dodijeliti IP adrese:

    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

Ovdje postavljamo poppy, ipv4, gateway i dns server. Imajte na umu da ako nam treba više od jedne IP adrese, onda ih pišemo odvojene zarezima sa obaveznim razmakom iza.

3) Šta ako nam zatreba vezivanje?

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

  • bonds: - blok koji objašnjava da ćemo konfigurirati povezivanje.
  • bond0: - proizvoljno ime interfejsa.
  • interfejsi: - skup interfejsa prikupljenih u bond-dingu, “kao što je ranije rečeno, ako postoji nekoliko parametara, opisujemo ih u uglastim zagradama.”
  • parametri: — opisati blok postavki parametara
  • mod: — odredite način na koji će povezivanje raditi.
  • mii-monitor-interval: — postavite interval nadgledanja na 1 sekundu.

Unutar bloka nazvanog bond, također možete konfigurirati parametre kao što su adrese, gateway4, rute, itd.

Dodali smo redundantnost za našu mrežu, sada ostaje samo da se instalira wham i postavljanje se može smatrati završenim.

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: — proglasiti blok konfiguracije vlan-a.
  • vlan10: — proizvoljno ime vlan interfejsa.
  • id: — tag našeg vlana.
  • link: — interfejs preko kojeg će vlan biti dostupan.
  • rute: — proglasite blok opisa rute.
  • — do: — postavite adresu/podmrežu do koje je potrebna ruta.
  • via: — odredite gateway preko kojeg će naša podmreža biti dostupna.
  • on-link: — ukazujemo da rute uvijek trebaju biti registrirane kada se link podigne.

Obratite pažnju na to kako postavljam razmake; ovo je veoma važno u YAML-u.

Tako smo opisali mrežna sučelja, stvorili povezivanje, pa čak i dodali vlan-ove. Primijenimo našu konfiguraciju, komanda netplan apply će provjeriti našu konfiguraciju za greške i primijeniti je ako je uspješna. Zatim će se konfiguracija sama pokrenuti kada se sistem ponovo pokrene.

Nakon što smo prikupili sve prethodne blokove koda, dobili smo ovo:

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]
    

Sada je naša mreža spremna za rad, pokazalo se da sve nije tako strašno kao što se u početku činilo, a kod se pokazao vrlo lijepim i čitljivim. PC hvala za netplan, na linku je odličan priručnik https://netplan.io/.

izvor: www.habr.com

Kupite pouzdan hosting za sajtove sa DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan web hosting sa DDoS zaštitom, VPS VDS servere | ProHoster