Netplan og hvordan forberede den riktig

Ubuntu er et fantastisk operativsystem, jeg har ikke jobbet med Ubuntu-serveren på lenge, og det var ingen vits i å oppgradere skrivebordet mitt fra den stabile versjonen. Og for ikke lenge siden måtte jeg forholde meg til den siste utgivelsen av Ubuntu server 18.04, overraskelsen min visste ingen grenser da jeg innså at jeg var uendelig bak tiden og ikke kunne sette opp et nettverk fordi det gode gamle systemet for å sette opp nettverksgrensesnitt av redigering av /etc/nettverksfilen /interfaces har gått i vasken. Og hva kom for å erstatte den? noe forferdelig og ved første øyekast helt uforståelig, møt “Netplan”.

For å være ærlig, først kunne jeg ikke forstå hva som var i veien og "hvorfor er dette nødvendig, fordi alt var så praktisk," men etter litt trening innså jeg at det har sin egen sjarm. Og så nok av tekstene, la oss fortsette med hva Netplan er, dette er et nytt verktøy for nettverksinnstillinger i Ubuntu, i det minste "Jeg har ikke sett noe lignende i andre distribusjoner." En vesentlig forskjell mellom Netplan er at konfigurasjonen er skrevet på språket YAML, ja, du hørte rett YAML, utviklerne bestemte seg for å følge med i tiden (og uansett hvor mye de roser det, synes jeg fortsatt det er et forferdelig språk). Den største ulempen med dette språket er at det er veldig følsomt for mellomrom, la oss se på konfigurasjonen ved å bruke et eksempel.

Konfigurasjonsfilene er plassert langs banen /etc/netplan/filename.yaml, mellom hver blokk skal det være +2 mellomrom.

1) Standardoverskriften ser slik ut:

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

La oss se på hva vi har gjort nå:

  • nettverk: - dette er starten på konfigurasjonsblokken.
  • renderer: networkd - her angir vi nettverksadministratoren vi skal bruke, dette er enten networkd eller NetworkManager
  • versjon: 2 - her, slik jeg forstår det, er YAML-versjonen.
  • ethernets: - denne blokken indikerer at vi vil konfigurere ethernet-protokollen.
  • enps0f0: — angi hvilket nettverkskort vi skal konfigurere.
  • dhcp4:nei - deaktiver DHCP v4, for henholdsvis 6 v6 dhcp6

2) La oss prøve å tildele IP-adresser:

    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

Her setter vi poppy, ipv4, gateway og dns server. Merk at hvis vi trenger mer enn én IP-adresse, så skriver vi dem atskilt med kommaer med et obligatorisk mellomrom etter.

3) Hva om vi trenger liming?

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

  • obligasjoner: - en blokk som forklarer at vi vil konfigurere bonding.
  • bond0: - vilkårlig grensesnittnavn.
  • grensesnitt: - et sett med grensesnitt samlet i en binding, "som nevnt tidligere, hvis det er flere parametere, beskriver vi dem i hakeparenteser."
  • parametere: — beskriv parameterinnstillingsblokken
  • modus: — spesifiser modusen som bonding skal fungere med.
  • mii-monitor-intervall: — sett overvåkingsintervallet til 1 sekund.

Inne i blokken som heter bond, kan du også konfigurere parametere som adresser, gateway4, ruter osv.

Vi har lagt til redundans for nettverket vårt, nå gjenstår det bare å installere wham og oppsettet kan anses som komplett.

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: — erklære vlan-konfigurasjonsblokken.
  • vlan10: - vilkårlig navn på vlan-grensesnittet.
  • id: - tag for vlanen vår.
  • lenke: - grensesnitt som vlan vil være tilgjengelig gjennom.
  • ruter: — erklær en rutebeskrivelsesblokk.
  • — for å: — angi adressen/subnettet som ruten er nødvendig til.
  • via: — spesifiser gatewayen som vårt subnett skal være tilgjengelig gjennom.
  • on-link: — vi indikerer at ruter alltid skal registreres når linken er hevet.

Vær oppmerksom på hvordan jeg plasserer mellomrom; dette er veldig viktig i YAML.

Så vi beskrev nettverksgrensesnittene, skapte bindinger og la til og med vlans. La oss bruke vår config, netplan application-kommandoen vil sjekke vår config for feil og bruke den hvis den lykkes. Deretter vil config bli hevet av seg selv når systemet startes på nytt.

Etter å ha samlet alle de tidligere kodeblokkene, er dette hva vi fikk:

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]
    

Nå er nettverket vårt klart for drift, alt viste seg å ikke være så skummelt som det så ut til å begynne med, og koden viste seg å være veldig vakker og lesbar. PC takk for netplan det er en utmerket manual på linken https://netplan.io/.

Kilde: www.habr.com

Legg til en kommentar