Netplan at kung paano ito ihanda nang tama

Ang Ubuntu ay isang kamangha-manghang operating system, matagal na akong hindi nagtatrabaho sa server ng Ubuntu at walang punto sa pag-upgrade ng aking Desktop mula sa matatag na bersyon. At hindi pa nagtagal kailangan kong harapin ang pinakabagong release ng Ubuntu server 18.04, ang aking sorpresa ay walang hangganan nang napagtanto ko na ako ay nasa likod ng mga oras at hindi makapag-set up ng isang network dahil ang magandang lumang sistema para sa pag-set up ng mga interface ng network sa pamamagitan ng ang pag-edit ng /etc/network file /interfaces ay nawala sa alisan ng tubig. At ano ang kapalit nito? isang bagay na kakila-kilabot at sa unang tingin ay ganap na hindi maintindihan, matugunan ang "Netplan".

Sa totoo lang, sa una ay hindi ko maintindihan kung ano ang problema at "bakit kailangan ito, dahil ang lahat ay napakaginhawa," ngunit pagkatapos ng kaunting pagsasanay natanto ko na mayroon itong sariling kagandahan. At sapat na ang mga lyrics, magpatuloy tayo sa kung ano ang Netplan, ito ay isang bagong utility para sa mga setting ng network sa Ubuntu, hindi bababa sa "Wala akong nakitang ganito sa ibang mga distribusyon." Ang isang makabuluhang pagkakaiba sa pagitan ng Netplan ay ang pagsasaayos ay nakasulat sa wika Yaml, oo, tama ang narinig mo YAML, nagpasya ang mga developer na makipagsabayan sa mga panahon (at kahit gaano pa nila ito purihin, sa tingin ko ito ay isang kahila-hilakbot na wika). Ang pangunahing kawalan ng wikang ito ay napaka-sensitibo nito sa mga puwang, tingnan natin ang config gamit ang isang halimbawa.

Ang mga configuration file ay matatagpuan sa kahabaan ng path /etc/netplan/filename.yaml, sa pagitan ng bawat block ay dapat mayroong + 2 space.

1) Ang karaniwang header ay ganito ang hitsura:

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

Tingnan natin kung ano ang nagawa natin ngayon:

  • network: - ito ang simula ng configuration block.
  • renderer: networkd - dito ipinapahiwatig namin ang network manager na gagamitin namin, ito ay networkd o NetworkManager
  • bersyon: 2 - dito, sa pagkakaintindi ko, ay ang bersyon ng YAML.
  • ethernets: - ang block na ito ay nagpapahiwatig na iko-configure namin ang ethernet protocol.
  • enps0f0: β€” ipahiwatig kung aling network adapter ang aming iko-configure.
  • dhcp4:no - huwag paganahin ang DHCP v4, para sa 6 v6 dhcp6 ayon sa pagkakabanggit

2) Subukan nating magtalaga ng mga IP address:

    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

Dito namin itinakda ang poppy, ipv4, gateway at dns server. Tandaan na kung kailangan namin ng higit sa isang IP address, isusulat namin ang mga ito na pinaghihiwalay ng mga kuwit na may kinakailangang puwang pagkatapos.

3) Paano kung kailangan natin bonding?

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

  • bonds: - isang block na nagpapaliwanag na iko-configure namin ang bonding.
  • bond0: - arbitrary na pangalan ng interface.
  • mga interface: - isang hanay ng mga interface na nakolekta sa isang bond-ding, "tulad ng sinabi kanina, kung mayroong ilang mga parameter, inilalarawan namin ang mga ito sa mga square bracket."
  • mga parameter: β€” ilarawan ang bloke ng mga setting ng parameter
  • mode: β€” tukuyin ang mode kung saan gagana ang bonding.
  • mii-monitor-interval: β€” itakda ang agwat ng pagsubaybay sa 1 segundo.

Sa loob ng block na pinangalanang bond, maaari mo ring i-configure ang mga parameter gaya ng mga address, gateway4, ruta, atbp.

Nagdagdag kami ng redundancy para sa aming network, ngayon ang natitira ay mag-install vlan at ang setup ay maaaring ituring na kumpleto.

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: β€” ideklara ang vlan configuration block.
  • vlan10: β€” arbitrary na pangalan ng vlan interface.
  • id: β€” tag ng vlan natin.
  • link: β€” interface kung saan maa-access ang vlan.
  • mga ruta: β€” magdeklara ng bloke ng paglalarawan ng ruta.
  • β€” sa: β€” itakda ang address/subnet kung saan kailangan ang ruta.
  • sa pamamagitan ng: β€” tukuyin ang gateway kung saan maa-access ang aming subnet.
  • on-link: β€” ipinapahiwatig namin na ang mga ruta ay dapat palaging nakarehistro kapag nakataas ang link.

Bigyang-pansin kung paano ako naglalagay ng mga puwang; ito ay napakahalaga sa YAML.

Kaya inilarawan namin ang mga interface ng network, gumawa ng bonding, at nagdagdag pa ng mga vlan. I-apply natin ang ating config, ang netplan apply command ay susuriin ang ating config para sa mga error at ilalapat ito kung matagumpay.Susunod, ang config ay itataas sa sarili nitong kapag ang system ay na-reboot.

Nakolekta ang lahat ng nakaraang mga bloke ng code, ito ang nakuha namin:

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]
    

Ngayon ang aming network ay handa na para sa operasyon, ang lahat ay naging hindi nakakatakot tulad ng sa una at ang code ay naging napakaganda at nababasa. PC salamat sa netplan mayroong isang mahusay na manual sa link https://netplan.io/.

Pinagmulan: www.habr.com

Magdagdag ng komento