Διαχείριση συνδέσεων δικτύου σε Linux χρησιμοποιώντας το βοηθητικό πρόγραμμα κονσόλας nmcli

Χρησιμοποιήστε όλες τις δυνατότητες του εργαλείου διαχείρισης συνδέσεων δικτύου γραμμής εντολών NetworkManager Linux χρησιμοποιώντας το βοηθητικό πρόγραμμα nmcli.

Διαχείριση συνδέσεων δικτύου σε Linux χρησιμοποιώντας το βοηθητικό πρόγραμμα κονσόλας nmcli

Χρησιμότητα nmcli καλεί απευθείας το API για πρόσβαση στις συναρτήσεις του NetworkManager.

Εμφανίστηκε το 2010 και για πολλούς ανθρώπους έχει γίνει ένας εναλλακτικός τρόπος για τη διαμόρφωση διεπαφών δικτύου και συνδέσεων. Αν και κάποιοι το χρησιμοποιούν ακόμα ifconfig. Δεδομένου ότι το nmcli είναι ένα εργαλείο διεπαφής γραμμής εντολών (CLI) σχεδιασμένο για χρήση σε παράθυρα τερματικών και σενάρια, είναι ιδανικό για διαχειριστές συστημάτων που εργάζονται χωρίς γραφικό περιβάλλον χρήστη.

σύνταξη εντολής ncmli

Γενικά, η σύνταξη μοιάζει με αυτό:

$ nmcli <options> <section> <action>

  • επιλογές — αυτές είναι οι παράμετροι που καθορίζουν τις λεπτότητες της λειτουργίας του nmcli,
  • ενότητα (ενότητα) - καθορίζει ποιες λειτουργίες βοηθητικού προγράμματος θα χρησιμοποιηθούν,
  • δράση (δράση) - σας επιτρέπει να καθορίσετε τι πραγματικά πρέπει να γίνει.

Υπάρχουν συνολικά 8 ενότητες, καθεμία από τις οποίες σχετίζεται με ένα συγκεκριμένο σύνολο εντολών (ενεργειών):

  • Βοήθεια Παρέχει βοήθεια σχετικά με τις εντολές ncmcli και τη χρήση τους.
  • Γενικός Επιστρέφει την κατάσταση του NetworkManager και την καθολική διαμόρφωση.
  • Δικτύωση Περιλαμβάνει εντολές για την αναζήτηση της κατάστασης της σύνδεσης δικτύου και την ενεργοποίηση/απενεργοποίηση συνδέσεων.
  • Ραδιόφωνο Περιλαμβάνει εντολές για την αναζήτηση της κατάστασης σύνδεσης δικτύου WiFi και την ενεργοποίηση/απενεργοποίηση συνδέσεων.
  • Παρακολούθηση Περιλαμβάνει εντολές για την παρακολούθηση της δραστηριότητας του NetworkManager και την παρατήρηση αλλαγών στην κατάσταση των συνδέσεων δικτύου.
  • σύνδεση Περιλαμβάνει εντολές για τη διαχείριση διεπαφών δικτύου, την προσθήκη νέων συνδέσεων και την αφαίρεση υπαρχουσών.
  • Συσκευή Χρησιμοποιείται κυρίως για την αλλαγή παραμέτρων που σχετίζονται με συσκευές (όπως το όνομα διεπαφής) ή για τη σύνδεση συσκευών χρησιμοποιώντας μια υπάρχουσα σύνδεση.
  • Μυστικό Καταχωρεί το nmcli ως "μυστικό πράκτορα" του NetworkManager που ακούει για μυστικά μηνύματα. Αυτή η ενότητα χρησιμοποιείται σπάνια επειδή το nmcli λειτουργεί με αυτόν τον τρόπο από προεπιλογή κατά τη σύνδεση σε δίκτυα.

Απλά παραδείγματα

Πριν ξεκινήσετε, βεβαιωθείτε ότι το NetworkManager εκτελείται και ότι το nmcli μπορεί να επικοινωνήσει με αυτό:

$ nmcli general
STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN    
connected  full          enabled  enabled  enabled  enabled

Συχνά, η εργασία ξεκινά με την προβολή όλων των προφίλ σύνδεσης δικτύου:

$ nmcli connection show
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ac3241e4-b424-35d6-aaa7-07498561688d  ethernet  enp0s3
Wired connection 2  2279d917-fa02-390c-8603-3083ec5a1d3e  ethernet  enp0s8
Wired connection 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9

Αυτή η εντολή χρησιμοποιεί δράση εμφάνιση για την ενότητα Σύνδεση.

Γυρίζει στη μηχανή δοκιμών Ubuntu 04/20 Σε αυτήν την περίπτωση, βρήκαμε τρεις ενσύρματες συνδέσεις: enp0s3, enp0s8 και enp0s9.

Διαχείριση συνδέσεων

Είναι σημαντικό να κατανοήσουμε ότι στο nmcli, με τον όρο Σύνδεση εννοούμε μια οντότητα που περιέχει όλες τις πληροφορίες σχετικά με τη σύνδεση. Με άλλα λόγια, είναι μια διαμόρφωση δικτύου. Η λέξη σύνδεση ενσωματώνει όλες τις πληροφορίες που σχετίζονται με τη σύνδεση, συμπεριλαμβανομένων των πληροφοριών για το επίπεδο σύνδεσης και την διευθυνσιοδότηση IP. Αυτά είναι το επίπεδο 2 και το επίπεδο 3 στο μοντέλο δικτύου OSI.

Όταν ρυθμίζετε ένα δίκτυο σε Linux, συνήθως ρυθμίζετε συνδέσεις που τελικά θα συνδέονται με συσκευές δικτύου, οι οποίες με τη σειρά τους είναι διεπαφές δικτύου που είναι εγκατεστημένες στον υπολογιστή. Όταν μια συσκευή χρησιμοποιεί μια σύνδεση, θεωρείται ενεργή ή ενεργή. Εάν μια σύνδεση δεν χρησιμοποιείται, είναι ανενεργή ή διακόπτεται.

Προσθήκη συνδέσεων δικτύου

Το βοηθητικό πρόγραμμα ncmli σάς επιτρέπει να προσθέτετε γρήγορα και να ρυθμίζετε άμεσα συνδέσεις. Για παράδειγμα, για να προσθέσετε την Ενσύρματη σύνδεση 2 (με enp0s8), πρέπει να εκτελέσετε την ακόλουθη εντολή ως υπερχρήστης:

$ sudo nmcli connection add type ethernet ifname enp0s8
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully added.

Στην επιλογή type καθορίζουμε ότι αυτή θα είναι μια σύνδεση Ethernet και στην επιλογή ifname (όνομα διεπαφής) καθορίζουμε τη διεπαφή δικτύου που θέλουμε να χρησιμοποιήσουμε.

Αυτό θα συμβεί μετά την εκτέλεση της εντολής:

$ nmcli connection show
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ac3241e4-b424-35d6-aaa7-07498561688d  ethernet  enp0s3
Wired connection 2  2279d917-fa02-390c-8603-3083ec5a1d3e  ethernet  enp0s8
Wired connection 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9
ethernet-enp0s8     09d26960-25a0-440f-8b20-c684d7adc2f5  ethernet  --  

Δημιουργήθηκε μια νέα σύνδεση, ethernet-enp0s8. Του αντιστοιχίστηκε ένα UUID και ο τύπος σύνδεσης ήταν Ethernet. Ας το ανεβάσουμε χρησιμοποιώντας την εντολή up:

$ nmcli connection up ethernet-enp0s8
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)

Ας ελέγξουμε ξανά τη λίστα με τις ενεργές συνδέσεις:

$ nmcli connection show --active
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ac3241e4-b424-35d6-aaa7-07498561688d  ethernet  enp0s3
ethernet-enp0s8     09d26960-25a0-440f-8b20-c684d7adc2f5  ethernet  enp0s8
Wired connection 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9

Έχει προστεθεί μια νέα σύνδεση ethernet-enp0s8, η οποία είναι ενεργή και χρησιμοποιεί τη διεπαφή δικτύου enp0s8.

Ρύθμιση συνδέσεων

Το βοηθητικό πρόγραμμα ncmli σάς επιτρέπει να αλλάζετε εύκολα τις παραμέτρους των υπαρχουσών συνδέσεων. Για παράδειγμα, πρέπει να αλλάξετε μια δυναμική (DHCP) διεύθυνση IP σε μια στατική διεύθυνση IP.

Ας υποθέσουμε ότι πρέπει να ορίσουμε τη διεύθυνση IP σε 192.168.4.26. Για αυτό χρησιμοποιούμε δύο εντολές. Το πρώτο θα ορίσει απευθείας τη διεύθυνση IP και το δεύτερο θα αλλάξει τη μέθοδο ρύθμισης της διεύθυνσης IP σε χειροκίνητη:

$ nmcli connection modify ethernet-enp0s8 ipv4.address 192.168.4.26/24
$ nmcli connection modify ethernet-enp0s8 ipv4.method manual

Μην ξεχάσετε να ορίσετε και τη μάσκα υποδικτύου. Για τη δοκιμαστική μας σύνδεση, αυτή είναι η τιμή 255.255.255.0 ή /24 για δρομολόγηση χωρίς κλάσεις (CIDR).

Για να τεθούν σε ισχύ οι αλλαγές, πρέπει να απενεργοποιήσετε και στη συνέχεια να ενεργοποιήσετε ξανά τη σύνδεση:

$ nmcli connection down ethernet-enp0s8
Connection 'ethernet-enp0s8' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
$ nmcli connection up ethernet-enp0s8
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveC

Αν χρειάζεται να ρυθμίσετε το DHCP αντίθετα, χρησιμοποιήστε την αυτόματη ρύθμιση αντί για χειροκίνητη:

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto

Εργασία με συσκευές

Για αυτό χρησιμοποιούμε την ενότητα Συσκευή.

Έλεγχος της κατάστασης των συσκευών

$ nmcli device status
DEVICE  TYPE      STATE      CONNECTION        
enp0s3  ethernet  connected  Wired connection 1
enp0s8  ethernet  connected  ethernet-enp0s8    
enp0s9  ethernet  connected  Wired connection 3
lo      loopback  unmanaged  --  

Αίτημα πληροφοριών σχετικά με τη συσκευή

Για να το κάνετε αυτό, χρησιμοποιήστε την ενέργεια εμφάνισης από την ενότητα Συσκευή (πρέπει να καθορίσετε το όνομα της συσκευής). Το βοηθητικό πρόγραμμα εμφανίζει αρκετές πληροφορίες, συχνά σε πολλές σελίδες.
Ας δούμε τη διεπαφή enp0s8 που χρησιμοποιεί η νέα μας σύνδεση. Ας βεβαιωθούμε ότι χρησιμοποιεί ακριβώς τη διεύθυνση IP που ορίσαμε νωρίτερα:

$ nmcli device show enp0s8
GENERAL.DEVICE:                         enp0s8
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         08:00:27:81:16:20
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     ethernet-enp0s8
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/6
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.4.26/24
IP4.GATEWAY:                            --
IP4.ROUTE[1]:                           dst = 192.168.4.0/24, nh = 0.0.0.0, mt = 103
IP6.ADDRESS[1]:                         fe80::6d70:90de:cb83:4491/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 103
IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255

Υπάρχουν αρκετές πληροφορίες. Ας επισημάνουμε τα κύρια σημεία:

  • Όνομα διεπαφής δικτύου: enp0s8.
  • Τύπος σύνδεσης: ενσύρματη σύνδεση Ethernet.
  • Βλέπουμε τη διεύθυνση MAC της συσκευής.
  • Καθορίζεται η μέγιστη μονάδα μετάδοσης (MTU) — το μέγιστο μέγεθος ενός χρήσιμου μπλοκ δεδομένων ενός πακέτου που μπορεί να μεταδοθεί από το πρωτόκολλο χωρίς κατακερματισμό.
  • Συσκευή συνδεδεμένο αυτήν τη στιγμή.
  • Όνομα σύνδεσης, το οποίο χρησιμοποιεί τη συσκευή: ethernet-enp0s8.
  • Η συσκευή χρησιμοποιεί αυτό Διεύθυνση IP, την οποία ορίσαμε νωρίτερα: 192.168.4.26/24.

Άλλες πληροφορίες σχετίζονται με τις προεπιλεγμένες παραμέτρους δρομολόγησης και πύλης της σύνδεσης. Εξαρτώνται από το συγκεκριμένο δίκτυο.

Διαδραστικός επεξεργαστής nmcli

Το nmcli διαθέτει επίσης έναν απλό διαδραστικό επεξεργαστή με τον οποίο κάποιοι μπορεί να βρουν πιο άνετους στην εργασία. Για να το εκτελέσετε, για παράδειγμα, για τη σύνδεση ethernet-enp0s8, χρησιμοποιήστε δράση επεξεργασία:

$ nmcli connection edit ethernet-enp0s8

Έχει επίσης ένα μικρό αρχείο βοήθειας, το οποίο, ωστόσο, είναι μικρότερο σε μέγεθος από την έκδοση για κονσόλα:

===| nmcli interactive connection editor |===
Editing existing '802-3-ethernet' connection: 'ethernet-enp0s8'
Type 'help' or '?' for available commands.
Type 'print' to show all the connection properties.
Type 'describe [<setting>.<prop>]' for detailed property description.
You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, tc, proxy
nmcli>

Αν πληκτρολογήσετε print και πατήσετε Enter, το nmcli θα εμφανίσει όλες τις ιδιότητες σύνδεσης:

===============================================================================
                 Connection profile details (ethernet-enp0s8)
===============================================================================
connection.id:                          ethernet-enp0s8
connection.uuid:                        09d26960-25a0-440f-8b20-c684d7adc2f5
connection.stable-id:                   --
connection.type:                        802-3-ethernet
connection.interface-name:              enp0s8
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.multi-connect:               0 (default)
connection.auth-retries:                -1
connection.timestamp:                   1593967212
connection.read-only:                   no
connection.permissions:                 --
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (default)
connection.secondaries:                 --

Για παράδειγμα, για να ορίσετε την ιδιότητα σύνδεσης σε DHCP, πληκτρολογήστε goto ipv4 και πατήστε εισάγετε:

nmcli> goto ipv4
You may edit the following properties: method, dns, dns-search, 
dns-options, dns-priority, addresses, gateway, routes, route-metric, 
route-table, routing-rules, ignore-auto-routes, ignore-auto-dns, 
dhcp-client-id, dhcp-iaid, dhcp-timeout, dhcp-send-hostname, 
dhcp-hostname, dhcp-fqdn, dhcp-hostname-flags, never-default, may-fail, 
dad-timeout
nmcli ipv4>

Στη συνέχεια, γράψτε την αυτόματη μέθοδο set method και πατήστε εισάγετε:

nmcli ipv4> set method auto
Do you also want to clear 'ipv4.addresses'? [yes]:

Αν θέλετε να διαγράψετε τη στατική διεύθυνση IP, κάντε κλικ στο εισάγετε. Διαφορετικά, πληκτρολογήστε όχι και πατήστε Enter. Μπορείτε να το αποθηκεύσετε αν πιστεύετε ότι θα το χρειαστείτε στο μέλλον. Αλλά ακόμα και με αποθηκευμένη μια στατική διεύθυνση IP, το DHCP θα χρησιμοποιηθεί εάν η μέθοδος έχει οριστεί σε αυτόματη.

Χρησιμοποιήστε την εντολή αποθήκευσης για να αποθηκεύσετε τις αλλαγές σας:

nmcli ipv4> save
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully updated.
nmcli ipv4>

Πληκτρολογήστε quit για να κλείσετε τον Διαδραστικό Επεξεργαστή nmcli. Αν αλλάξετε γνώμη σχετικά με την έξοδο, χρησιμοποιήστε την εντολή back.

Και αυτό δεν είναι όλο

Ανοίξτε τον Διαδραστικό Επεξεργαστή nmcli και δείτε πόσες ρυθμίσεις υπάρχουν και πόσες ιδιότητες έχει κάθε ρύθμιση. Ο διαδραστικός επεξεργαστής είναι ένα εξαιρετικό εργαλείο, αλλά αν θέλετε να χρησιμοποιήσετε το nmcli σε μονοδιάστατες γραμμές ή σενάρια, θα χρειαστείτε την κανονική έκδοση γραμμής εντολών.

Τώρα που έχετε τα βασικά, ρίξτε μια ματιά σελίδα βοήθειας nmcli για να δείτε πώς αλλιώς μπορεί να σας βοηθήσει.

Σχετικά με τα Δικαιώματα Διαφήμισης

Επικοί διακομιστές - Είναι εικονικοί διακομιστές σε Windows ή Linux Με ισχυρούς επεξεργαστές AMD EPYC και εξαιρετικά γρήγορες μονάδες δίσκου Intel NVMe. Παραγγείλτε τώρα!

Διαχείριση συνδέσεων δικτύου σε Linux χρησιμοποιώντας το βοηθητικό πρόγραμμα κονσόλας nmcli

Πηγή: www.habr.com

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