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

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster