Netplan και πώς να το προετοιμάσετε σωστά

Το Ubuntu είναι ένα καταπληκτικό λειτουργικό σύστημα, δεν έχω δουλέψει με διακομιστή Ubuntu για μεγάλο χρονικό διάστημα και δεν υπήρχε λόγος να αναβαθμίσω την επιφάνεια εργασίας μου από τη σταθερή έκδοση. Και πριν από λίγο καιρό έπρεπε να ασχοληθώ με την τελευταία έκδοση του διακομιστή Ubuntu 18.04, η έκπληξή μου δεν είχε όρια όταν συνειδητοποίησα ότι ήμουν απείρως πίσω από την εποχή και δεν μπορούσα να δημιουργήσω ένα δίκτυο επειδή το παλιό καλό σύστημα για τη ρύθμιση διεπαφών δικτύου από Η επεξεργασία του αρχείου /etc/network /interfaces έχει καταρρεύσει. Και τι ήρθε να το αντικαταστήσει; κάτι τρομερό και με την πρώτη ματιά εντελώς ακατανόητο, γνωρίστε το «Netplan».

Για να είμαι ειλικρινής, στην αρχή δεν μπορούσα να καταλάβω τι ήταν το θέμα και "γιατί χρειάζεται αυτό, γιατί όλα ήταν τόσο βολικά", αλλά μετά από λίγη εξάσκηση κατάλαβα ότι έχει τη δική του γοητεία. Και αρκετά από τους στίχους, Ας συνεχίσουμε με το τι είναι το Netplan, αυτό είναι ένα νέο βοηθητικό πρόγραμμα για τις ρυθμίσεις δικτύου στο Ubuntu, τουλάχιστον "Δεν έχω δει κάτι τέτοιο σε άλλες διανομές." Μια σημαντική διαφορά μεταξύ του Netplan είναι ότι η διαμόρφωση είναι γραμμένη στη γλώσσα ΓΙΑΜΛ, ναι, σωστά ακούσατε YAML, οι προγραμματιστές αποφάσισαν να συμβαδίσουν με την εποχή (και όσο κι αν το επαινούν, εξακολουθώ να πιστεύω ότι είναι μια τρομερή γλώσσα). Το κύριο μειονέκτημα αυτής της γλώσσας είναι ότι είναι πολύ ευαίσθητη στα κενά, ας δούμε τη διαμόρφωση χρησιμοποιώντας ένα παράδειγμα.

Τα αρχεία διαμόρφωσης βρίσκονται κατά μήκος της διαδρομής /etc/netplan/filename.yaml, μεταξύ κάθε μπλοκ θα πρέπει να υπάρχουν + 2 κενά.

1) Η τυπική κεφαλίδα μοιάζει με αυτό:

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

Ας δούμε τι κάναμε τώρα:

  • δίκτυο: - αυτή είναι η αρχή του μπλοκ διαμόρφωσης.
  • renderer: networkd - εδώ υποδεικνύουμε τον διαχειριστή δικτύου που θα χρησιμοποιήσουμε, αυτός είναι είτε δικτυωμένος είτε NetworkManager
  • έκδοση: 2 - εδώ, όπως καταλαβαίνω, είναι η έκδοση YAML.
  • ethernets: - αυτό το μπλοκ υποδεικνύει ότι θα διαμορφώσουμε το πρωτόκολλο ethernet.
  • enps0f0: — υποδεικνύουμε ποιον προσαρμογέα δικτύου θα διαμορφώσουμε.
  • dhcp4:no - απενεργοποιήστε το DHCP v4, για 6 v6 dhcp6 αντίστοιχα

2) Ας προσπαθήσουμε να εκχωρήσουμε διευθύνσεις 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

Εδώ ορίζουμε τον διακομιστή poppy, ipv4, gateway και dns. Σημειώστε ότι αν χρειαζόμαστε περισσότερες από μία διευθύνσεις IP, τότε τις γράφουμε διαχωρισμένες με κόμμα με υποχρεωτικό διάστημα μετά.

3) Τι γίνεται αν χρειαστούμε συγκόλληση?

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

  • bonds: - ένα μπλοκ που εξηγεί ότι θα διαμορφώσουμε τη σύνδεση.
  • bond0: - αυθαίρετο όνομα διεπαφής.
  • διεπαφές: - ένα σύνολο διεπαφών που συλλέγονται σε ένα bond-ding, «όπως αναφέρθηκε προηγουμένως, εάν υπάρχουν πολλές παράμετροι, τις περιγράφουμε σε αγκύλες».
  • παράμετροι: — περιγράψτε το μπλοκ ρυθμίσεων παραμέτρων
  • mode: — καθορίστε τον τρόπο με τον οποίο θα λειτουργήσει η συγκόλληση.
  • mii-monitor-interval: — ρυθμίστε το διάστημα παρακολούθησης σε 1 δευτερόλεπτο.

Μέσα στο μπλοκ με το όνομα bond, μπορείτε επίσης να διαμορφώσετε παραμέτρους όπως διευθύνσεις, πύλη4, διαδρομές κ.λπ.

Προσθέσαμε πλεονασμό για το δίκτυό μας, τώρα το μόνο που μένει είναι η εγκατάσταση vlan και η ρύθμιση μπορεί να θεωρηθεί ολοκληρωμένη.

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: — δηλώστε το μπλοκ διαμόρφωσης vlan.
  • vlan10: — αυθαίρετο όνομα της διεπαφής vlan.
  • id: — ετικέτα του vlan μας.
  • σύνδεσμος: — διεπαφή μέσω της οποίας θα είναι προσβάσιμο το vlan.
  • διαδρομές: — δηλώστε ένα μπλοκ περιγραφής διαδρομής.
  • — σε: — ορίστε τη διεύθυνση/υποδίκτυο στο οποίο απαιτείται η διαδρομή.
  • μέσω: — καθορίστε την πύλη μέσω της οποίας θα είναι προσβάσιμο το υποδίκτυό μας.
  • on-link: — υποδεικνύουμε ότι οι διαδρομές πρέπει πάντα να καταχωρούνται όταν ο σύνδεσμος ανυψώνεται.

Δώστε προσοχή στο πώς τοποθετώ τους χώρους· αυτό είναι πολύ σημαντικό στο YAML.

Έτσι περιγράψαμε τις διεπαφές δικτύου, δημιουργήσαμε bonding και προσθέσαμε ακόμη και vlans. Ας εφαρμόσουμε τις ρυθμίσεις μας, η εντολή εφαρμογής netplan θα ελέγξει τις ρυθμίσεις μας για σφάλματα και θα την εφαρμόσει εάν είναι επιτυχής. Στη συνέχεια, η ρύθμιση παραμέτρων θα αυξηθεί μόνη της κατά την επανεκκίνηση του συστήματος.

Έχοντας συλλέξει όλα τα προηγούμενα μπλοκ κώδικα, έχουμε αυτό:

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]
    

Τώρα το δίκτυό μας είναι έτοιμο για λειτουργία, όλα αποδείχτηκαν όχι τόσο τρομακτικά όσο φαινόταν στην αρχή και ο κώδικας αποδείχθηκε πολύ όμορφος και ευανάγνωστος. Υπολογιστής ευχαριστώ για το netplan υπάρχει ένα εξαιρετικό εγχειρίδιο στον σύνδεσμο https://netplan.io/.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο