GNU/Linux >> Linux Esercitazione >  >> Linux

Network Manager su Linux con esempi

Se sei un amministratore di sistema esperto e se ti concentri sulla gestione della rete, probabilmente hai già sentito parlare di Gestione rete .

Rilasciato nel 2004 e sviluppato da Red Hat, il Network Manager è un insieme di diversi strumenti, principalmente interfacce, progettati per facilitare la gestione della rete sul tuo sistema.

Se desideri attivare una scheda di rete, probabilmente utilizzerai Gestione rete per riuscirci.

Allo stesso modo, se desideri modificare una scheda di rete esistente per modificare l'indirizzo IP assegnato ad essa, utilizzerai nuovamente Network Manager.

In questo tutorial, descriveremo come utilizzare i vari strumenti della suite Network Manager per gestire facilmente le tue reti.

Dopo aver elencato gli strumenti incorporati nella suite (nmcli, nmtui, nm-applet ), esamineremo un elenco di casi d'uso pratici per gli amministratori di rete.

Architettura del gestore di rete

Prima di approfondire le capacità di Network Manager, descriviamo prima la sua architettura e come può comunicare con i moduli relativi al kernel.

API Network Manager

Il primo concetto da comprendere è che Network Manager si pone come un'API per configurare le interfacce di rete sul tuo host.

Tuttavia, Network Manager non funziona da solo:fa parte di un processo di ricezione di un messaggio di rete su un endpoint chiamato socket di rete.

Una presa di rete è rappresentata fisicamente da una scheda di rete Ethernet collegata a un cavo Ethernet per iniziare a condividere i dati su una rete.

Quando un cavo Ethernet è collegato, viene prima riconosciuto dal modulo udev che invierà un segnale al Network Manager per notificare che è stato inserito un nuovo cavo.

In questo modo, Network Manager è in grado di mantenere le connessioni ma è anche in grado di esporre la disponibilità della rete ad altre applicazioni.

Se stai usando Firefox, e se Firefox ha bisogno di conoscere lo stato di una connessione di rete, può interrogare Network Manager tramite DBus per ottenere queste informazioni.

Network Manager è davvero un'API di rete che offrirà dettagli sulle schede di rete, sulle reti cablate o wireless disponibili.

Fornirà inoltre un modo semplice per configurare le schede di rete e le interfacce con file di configurazione dedicati.

Gestione rete vs ifupdown

Storicamente, i sistemi operativi Linux utilizzano per gestire le interfacce di rete in modo diverso, principalmente utilizzando i file di configurazione che si trovano in /etc/network.

In questa directory è possibile utilizzare un file per configurare le interfacce di rete:il file delle interfacce.

Tuttavia, nelle distribuzioni recenti, il file "interfaces" utilizzato dalle utility ifup e ifdown non viene utilizzato.

Per impostazione predefinita, Gestione rete è quello che gestisce le interfacce di rete ma la modalità di gestione della rete può essere modificata nel file di configurazione di Network Manager.

Precisamente, il parametro "managed" nella sezione "ifupdown" del file NetworkManager.conf descrive se Network Manager è utilizzato o meno sul tuo sistema.

Nota :"false" significa che Network Manager gestisce le tue connessioni e i tuoi dispositivi, "true" significa che preferisci farlo alla vecchia maniera usando ifup e ifdown.

Informazioni su systemd-networkd

Sui sistemi più recenti, systemd è impostato per gestire praticamente tutto e la rete non fa eccezione alla regola.

In alcuni casi, il tuo sistema potrebbe fare affidamento sul demone systemd-network per gestire le interfacce.

Tieni presente che, per evitare conflitti di configurazione relativi alle reti, è necessario abilitare un solo servizio di rete alla volta :ifupdown, systemd-networkd o Network Manager.

Se sei abituato a gestire le tue reti utilizzando il file "interfacce", potresti voler continuare a farlo, altrimenti ti consigliamo di passare a Network Manager.

Strumenti di gestione della rete

Ora che hai una maggiore comprensione di Network Manager, iniziamo a enumerare gli strumenti forniti in questa suite.

Il gestore di rete fornisce i seguenti strumenti:

  • nmcli :lo strumento a riga di comando dedicato utilizzato per configurare, aggiungere, modificare e rimuovere le connessioni utilizzando Network Manager;
  • Ntui :un'interfaccia utente grafica che fornisce solo un sottoinsieme di funzionalità compatibili con nmcli. Usando nmtui, puoi modificare una connessione, attivare una connessione o cambiare il nome host del tuo computer;
  • nm-applet :disponibile negli ambienti desktop GNOME, questa applet viene utilizzata come overlay di interfaccia che può essere utilizzata per connettersi o disconnettersi dalle reti.

Nota che alcune distribuzioni potrebbero avere "scorciatoie" di Network Manager per gli strumenti sopra descritti:nmtui-connect, nmtui-edit o nmtui-hostname.

La maggior parte delle volte, queste utilità sono in realtà semplici collegamenti soft all'utilità principale di nmtui.

Nelle sezioni seguenti, vedremo come puoi utilizzare i diversi strumenti sopra citati per configurare correttamente le tue reti.

Configurazione di rete utilizzando nmcli

Come descritto nella sezione precedente, nmcli è un'utilità della riga di comando che può essere utilizzata per monitorare la connettività di rete , ma anche per aggiungere, modificare, eliminare connessioni oltre ad avere informazioni dettagliate sui dispositivi del tuo sistema.

Puoi interagire con nmcli usando la seguente sintassi

$ nmcli <options> <section> <action>

Il nmcli ha un insieme di otto sezioni:

  • aiuto :utilizzato per ottenere un aiuto generale sull'utilizzo di nmcli;
  • generale :utilizzato per ottenere lo stato e la configurazione globale del Network Manager stesso;
  • rete :espone i metodi per spegnere il Gestore di rete o per riattivarlo;
  • radio :utilizzato per gestire protocolli di trasmissione wireless come il WIFI o la WAN;
  • connessione :come indica il nome, questa sezione viene utilizzata per portare le interfacce su e giù e per aggiungere ed eliminare connessioni esistenti;
  • dispositivo :utilizzato principalmente per modificare parametri associati a un determinato dispositivo (ad esempio il nome dell'interfaccia) o per connettere un dispositivo utilizzando una connessione esistente;
  • agente e monitor :queste sezioni vengono utilizzate rispettivamente per gestire i segreti e per guardare i cambiamenti della rete.

Ogni sezione descritta ha una serie di azioni predefinite che possono essere trovate leggendo la documentazione di nmcli (mostra, aggiungi, elimina, modifica, carica e così via)

Ad esempio, se dovessi elencare tutte le connessioni attualmente attive, eseguiresti "nmcli" con la sezione "connessione" e l'azione "mostra".

$ nmcli connection show

In questo caso, il mio host ha una connessione Ethernet cablata su una scheda di rete denominata "eth0".

Nelle sezioni seguenti vedremo come interagire con le schede di rete e le connessioni per configurare correttamente il tuo sistema.

Gestione della connessione

Quando si utilizza Network Manager, una connessione può essere vista come una "configurazione di rete “.

Di conseguenza, una "connessione" ha tutte le informazioni relative ai livelli 2 (livello di collegamento dati) e ai livelli 3 (probabilmente relativi all'indirizzamento IP).

Quando una connessione viene utilizzata da un dispositivo, in particolare una scheda di rete sul tuo host, è impostato su "attivo" o su "attivo".

D'altra parte, una connessione può essere "inattiva" e ora utilizzata da qualsiasi interfaccia di rete:in questo caso è impostata su "inattiva" o "inattiva"

Il primo punto chiave qui è che ogni volta che configuriamo la rete su un host Linux, stiamo essenzialmente configurando le connessioni, che saranno collegate ai dispositivi in ​​seguito.

Elenco delle connessioni di rete

Per elencare le connessioni di rete disponibili sul tuo host, puoi eseguire l'azione "mostra" della sezione "connessione".

$ nmcli connection show

Facoltativamente, puoi fornire il flag "–active" per limitare il risultato alle connessioni attive (cioè utilizzate dalle schede di rete)

nmcli connection show --active

Aggiunta di connessioni di rete

In alcuni casi, potrebbe essere utile avere più connessioni configurate.

Supponi di lavorare in due luoghi diversi:uno che utilizza DHCP per assegnare il tuo indirizzo IP (indirizzamento IP dinamico) e uno che assegna un IP statico al tuo computer.

Per raggiungere questo obiettivo, puoi creare connessioni di rete aggiuntive che possono essere attivate a seconda della tua posizione.

Per aggiungere nuove connessioni di rete utilizzando Network Manager, puoi:

  • Aggiungi il tuo file di configurazione alle connessioni di sistema directory che si trova in /etc/NetworkManager;
  • Aggiungi la "connessione nmcli comando ” con l'opzione “aggiungi”;
  • Utilizza l'editor di connessione nm utility che fornisce una GUI per aggiungere, modificare ed eliminare le connessioni esistenti.

Usando la riga di comando nmcli, puoi creare una nuova connessione eseguendo il comando seguente

$ sudo nmcli connection add type ethernet ifname eth2

Usando nmcli, una nuova connessione UUID verrà assegnata alla tua connessione appena creata e potrai iniziare a usarla per connetterti a Internet, ad esempio.

Modifica parametri di connessione

Una grande caratteristica dell'utilità nmcli è quella di modificare i parametri delle tue connessioni esistenti .

Se desideri modificare il tuo indirizzo IP e passare da DHCP all'indirizzamento IP manuale, utilizzerai anche l'utilità nmcli per modificare quei parametri.

Per modificare i parametri di connessione esistenti , useresti la seguente sintassi

$ nmcli connection modify <connection_id> <parameter> <value>

Ad esempio, supponiamo che tu voglia che il tuo indirizzo IP sia statico e impostato sul valore "192.168.1.19"

Per ottenerlo, esegui il seguente comando

$ nmcli connection modify <uuid> ipv4.method manual

$ nmcli connection modify <uuid> ipv4.address 192.168.1.19/24

Nota :quando si cambia l'indirizzo IP, non dimenticare di impostare la subnet mask (qui /24), altrimenti potresti ricevere una maschera predefinita assegnata che nella maggior parte dei casi sarà errata.

Affinché le modifiche siano efficaci, è necessario riavviare la connessione utilizzando le azioni "su" e "giù" della sezione "connessione".

$ nmcli connection down <uuid>

$ nmcli connection up <uuid>

Ora che le tue interfacce sono state riavviate, la tua modifica IP dovrebbe essere effettiva.

$ hostname -I

192.168.1.19

Gestione del dispositivo

"Dispositivo ” è una delle sezioni dell'utilità nmcli e può essere utilizzata per gestire le schede di rete sul tuo host.

Elenco delle schede di rete

Per avere un elenco della scheda di rete sul tuo host, puoi eseguire l'azione "mostra" nella sezione "dispositivo".

$ nmcli device show

Questo comando descrive ampiamente la tua scheda di rete, elenca:

  • Il nome del dispositivo :assegnato da udev quando il dispositivo è stato collegato al tuo computer (eth0 in questo caso);
  • Il tuo indirizzo MAC del dispositivo , qui indicato come indirizzo hardware;
  • Lo stato del dispositivo :se è connesso o meno alla rete;
  • L'indirizzo IPv4 utilizzando una notazione CIDR (192.168.1.16/24)
  • L' IPv4 del gateway della tua sottorete (192.168.1.1);
  • L'IPv4 del tuo DNS principale (192.168.1.1)

Nota :qui il gateway funge da DNS principale ma potresti avere dei name server dedicati nella tua azienda.

Queste caratteristiche sono molto utili se vuoi elencare le schede di rete disponibili sul tuo host e determinare se sono connesse o meno.

Modifica della configurazione del dispositivo

In alcuni casi, potrebbe essere utile modificare direttamente la configurazione del dispositivo.

Tuttavia, c'è un punto cruciale che devi ricordare:puoi cambiare il tuo dispositivo in tempo reale, ma se vuoi che le modifiche vengano mantenute, devi invece modificare la configurazione della tua connessione.

In breve, le modifiche alla configurazione del dispositivo sono temporanee.

Per modificare la configurazione del tuo dispositivo, devi eseguire il comando "nmcli device" con l'opzione "modify" e specificare il parametro da modificare.

$ nmcli device modify <interface_name> <parameter> <value>

$ nmcli dev mod <interface_name> <parameter> <value>

Ad esempio, supponiamo che tu voglia modificare l'indirizzo IP della tua interfaccia di rete "eth0". Vuoi anche che l'attribuzione IP sia statica anziché dinamica.

Per ottenere ciò, eseguiresti il ​​seguente comando

$ nmcli device modify eth0 ipv4.method manual

Connection successfully reapplied to 'eth0'

$ nmcli dev mod eth0 ipv4.address 192.168.1.19/24

Connection successfully reapplied to 'eth0'

Riapplicazione dei parametri

Solo per mostrare che i cambiamenti sono temporanei , se dovessi "riapplicare" i parametri alla tua interfaccia, tutte le modifiche andrebbero perse.

Verrebbero invece riapplicati i parametri definiti nel file di configurazione della connessione (in /etc/NetworkManager/system-connections).

$ nmcli dev reapply eth0

Connection successfully reapplied to 'eth0'

Ricontrollare l'indirizzo IP ti darebbe un altro indirizzo IP rispetto a quello che hai assegnato staticamente nella sezione precedente.

$ hostname -I

192.168.1.18/24

Strumenti grafici di Network Manager

In questa sezione daremo un'occhiata agli strumenti grafici inclusi nella suite Network Manager:nmtui e nm-applet.

Utilità Nmtui

Nmtui è, come descrive il nome, un'interfaccia utente testuale creata per facilitare le operazioni di rete con un'interfaccia utente facile da usare.

Per iniziare con nmtui, esegui semplicemente "nmtui" in una shell di terminale.

$ nmtui

In questo menu grafico, hai tre opzioni:

  • Modifica una connessione :dove è possibile selezionare le interfacce di rete e modificare i parametri ad esse assegnati (come il DNS, l'indirizzo IP o l'indirizzo del gateway);
  • Attiva una connessione :ma disattiva anche le connessioni esistenti. Ricordiamo che le connessioni sono attive o abilitate solo ogni volta che vengono assegnate a un dispositivo specifico;
  • Imposta il nome host del sistema :come "hostnamectl" o "hostname", puoi impostare il nome del PC su una rete.

La navigazione nello strumento nmtui è piuttosto semplice:puoi usare i tasti della tastiera per navigare, il tasto "Invio" per confermare la tua selezione e il tasto "Esc" per annullare e tornare alla schermata precedente.

Applet Nm su GNOME

L'ultima applicazione relativa al Network Manager è nm-applet :un'applet GUI disponibile per le interfacce utente di GNOME.

Lo strumento nm-applet è un'interfaccia utente sovrapposta disponibile nell'angolo in alto a destra del menu del desktop.

Utilizzando l'applet nm, puoi:vedere le connessioni esistenti, aggiungerle, modificarle e rimuoverle a piacimento.

Puoi vedere informazioni dettagliate sulle impostazioni delle tue connessioni cablate e modificarle per cambiare il tuo indirizzo IP o cambiare il metodo di attribuzione IP (da DHCP a manuale per esempio)

Conclusione

In questo tutorial hai imparato a conoscere il Gestione di rete :uno strumento sulle moderne distribuzioni che viene utilizzato per creare, modificare e gestire le connessioni di rete.

Hai scoperto gli strumenti associati al Network Manager (vale a dire nmcli, nmtui e nm-applet ) e hai imparato come utilizzare questi strumenti per modificare le tue connessioni esistenti.

Se sei interessato al networking o all'amministrazione del sistema Linux, abbiamo una sezione completa dedicata ad esso sul sito Web, quindi assicurati di dare un'occhiata!


Linux
  1. Comando wc Linux con esempi

  2. Comando di ordinamento Linux con esempi

  3. Comando Tee Linux con esempi

  4. Comando testa di Linux con esempi

  5. Comando JQ in Linux con esempi

Comando CD Linux con esempi

Comando Linux watch con esempi

Attendi comando in Linux con esempi

Comando di esportazione Linux con esempi

Riavvia il comando in Linux con esempi

Comando IP Linux con esempi