Netplan e come prepararlo correttamente

Ubuntu è un sistema operativo straordinario, non lavoro con il server Ubuntu da molto tempo e non aveva senso aggiornare il mio desktop dalla versione stabile. E non molto tempo fa ho avuto a che fare con l'ultima versione del server Ubuntu 18.04, la mia sorpresa non ha avuto limiti quando mi sono reso conto che ero infinitamente indietro rispetto ai tempi e non potevo configurare una rete perché il buon vecchio sistema per configurare le interfacce di rete tramite la modifica del file /etc/network /interfaces è andata in malora. E cosa è venuto a sostituirlo? qualcosa di terribile e a prima vista del tutto incomprensibile, incontra "Netplan".

Ad essere sincero, all'inizio non riuscivo a capire quale fosse il problema e "perché è necessario, visto che tutto era così conveniente", ma dopo un po' di pratica mi sono reso conto che ha il suo fascino. continuiamo con cos'è Netplan, questa è una nuova utility per le impostazioni di rete in Ubuntu, almeno "non ho visto nulla di simile in altre distribuzioni." Una differenza significativa tra Netplan è che la configurazione è scritta nel linguaggio Yamla, sì, hai sentito bene YAML, gli sviluppatori hanno deciso di stare al passo con i tempi (e non importa quanto lo lodino, continuo a pensare che sia un linguaggio terribile). Lo svantaggio principale di questo linguaggio è che è molto sensibile agli spazi, diamo un'occhiata alla configurazione usando un esempio.

I file di configurazione si trovano lungo il percorso /etc/netplan/filename.yaml, tra ogni blocco dovrebbero esserci + 2 spazi.

1) L'intestazione standard è simile alla seguente:

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

Diamo un'occhiata a cosa abbiamo fatto ora:

  • rete: - questo è l'inizio del blocco di configurazione.
  • renderer: networkd - qui indichiamo il gestore di rete che utilizzeremo, questo è networkd o NetworkManager
  • versione: 2 - qui, a quanto ho capito, è la versione YAML.
  • ethernet: - questo blocco indica che configureremo il protocollo ethernet.
  • enps0f0: — indica quale adattatore di rete configureremo.
  • dhcp4:no - disabilita DHCP v4, rispettivamente per 6 v6 dhcp6

2) Proviamo ad assegnare gli indirizzi 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

Qui impostiamo papavero, ipv4, gateway e server DNS. Tieni presente che se abbiamo bisogno di più di un indirizzo IP, li scriviamo separati da virgole con uno spazio obbligatorio dopo.

3) E se ne avessimo bisogno bonding?

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

  • bond: - un blocco che spiega che configureremo il bonding.
  • bond0: - nome dell'interfaccia arbitrario.
  • interfacce: - un insieme di interfacce raccolte in un bond-ding, “come detto prima, se ci sono più parametri, li descriviamo tra parentesi quadre”.
  • parametri: — descrive il blocco delle impostazioni dei parametri
  • modalità: — specifica la modalità con cui funzionerà il collegamento.
  • mii-monitor-interval: — imposta l'intervallo di monitoraggio su 1 secondo.

All'interno del blocco denominato bond è inoltre possibile configurare parametri quali indirizzi, gateway4, percorsi, ecc.

Abbiamo aggiunto la ridondanza alla nostra rete, ora non resta che installare VLAN e l'installazione può considerarsi completata.

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

  • vlan: — dichiara il blocco di configurazione vlan.
  • vlan10: — nome arbitrario dell'interfaccia vlan.
  • id: — tag del nostro vlan.
  • link: — interfaccia attraverso la quale sarà accessibile la vlan.
  • rotte: — dichiara un blocco di descrizione della rotta.
  • — a: — impostare l'indirizzo/sottorete verso il quale è necessario il percorso.
  • tramite: — specifica il gateway attraverso il quale sarà accessibile la nostra sottorete.
  • on-link: — indichiamo che le rotte devono essere sempre registrate quando viene attivato il collegamento.

Presta attenzione a come inserisco gli spazi; questo è molto importante in YAML.

Quindi abbiamo descritto le interfacce di rete, creato collegamenti e persino aggiunto vlan. Applichiamo la nostra configurazione, il comando netplan apply controllerà la presenza di errori nella nostra configurazione e la applicherà in caso di successo. Successivamente, la configurazione verrà generata da sola al riavvio del sistema.

Dopo aver raccolto tutti i blocchi di codice precedenti, questo è ciò che abbiamo ottenuto:

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]
    

Ora la nostra rete è pronta per il funzionamento, tutto si è rivelato non così spaventoso come sembrava all'inizio e il codice si è rivelato molto bello e leggibile. PC grazie per netplan c'è un eccellente manuale al link https://netplan.io/.

Fonte: habr.com

Aggiungi un commento