Hálózati kapcsolatok kezelése Linux alatt az nmcli konzol segédprogrammal

Használja ki a NetworkManager hálózatkezelő eszköz előnyeit a Linux parancssorában az nmcli segédprogrammal.

Hálózati kapcsolatok kezelése Linux alatt az nmcli konzol segédprogrammal

Hasznosság nmcli közvetlenül hívja az API-t a NetworkManager funkciók eléréséhez.

2010-ben jelent meg, és sokak számára a hálózati interfészek és kapcsolatok konfigurálásának alternatív módja lett. Bár néhányan még mindig használják ifconfig. Mivel az nmcli egy parancssori felület (CLI) eszköz, amelyet terminálablakokban és szkriptekben való használatra terveztek, ideális a grafikus felhasználói felület nélkül dolgozó rendszergazdák számára.

ncmli parancs szintaxisa

Általában a szintaxis így néz ki:

$ nmcli <options> <section> <action>

  • az opciók olyan paraméterek, amelyek meghatározzák az nmcli működésének finomságait,
  • szakasz (szakasz) - meghatározza, hogy a segédprogram mely jellemzőit kell használni,
  • művelet – lehetővé teszi annak meghatározását, hogy valójában mit kell tenni.

Összesen 8 szakasz van, amelyek mindegyike egy bizonyos parancskészlethez (művelethez) van társítva:

  • Segítség segítséget nyújt az ncmcli parancsokról és azok használatáról.
  • általános visszaadja a NetworkManager állapotát és a globális konfigurációt.
  • hálózatépítés parancsokat tartalmaz a hálózati kapcsolat állapotának lekérdezésére és a kapcsolatok engedélyezésére/letiltására.
  • rádió parancsokat tartalmaz a WiFi hálózati kapcsolat állapotának lekérdezésére és a kapcsolatok engedélyezésére/letiltására.
  • monitor parancsokat tartalmaz a NetworkManager tevékenység megfigyelésére és a hálózati kapcsolatok állapotában bekövetkezett változások megfigyelésére.
  • csatlakozás parancsokat tartalmaz a hálózati interfészek kezeléséhez, új kapcsolatok hozzáadásához és a meglévők törléséhez.
  • eszköz főként az eszközökkel kapcsolatos paraméterek (például interfész neve) megváltoztatására vagy eszközök csatlakoztatására egy meglévő kapcsolat segítségével.
  • Titkos az nmcli-t NetworkManager "titkos ügynökként" regisztrálja, amely figyeli a titkos üzeneteket. Ezt a részt ritkán használják, mert az nmcli alapértelmezés szerint így működik a hálózatokhoz való csatlakozáskor.

Egyszerű példák

Mielőtt elkezdené, győződjön meg arról, hogy a NetworkManager fut, és az nmcli képes kommunikálni vele:

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

A munka gyakran az összes hálózati kapcsolati profil megtekintésével kezdődik:

$ 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

Ez a parancs használja hatás mutasd meg a Kapcsolat részhez.

A tesztgépen az Ubuntu 20.04 fut. Ebben az esetben három vezetékes kapcsolatot találtunk: enp0s3, enp0s8 és enp0s9.

Kapcsolatok kezelése

Fontos megérteni, hogy az nmcli-ben a Connection kifejezés alatt egy olyan entitást értünk, amely a kapcsolatra vonatkozó összes információt tartalmazza. Más szóval, ez a hálózati konfiguráció. A kapcsolat magában foglalja az összes kapcsolattal kapcsolatos információt, beleértve a kapcsolati réteget és az IP-címzési információkat is. Ezek a Layer 2 és Layer 3 az OSI hálózati modellben.

Ha hálózatot állít be Linux alatt, akkor általában olyan kapcsolatokat hoz létre, amelyek végül hálózati eszközökhöz kötődnek, amelyek viszont a számítógépre telepített hálózati interfészek. Amikor egy eszköz kapcsolatot használ, akkor az aktívnak vagy emeltnek számít. Ha egy kapcsolat nincs használatban, akkor inaktív vagy alaphelyzetbe áll.

Hálózati kapcsolatok hozzáadása

Az ncmli segédprogram lehetővé teszi a kapcsolatok gyors hozzáadását és azonnali konfigurálását. Például a 2. vezetékes kapcsolat hozzáadásához (enp0s8-cal) a következő parancsot kell futtatnia szuperfelhasználóként:

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

A type opcióban jelezzük, hogy Ethernet kapcsolat lesz, az ifname (interfésznév) opcióban pedig azt a hálózati interfészt, amelyet használni szeretnénk.

Ez fog történni a parancs futtatása után:

$ 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  --  

Új kapcsolat jött létre, az ethernet-enp0s8. UUID-t rendeltek hozzá, és a kapcsolat típusa Ethernet volt. Emeljük fel az up paranccsal:

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

Nézzük újra az aktív kapcsolatok listáját:

$ 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

Új ethernet-enp0s8 kapcsolat került hozzáadásra, aktív és az enp0s8 hálózati interfészt használja.

Kapcsolatok beállítása

Az ncmli segédprogram lehetővé teszi a meglévő kapcsolatok paramétereinek egyszerű megváltoztatását. Például meg kell változtatnia dinamikus (DHCP) IP-címét statikus IP-címre.

Tegyük fel, hogy az IP-címet 192.168.4.26-ra kell állítanunk. Ehhez két parancsot használunk. Az első közvetlenül beállítja az IP-címet, a második pedig átváltja az IP-cím beállítási módszerét manuálisra:

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

Ne felejtse el beállítani az alhálózati maszkot is. Tesztkapcsolatunknál ez a 255.255.255.0, vagy a /24 az osztály nélküli útválasztáshoz (CIDR).

A változtatások életbe léptetéséhez deaktiválnia, majd újra aktiválnia kell a kapcsolatot:

$ 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

Ha éppen ellenkezőleg, telepítenie kell a DHCP-t, használja az automatikus beállítást a kézi helyett:

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto

Eszközökkel való munka

Ehhez az Eszköz részt használjuk.

Az eszköz állapotának ellenőrzése

$ 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  --  

Készülékinformációk kérése

Ehhez használja a megjelenítési műveletet az Eszköz szakaszban (meg kell adnia az eszköz nevét). A segédprogram sok információt jelenít meg, gyakran több oldalon.
Nézzük meg az új kapcsolatunk által használt enp0s8 felületet. Győződjön meg arról, hogy pontosan azt az IP-címet használja, amelyet korábban beállítottunk:

$ 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

Elég sok információ van. Kiemeljük a legfontosabbat:

  • Hálózati interfész neve: enp0s8.
  • Kapcsolat típus: vezetékes Ethernet kapcsolat.
  • Látjuk az eszköz MAC-címét.
  • Maximális átviteli egység (MTU) van megadva — egy csomagból álló hasznos adatblokk maximális mérete, amelyet a protokoll töredezettség nélkül továbbíthat.
  • eszköz jelenleg csatlakozik.
  • Kapcsolat nevemelyik eszközt használja: ethernet-enp0s8.
  • A készülék a IP-cím, amelyet korábban telepítettünk: 192.168.4.26/24.

Egyéb információk az alapértelmezett útválasztási és kapcsolati átjáró paraméterekre vonatkoznak. Ezek az adott hálózattól függenek.

Interaktív nmcli szerkesztő

Az nmcli egy egyszerű interaktív szerkesztővel is rendelkezik, amellyel kényelmesebb lehet dolgozni. Ha például ethernet-enp0s8 kapcsolaton szeretné futtatni, használja a hatás edit:

$ nmcli connection edit ethernet-enp0s8

Van hozzá egy kis súgó is, ami azonban méretben kisebb, mint a konzolos verzió:

===| 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>

Ha beírja a print parancsot, és megnyomja az Enter billentyűt, az nmcli megjeleníti az összes kapcsolati tulajdonságot:

===============================================================================
                 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:                 --

Például a kapcsolat DHCP-re állításához írja be a goto ipv4 parancsot, és kattintson a gombra belép:

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>

Ezután írja be a set method auto, és kattintson belép:

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

Ha törölni szeretné a statikus IP-címet, kattintson a gombra belép. Ellenkező esetben írja be, hogy nem, és nyomja meg az Enter billentyűt. Elmentheti, ha úgy gondolja, hogy szüksége lesz rá a jövőben. De még mentett statikus IP-cím esetén is DHCP-t használ a rendszer, ha a módszer automatikusra van állítva.

A módosítások mentéséhez használja a mentés parancsot:

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

Az nmcli interaktív szerkesztőből való kilépéshez írja be a quit parancsot. Ha meggondolja magát a távozás mellett, használja a vissza parancsot.

És ez még nem minden

Nyissa meg az nmcli interaktív szerkesztőt, és nézze meg, hány beállítás van, és hány tulajdonsággal rendelkezik az egyes beállítások. Az interaktív szerkesztő nagyszerű eszköz, de ha az nmcli-t egysoros vagy szkriptekben szeretné használni, akkor a szokásos parancssori verzióra lesz szüksége.

Most, hogy megvannak az alapok, nézd meg man oldal nmcli-t, hogy megtudja, hogyan segíthet még.

A Reklám Jogairól

Epic szerverek - Van virtuális szerverek Windows rendszeren vagy Linux erőteljes AMD EPYC család processzorokkal és nagyon gyors Intel NVMe meghajtókkal. Siess rendelni!

Hálózati kapcsolatok kezelése Linux alatt az nmcli konzol segédprogrammal

Forrás: will.com

Hozzászólás