Netplan kaj kiel prepari ĝin ĝuste

Ubuntu mirinda operaciumo, mi ne laboris kun ĝi delonge Ubuntu servilo, kaj ĝisdatigi mian labortablon de stabila versio havis nenian sencon. Kaj do, ne antaŭ longe, mi devis trakti tute novan eldonon. Ubuntu Sur servilo 18.04, mi estis absolute mirigita kiam mi rimarkis, ke mi multe malfruis kaj ne povis konfiguri mian reton ĉar la bona malnova sistemo de konfiguri retinterfacojn per redaktado de la dosiero /etc/network/interfaces malaperis. Kaj kio anstataŭigis ĝin? Io timiga kaj, unuarigarde, tute nekomprenebla — jen "Netplan".

Verdire, komence mi ne povis kompreni, kio estas la afero kaj "kial ĝi estis necesa, finfine ĉio estis tiel oportuna", sed post iom da praktiko mi rimarkis, ke ĝi havas sian propran ĉarmon. Do, sufiĉe pri la lirika babilado, ni daŭrigu kun kio estas Netplan. Ĉi tio estas nova ilo por agordi reton en Ubuntu, almenaŭ "Mi ne renkontis ion similan en aliaj distribuaĵoj." Signifa diferenco kun Netplan estas, ke la agordo estas skribita en la lingvo YAML, jes, vi aŭdis ĝuste YAML, la programistoj decidis daŭrigi kun la tempoj (kaj kiom ajn ili laŭdas ĝin, mi ankoraŭ pensas, ke ĝi estas terura lingvo). La ĉefa malavantaĝo de ĉi tiu lingvo estas ke ĝi estas tre sentema al spacoj, ni rigardu la agordon uzante ekzemplon.

La agordaj dosieroj troviĝas laŭ la vojo /etc/netplan/filename.yaml, inter ĉiu bloko devus esti + 2 spacoj.

1) La norma kaplinio aspektas jene:

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

Ni rigardu, kion ni nun faris:

  • reto: - ĉi tio estas la komenco de la agorda bloko.
  • bildilo: networkd - ĉi tie ni indikas la retan administranton, kiun ni uzos, ĉi tio estas aŭ interreta aŭ NetworkManager
  • versio: 2 - jen, kiel mi komprenas, la versio YAML.
  • ethernets: - ĉi tiu bloko indikas, ke ni agordos la ethernet-protokolon.
  • enps0f0: — indiku kiun retan adaptilon ni agordos.
  • dhcp4:ne - malŝaltu DHCP v4, por 6 v6 dhcp6 respektive

2) Ni provu atribui IP-adresojn:

    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

Ĉi tie ni starigas la papavon, ipv4, enirejon kaj dns-servilon. Notu, ke se ni bezonas pli ol unu IP-adreson, tiam ni skribas ilin apartigitaj per komoj kun deviga spaco poste.

3) Kio se ni bezonas ligo?

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

  • obligacioj: - bloko klariganta ke ni agordos ligadon.
  • bond0: - arbitra nomo de interfaco.
  • interfacoj: - aro de interfacoj kolektitaj en interligo, "kiel dirite antaŭe, se estas pluraj parametroj, ni priskribas ilin en kvadrataj krampoj."
  • parametroj: — priskribu la blokon de agordoj de parametroj
  • reĝimo: — specifu la reĝimon, per kiu ligado funkcios.
  • mii-monitor-interval: — agordu la monitoran intervalon al 1 sekundo.

Ene de la bloko nomita ligo, vi ankaŭ povas agordi parametrojn kiel adresojn, enirejon4, itinerojn, ktp.

Ni aldonis redundon por nia reto, nun restas nur instali wham kaj la aranĝo povas esti konsiderata kompleta.

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: — deklari la vlan-agordan blokon.
  • vlan10: — arbitra nomo de la vlan-interfaco.
  • id: — etikedo de nia vlan.
  • ligilo: — interfaco per kiu la vlan estos alirebla.
  • itineroj: — deklari itineran priskribblokon.
  • — al: — agordi la adreson/subreton al kiu la itinero estas bezonata.
  • per: — specifu la enirejon per kiu nia subreto estos alirebla.
  • on-link: — ni indikas, ke itineroj estu ĉiam registritaj kiam la ligilo estas levita.

Atentu kiel mi metas spacojn; ĉi tio estas tre grava en YAML.

Do ni priskribis la retajn interfacojn, kreis ligojn kaj eĉ aldonis vlanojn. Ni apliku nian agordon, la netplan apply komando kontrolos nian agordon por eraroj kaj aplikas ĝin se sukcesa. Poste, la agordo estos levita memstare kiam la sistemo estas rekomencita.

Kolektinte ĉiujn antaŭajn blokojn de kodo, jen kion ni ricevis:

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]
    

Nun nia reto estas preta por funkcii, ĉio montriĝis ne tiel timiga kiel ĝi ŝajnis komence kaj la kodo montriĝis tre bela kaj legebla. Komputilo dankon pro netplan estas bonega manlibro ĉe la ligilo https://netplan.io/.

fonto: www.habr.com

Aĉetu fidindan gastigadon por retejoj kun DDoS-protekto, VPS-VDS-serviloj 🔥 Aĉetu fidindan retejan gastigadon kun DDoS-protekto, VPS VDS-servilojn | ProHoster