GNU/Linux >> Znalost Linux >  >> Linux

Spravujte síťová připojení z příkazového řádku Linuxu pomocí nmcli

Příkaz nmcli vám umožňuje využít sílu nástroje NetworkManager přímo z příkazového řádku Linuxu. Je nedílnou součástí balíčku NetworkManager, který využívá rozhraní aplikačního programátora (API) pro přístup k funkcím NetworkManageru.

nmcli byl vydán v roce 2010 a nahrazuje jiné režimy konfigurace síťových rozhraní a připojení, jako je ifconfig. Protože se jedná o nástroj rozhraní příkazového řádku (CLI) navržený pro použití v terminálových oknech a skriptech, je ideální pro systémové administrátory pracující na systémech bez grafického uživatelského rozhraní (GUI).

syntaxe ncmli

Příkaz nmcli přijímá volby které upravují chování nmcli, sekce které říkají nmcli, které z jeho schopností chcete použít, a akce které mu řeknou, co chcete, aby udělal:

$ nmcli <options> <section> <action> 

Více o sysadmins

  • Povolit blog Sysadmin
  • Automatizovaný podnik:průvodce řízením IT pomocí automatizace
  • eKniha:Ansible Automation for SysAdmins
  • Příběhy z terénu:Průvodce správcem systému pro automatizaci IT
  • eKniha:Průvodce Kubernetes pro SRE a správce systému
  • Nejnovější články správce systému

Existuje osm sekcí, z nichž každá souvisí s konkrétní sadou síťových akcí:

  • Nápověda poskytuje nápovědu k příkazům a použití ncmcli.
  • Obecné načte stav a globální konfiguraci NetworkManageru.
  • Vytváření sítí poskytuje příkazy pro dotaz na stav síťového připojení a povolení nebo zakázání připojení.
  • Rádio poskytuje příkazy pro dotazování stavu připojení k síti WiFi a povolení nebo zakázání připojení.
  • Monitorovat poskytuje příkazy pro sledování aktivity NetworkManageru a sledování změn stavu síťových připojení.
  • Připojení poskytuje příkazy pro posun síťových rozhraní nahoru a dolů, pro přidání nových připojení a pro odstranění existujících připojení.
  • Zařízení se používá hlavně k úpravě parametrů spojených se zařízením (např. název rozhraní) nebo k připojení zařízení pomocí existujícího připojení.
  • Tajné registruje nmcli jako tajného agenta NetworkManager, který naslouchá tajným zprávám. To je vyžadováno velmi zřídka, protože nmcli to dělá automaticky při připojování k sítím.

Jednoduché příklady

Jako první kontrolu ověřte, že je NetworkManager spuštěn a nmcli s ním může komunikovat:

$ nmcli general
STATE      CONNEKTIVITA  WIFI-HW  WIFI     WWAN-HW  WWAN    
připojeno  úplné          povoleno  povoleno  povoleno  povoleno

Průzkum je často první částí správy systému. Seznam všech profilů síťového připojení v paměti a na disku:

 $ NMCLI Připojení Show 
Jméno Uuid typu Device
Kabelové připojení 1 AC3241E4-B424-35D6-AAA7-07498561688D Ethernet ENP0S3
Ducené připojení 2 2279d917-FA02-390C-8603-3083EC5A1D3E Ethernet enp0s8
Drátové připojení 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9

Tento příkaz používá show akci z connection sekce.

Testovací stroj použitý v tomto příkladu používá Ubuntu 20.04. Má nainstalované tři síťové adaptéry:enp0s3 , enp0s8 a enp0s9 .

Správa připojení

Je důležité porozumět nomenklatuře nmcli. Síťové připojení je něco, co obsahuje všechny informace o spojení. Můžete si to představit jako konfiguraci sítě . Připojení zahrnuje všechny informace související s připojením, včetně vrstvy datového spojení a informací o IP adrese. To je vrstva 2 a vrstva 3 v síťovém modelu OSI.

Když konfigurujete síť v Linuxu, obvykle konfigurujete připojení, která se nakonec navážou na síťová zařízení, což jsou síťová rozhraní nainstalovaná v počítači. Když zařízení používá připojení, považuje se připojení za aktivní nebo nahoru . Opakem aktivního je neaktivní nebo dolů .

Přidání síťových připojení

Příkaz ncmli umožňuje rychle vytvářet síťová připojení a zároveň specifikovat prvky jejich konfigurace. Chcete-li přidat nové připojení pomocí kabelového připojení 2, enp0s8 , musíte použít sudo :

$ sudo nmcli připojení přidat typ ethernet ifname enp0s8
Připojení 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) bylo úspěšně přidáno.

type volba vyžaduje ethernetové připojení a ifname (název rozhraní) určuje zařízení síťového rozhraní, které má připojení používat.

Zkontrolujte, co se stalo:

 $ NMCLI Připojení Show 
Jméno Uuid typu Device
Kabelové připojení 1 AC3241E4-B424-35D6-AAA7-07498561688D Ethernet ENP0S3
Ducené připojení 2 2279d917-FA02-390C-8603-3083EC5A1D3E Ethernet enp0s8
Kabelové připojení 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9
ethernet-enp0s8     09d26960-25a0-450c-netpre 25a0-450c- ether

Vaše nové připojení, ethernet-enp0s8 , byl vytvořen. Byl přidělen jeho univerzálně jedinečný identifikátor (UUID) a typ připojení je Ethernet. Aktivujte jej pomocí up příkaz následovaný názvem připojení (nebo UUID):

Připojení $ nmcli up ethernet-enp0s8
Připojení bylo úspěšně aktivováno (aktivní cesta D-Bus:/org/freedesktop/NetworkManager/ActiveConnection/4)

Zkontrolujte svá aktivní připojení ještě jednou:

 $ NMCLI Připojení Show --actionActive 
Jméno UUID typu Device
Ducené připojení 1 AC3241E4-B424-35D6-AAA7-07498561688D Ethernet ENP0S3
Ethernet-ENP0S8 09d26960-25A0-440F-8B20 -c684d7adc2f5  ethernet  enp0s8
Drátové připojení 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9

Vaše nové připojení, ethernet-enp0s8 , je nyní aktivní a svázaný s enp0s8 zařízení síťového rozhraní.

Úprava připojení

Příkaz ncmli usnadňuje úpravu parametrů existujících připojení. Možná budete chtít přepnout jedno síťové rozhraní z Dynamic Host Configuration Protocol (DHCP) na statickou IP adresu.

Předpokládejme, že potřebujete pevnou IP adresu 192.168.4.26 pro vaše nové připojení. Abyste toho dosáhli, musíte vydat dva příkazy. Jeden pro nastavení IP adresy a druhý pro nastavení způsobu připojení k získání IP adresy na manual :

Připojení $ nmcli upravit ethernet-enp0s8 ipv4.address 192.168.4.26/24
Připojení $ nmcli upravit ethernet-enp0s8 ipv4.manuál k metodě

Nezapomeňte zadat masku podsítě. V této testovací síti je to 255.255.255.0 nebo /24 v Classless Inter-Domain Routing (CIDR).

Aby se změny projevily, musíte odskočit připojení tak, že jej zastavíte a znovu přivedete. První příkaz ukončí připojení a druhý jej obnoví:

Připojení $ nmcli vypnuto ethernet-enp0s8
Připojení 'ethernet-enp0s8' úspěšně deaktivováno (aktivní cesta D-Bus:/org/freedesktop/NetworkManager/ActiveConnection/4)
Připojení $ nmcli up ethernet- enp0s8
Připojení bylo úspěšně aktivováno (aktivní cesta D-Bus:/org/freedesktop/NetworkManager/ActiveConnection/6)

Pokud chcete nastavit připojení pro použití DHCP, použijte auto místo manual :

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto 

Správa zařízení

Příkazy v device sekce příkazu nmcli vám umožní spravovat síťová rozhraní nainstalovaná na vašem počítači.

Kontrola stavu zařízení

Rychlá kontrola stavu všech síťových rozhraní:

$ stav zařízení nmcli
TYP ZAŘÍZENÍ      STATE      PŘIPOJENÍ        
enp0s3  ethernet  připojeno  Drátové připojení 1
enp0s8  ethernet  připojeno  ethernetové připojení p> W červené připojení p>  ethernet-enp0s8 9 zpětná smyčka  nespravovaná  -  

Zobrazení podrobností o zařízení

Chcete-li prozkoumat podrobnosti síťového rozhraní, použijte show akci ze device sekce. Pokud nezadáte název zařízení, budou načteny a zobrazeny podrobnosti o všech zařízeních. Můžete je posouvat a listovat nahoru a dolů, abyste si je mohli prohlédnout.

Podívejte se na enp0s8 , zařízení, které vaše nové připojení používá. Ověřte, že používaná adresa IP je adresa, kterou jste dříve požadovali:

 $ NMCLI Device Show ENP0S8 
General.Device:ENP0S8
General.Type:Ethernet
General.Hwaddr:08:00:27:81:16:20
Obecný .Mtu:1500
General.State:100 (připojeno)
General.Connection:Ethernet-ENP0S8
General.con-Cesta:/ Org / FoldesKTOP / NetworkManager / ActiveConnection / 6
Wired-Propertality.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
IP 6 WA - WA - 6   IP 6 - IP 6 - IP 6 /   .Route [1]:DST =FE80 ::/ 64, NH =::, Mt =103
IP6.Route [2]:DST =FF00 ::/ 8, NH =::, Mt =256, ta ble=255

Odpověď je poměrně podrobná. Mimo jiné ukazuje:

  • Název síťového rozhraní , což je v tomto případě enp0s8 , kterou mu přiřadí udev.
  • Typ připojení k síti , což je v tomto případě fyzické připojení Ethernet.
  • Adresa MAC (media access control) zařízení , který identifikuje zařízení v síti.
  • Maximální přenosová jednotka, což je velikost největší protokolové datové jednotky, kterou lze přenést v rámci jedné transakce. Cokoli většího než toto je rozděleno do několika paketů.
  • Toto zařízení je aktuálně připojeno .
  • Název připojení pomocí tohoto zařízení je ethernet-enp0s8 .
  • IP adresa připojení pomocí tohoto zařízení. Podle požadavku je nastavena na 192.168.4.26/24 .

Další informace se týkají výchozího nastavení směrování a brány, které bylo použito pro toto připojení, podle sítě, ke které je připojeno.

Interaktivní editor nmcli

Přestože se jedná o nástroj příkazového řádku, nmcli obsahuje základní interaktivní editor. edit akce otevře interaktivní editor na připojení, které určíte:

$ nmcli connection edit ethernet-enp0s8 

Zobrazí malé množství textu nápovědy a poté příkazový řádek nmcli:

===| Interaktivní editor připojení nmcli |===

Úprava stávajícího připojení '802-3-ethernet':'ethernet-enp0s8'

Zadejte 'help' nebo '?' pro dostupné příkazy.
Zadáním 'print' zobrazíte všechny vlastnosti připojení.
Zadáním 'describe [. ]' zobrazíte podrobný popis vlastnosti.

Vy může upravit následující nastavení:připojení, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, zápas, ipv4, ipv6, tc, proxy
nmcli>

Pokud zadáte print a stiskněte Enter , nmcli vypíše všechny vlastnosti spojené s připojením. Nemovitostí je mnoho. V seznamu můžete procházet nahoru a dolů:

=================================================================================
                 Podrobnosti profilu připojení (ethernet-enp0s8)
=================================================================================
connection.id:                         ethernet-enp0s8
connection.uuid:          0 6 0  5 2 440F-8B20-C684D7ADC2F5
Connection.Stable-ID:-
Connection.Type:802-3-Ethernet
Připojení.
connection.autoconnect-priority:       0
connection.autoconnect-retries:        -1 (výchozí)
connection.multi-connect:              0 (výchozí)
connection.auth-retries:-1
připojení.časové razítko:                  1593967212
připojení.pouze pro čtení:                  ne
připojení.zóna:    . - . - . - . - . - . - . - . - . - . - . - . r />connection.master:                     --
connection.slave-type:                 --
connection.autoconnect-slaves:         -1 (výchozí)     předvolba.     předvolba    

Změňte připojení zpět na DHCP. Zadejte goto ipv4 a stiskněte Enter :

nmcli> goto ipv4
Můžete upravit následující vlastnosti:method, dns, dns-search, dns-options, dns-priority, address, gateway, routes, route-metric, route-table, routing- pravidla, ignorovat-auto-routes, ignorovat-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>

Vlastnost, kterou chcete změnit, je method . Zadejte set method auto a stiskněte Enter :

nmcli ipv4> nastavit metodu auto
Chcete také vymazat 'ipv4.addresses'? [ano]:

Pokud chcete, aby připojení vymazalo statickou IP adresu, stiskněte Enter . Chcete-li jej zachovat, zadejte no a stiskněte Enter . Můžete si jej ponechat, pokud si myslíte, že byste jej mohli v budoucnu znovu použít. I s uloženou statickou IP adresou, pokud method je nastaveno na auto , bude používat DHCP.

Zadejte save pro uložení změn:

nmcli ipv4> uložit
Připojení 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) úspěšně aktualizováno.
nmcli ipv4>

Zadejte quit pro ukončení interaktivního editoru nmcli. Pokud nechcete skončit, napište back vrátit se na hlavní úroveň a pokračovat v používání editoru.

Nmcli toho nabízí mnohem víc

Procházejte interaktivní editor a zjistěte, kolik nastavení je k dispozici a kolik vlastností má každé nastavení. Interaktivní editor je úhledný nástroj, ale pro šikovné jednořádky nebo pro použití nmcli ve skriptech budete potřebovat běžnou verzi příkazového řádku.

Nyní, když máte základy v ruce, podívejte se na manuálovou stránku nmcli a zjistěte, co dalšího může nabídnout.


Linux
  1. Hlášení I/O z příkazového řádku Linuxu

  2. Používání Disku Google z příkazového řádku systému Linux

  3. Linux Základy příkazového řádku – Spouštění příkazů z příkazového řádku

  1. Nakonfigurujte pracovní prostor Linuxu vzdáleně z příkazového řádku

  2. Práce s datovými toky na příkazovém řádku Linuxu

  3. Jak nainstalovat software z příkazového řádku Linuxu

  1. Použití Stratisu ke správě linuxového úložiště z příkazového řádku

  2. Práce s rourami na příkazovém řádku Linuxu

  3. Pass – Spravujte svá hesla z příkazového řádku Linuxu