Haldab võrguühendusi Linuxis käsurea utiliidi nmcli abil

Kasutage NetworkManageri võrguhalduse tööriista täielikku potentsiaali Linuxi käsureal nmcli utiliidi abil.

Haldab võrguühendusi Linuxis käsurea utiliidi nmcli abil

Utiliit nmcli pöördub otse API poole NetworkManageri funktsioonide jaoks.

See ilmus 2010. aastal ja paljudele on see alternatiivne meetod võrguliideste ja ühenduste seadistamiseks. Kuigi mõned inimesed kasutavad siiani ifconfig. Kuna nmcli on käsurea (CLI) tööriist, mis on mõeldud kasutamiseks terminaliakendes ja skriptides, sobib see ideaalselt süsteemiadministraatoritele, kes töötavad ilma GUI-ta.

nmcli käsusüntaks

Üldiselt näeb süntaks välja järgmiselt:

$ nmcli  

  • options on parametrite kogum, mis määratlevad nmcli töö detailid,
  • section (jaotis) määratleb, milliseid tööriista funktsioone kasutada,
  • action (tegevus) võimaldab näidata, mida täpselt teha tuleb.

Kokku on 8 jaotist, igaühel neist on seosed teatud käsu (tegevuse) komplektidega:

  • Aitab andmed nmcli käskudest ja nende kasutamisest.
  • Üldine tagastab NetworkManageri oleku ja globaalset konfiguratsiooni.
  • Võrgundus aktiviseerib käsud, mis pärivad võrguühenduse olekut ja lülitavad ühendusi sisse / välja.
  • Raadio aktiviseerib käsud, mis pärivad WiFi võrguühenduse olekut ja lülitavad ühendusi sisse / välja.
  • Monitor aktiviseerib käsud, mis jälgivad NetworkManageri tegevust ja muudatusi võrguühenduste olekus.
  • Ühendus aktiviseerib käsud, mis haldavad võrguliideseid, lisavad uusi ühendusi ja kustutavad olemasolevaid.
  • Seade kasutatakse peamiselt seadmete (nt liidese nime) seotud parameetrite muutmiseks või seadmete ühendamiseks olemasoleva ühenduse kaudu.
  • Secret registreerib nmcli NetworkManageri "salajase agendina", mis kuulab salajasi sõnumeid. Seda jaotist kasutatakse harva, kuna nmcli töötab vaikimisi ühendamisel ühenduste seadistamisel just niimoodi.

Lihtsad näidisloendused

Enne töö alustamist veenduge, et NetworkManager on käivitatud ja nmcli saab selle kaudu suhelda:

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

Tihti alustatakse kõigi võrguühenduste profiilide vaatamisest:

$ 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

See käsk kasutab toimingut show sektsiooni Connection jaoks.

Testmasinas töötab Ubuntu 20.04. Antud juhul leidsime kolm juhtmeühendust: enp0s3, enp0s8 ja enp0s9.

Ühenduste haldamine

Oluline on mõista, et nmcli all mõtleme terminile Connection sellist objekti, mis sisaldab kogu teavet ühenduse kohta. Teisisõnu, see on võrgu konfiguratsioon. Connection kapseldab kogu teabe, mis on seotud ühendustega, sealhulgas kanalitaseme ja IP-aadressimise teabe. See on OSI võrgu mudeli 2. ja 3. tase.

Kui seadistate võrku Linuxis, seadistate tavaliselt ühendusi, mis lõpuks seondatakse seadme võrguliideste, mis seejärel on arvutisse installitud võrguliidesed. Kui seade kasutab ühendust, loetakse see aktiivseks või tõstetud. Kui ühendust ei kasutata, siis see ei ole aktiivne või on nullitud.

Võrguhüvitiste lisamine

Tööriist ncmli võimaldab kiiresti lisada ja kohe seadistada ühendusi. Näiteks, et lisada Wired connection 2 (enp0s8), peate superkasutaja õigustes käivitama järgmise käsu:

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

Valikute puhul type määratleme, et tegemist on Ethernet-ühendusega, ja valikute ifname (interface name) kaudu määrame võrgu liidese, mida soovime kasutada.

Nii näeb see välja pärast käsku töötlemist:

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

Uus ühendus, ethernet-enp0s8, on loodud. Talle on määratud UUID, ühenduse tüüp - Ethernet. Tõstame selle käsklusega up:

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

Kontrollime veel kord aktiivsete ühenduste loendit:

$ 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

Lisatud uus ethernet-seos enp0s8, see on aktiivne ja kasutab võrgu liidest enp0s8.

Ühenduste seadistamine

NCMli utiliit võimaldab lihtsalt muuta juba olemasolevate ühenduste parameetreid. Näiteks peate võib-olla muutma dünaamilise (DHCP) IP-aadressi staatiliseks.

Oletame, et peame seadistama IP-aadressiks 192.168.4.26. Selleks kasutame kahte käsku. Esimene seadistab otse IP-aadressi ja teine muudab IP-aadressi seadistamise meetodi väärtuseks „käsitsi“ (manual):

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

Ärge unustage ka alamvõrgu maski määrata. Meie testühenduse jaoks on see 255.255.255.0, või /24 klassivabaks suunamiseks (CIDR).

Muutuste jõustamiseks on vajalik ühendus deaktiveerida ja seejärel uuesti aktiveerida:

$ nmcli connection down ethernet-enp0s8
Ühendus 'ethernet-enp0s8' deaktiveeriti edukalt (D-Bus aktiivne tee: /org/freedesktop/NetworkManager/ActiveConnection/4)
$ nmcli connection up ethernet-enp0s8
Ühendus aktiveeriti edukalt (D-Bus aktiivne tee: /org/freedesktop/NetworkManager/ActiveC

Kui peate vastupidi seadistama DHCP, kasutage auto: sõna manual asemel:

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto

Seadmete haldamine

Selleks kasutame seadme osa.

Seadmete staatuse kontrollimine

$ nmcli device status
SEADE  Tüüp      Oleku      Ühendus        
enp0s3  ethernet  ühendatud  Juhtmega ühendus 1
enp0s8  ethernet  ühendatud  ethernet-enp0s8    
enp0s9  ethernet  ühendatud  Juhtmega ühendus 3
lo      loopback  haldamata  --  

Teabe küsimine seadme kohta

Selleks kasutame seadme osa show toimingut (seadmest peab olema tingimata nimetus). Utiliit näitab piisavalt palju teavet, sageli mitmel lehel.
Vaadakem liidest enp0s8, mis kasutab meie uut ühendust. Veendume, et see kasutab täpselt seda IP-aadressi, mille me eelnevalt määrasime:

$ nmcli device show enp0s8
GENERAL.DEVICE:                         enp0s8
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         08:00:27:81:16:20
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (ühendatud)
GENERAL.CONNECTION:                     ethernet-enp0s8
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/6
WIRED-PROPERTIES.CARRIER:               sisse
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, tabel=255

Teavet on piisavalt palju. Tõstame esile peamised punktid:

  • Võrgu liidese nimi: enp0s8.
  • Ühendustüüp: juhtmega Ethernet-ühendus.
  • Me näeme seadme MAC-aadressi.
  • Käes on Maximum transmission unit (MTU) — maksimaalne andmeploki suurus, mis saab edastada protokolli kaudu ilma fragmenteerimiseta.
  • Seade hetkel ühendatud.
  • Ühenduse nimi, mida seade kasutab: ethernet-enp0s8.
  • Seade kasutab seda IP-aadress, mille me eelnevalt määrasime: 192.168.4.26/24.

Teine teave puudutab ühenduse vaikemarsruutimis- ja värava parameetreid. Need sõltuvad konkreetsest võrgust.

Interaktiivne redaktor nmcli

Nmcli-l on ka lihtne interaktiivne redaktor, kus kellegil võib olla mugavam töötada. Selle käivitamiseks, näiteks Ethernet-ühenduseks ethernet-enp0s8, kasutage toimingut edit:

$ nmcli connection edit ethernet-enp0s8

Seal on ka väike abi, mis küll jääb alla konsooliversioonile:

===| nmcli interaktiivne ühenduse redaktor |===
Redigeerimine olemasoleva '802-3-ethernet' ühenduse: 'ethernet-enp0s8'
Tippige 'help' või '?' saadaval olevate käskude jaoks.
Tippige 'print', et näha kõiki ühenduse omadusi.
Tippige 'describe [<setting>.<prop>]' detailse omaduse kirjelduse jaoks.
Saate redigeerida järgmisi seadeid: ühendus, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, tc, proxy
nmcli>

Kui tippite käsu print ja vajutate Enter, kuvab nmcli kõik ühenduse omadused:

===============================================================================
                 Ühenduse profiili üksikasjad (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:                 jah
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (vaikimisi)
connection.multi-connect:               0 (vaikimisi)
connection.auth-retries:                -1
connection.timestamp:                   1593967212
connection.read-only:                   ei
connection.permissions:                 --
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (vaikimisi)
connection.secondaries:                 --

Näiteks, et määrata ühendusele DHCP omadus, tippige goto ipv4 ja vajutage Enter:

nmcli> goto ipv4
Saate redigeerida järgmisi omadusi: meetod, dns, dns-otsing, 
dns-valikud, dns-prioriteet, aadressid, värav, marsruudid, marsruudi-metric, 
marsruudi-tabel, marsruudimisreeglid, 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>

Seejärel tippige set method auto ja vajutage Enter:

nmcli ipv4> set method auto
Kas soovite ka eemaldada 'ipv4.addresses'? [jah]:

Kui soovite eemaldada staatilise IP-aadressi, vajutage Enter. Kui ei, siis sisestage no ja vajutage Enter. Saate selle salvestada, kui arvate, et see on tulevikus vajalik. Kuid isegi salvestatud staatilise IP-aadressiga kasutatakse DHCP-d, kui meetod on seadistatud auto väärtuseks.

Kasutage käsku save, et salvestada muudatused:

nmcli ipv4> save
Ühendus 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) on edukalt uuendatud.
nmcli ipv4>

Sisestage quit, et lahkuda nmcli interaktiivsest redigeerijast. Kui te muudate meelt lahkumise osas, kasutage käsku back.

Ja see pole veel kõik

Avage nmcli interaktiivne redigeerija ja vaadake, kui palju seadeid on ja kui palju omadusi igal seadistusel on. Interaktiivne redigeerija on suurepärane tööriist, kuid kui soovite kasutada nmcli ühetähtedena või skriptides, vajate tavalist käsurea versiooni.

Nüüd, kui teil on alused, tutvuge abi lehega nmcli, et näha, kuidas see veel aidata võiks.

Reklaami õigustes

Eepilised serverid — see on Windowsi virtuaalserverid või Linux, kus on võimsad AMD EPYC protsessorid ja väga kiired Intel NVMe kettad. Kiirustage tellima!

Haldab võrguühendusi Linuxis käsurea utiliidi nmcli abil

Allikas: habr.com

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster