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- etherVaš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 enp0s9Vaše nové připojení,
ethernet-enp0s8
, je nyní aktivní a svázaný senp0s8
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 namanual
: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ístomanual
:$ 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 zedevice
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=255Odpověď 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ředvolbaZměň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
. Zadejteset 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, pokudmethod
je nastaveno naauto
, 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šteback
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.
Studentský linuxový klub renovuje počítače pro podporu dálkového studia Ladění Linuxu pomocí ProcDumpLinux