Netplan at kung paano ito ihanda nang tama

Ubuntu kahanga-hangang operating system, matagal ko na itong hindi nagagamit Ubuntu server, at ang pag-update ng aking Desktop mula sa isang stable na bersyon ay walang saysay. Kaya, hindi pa katagalan, kinailangan kong harapin ang isang bagong-bagong release. Ubuntu Sa server 18.04, labis akong namangha nang mapagtanto kong huli na ako sa panahon at hindi ko ma-configure ang aking network dahil nawala na ang lumang sistema ng pag-configure ng mga network interface sa pamamagitan ng pag-edit ng /etc/network/interfaces file. At ano ang pumalit dito? Isang bagay na nakakatakot at, sa unang tingin, talagang hindi maintindihan—kilalanin ang "Netplan."

Sa totoo lang, noong una ay hindi ko maintindihan kung ano ang ibig sabihin nito at "kung bakit ito kinakailangan, tutal, lahat naman ay napakakombenyente naman," ngunit pagkatapos ng kaunting pagsasanay ay napagtanto kong mayroon itong sariling kagandahan. Kaya, tama na ang liriko, ipagpatuloy natin kung ano ang Netplan. Ito ay isang bagong utility para sa pag-configure ng network sa Ubuntu, kahit papaano "Wala pa akong nakitang ganito sa ibang mga distribusyon." Ang isang malaking pagkakaiba sa Netplan ay ang configuration ay nakasulat sa wikang 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

Bumili ng maaasahang pagho-host para sa mga site na may proteksyon ng DDoS, mga server ng VPS VDS 🔥 Bumili ng maaasahang website hosting na may proteksyon ng DDoS, VPS VDS servers | ProHoster