Haldate võrguliigendeid Linuxis konsoli utiliidi nmcli abil.

Kasutage NetworkManageri võrguhalduse tööriista kõiki võimalusi Linuxi käsurealt järgmise utiliidi nmcli abil.

Haldate võrguliigendeid Linuxis konsoli utiliidi nmcli abil.

Tööriist nmcli jõuab otse API-le, et saada juurdepääs NetworkManageri funktsioonidele.

See ilmus 2010. aastal ja paljude jaoks on see saanud alternatiivseks viisiks võrguliideste ja ühenduste seadistamiseks. Kuigi mõned inimesed kasutavad endiselt ifconfig. Kuna nmcli on käsurea (CLI) tööriist, mis on mõeldud kasutamiseks terminali akendes ja skriptides, sobib see ideaalselt süsteemiadministraatoreile, kes töötavad ilma GUI-ta.

ncmli käskude süntaks

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

$ nmcli  

  • options — need on parameetrid, mis määratlevad nmcli toimimise nüansid,
  • section (sektsioon) — määratleb, milliseid tööriista võimalusi kasutada,
  • action (toiming) — võimaldab täpsustada, mida täpselt teha.

Kokku on 8 sektsiooni, millest igaüks on seotud mingi käskude (toimingute) kogumiga:

  • Abi annab teavet ncmcli käskudest ja nende kasutamisest.
  • General tagastab NetworkManageri staatuse ja globaalsete seadistuste.
  • Võrgustik kaas sisaldab käske võrguühenduse oleku pärimiseks ning ühenduste sisse- / väljalülitamiseks.
  • Raadio kaas sisaldab käske WiFi võrguühenduse oleku pärimiseks ning ühenduste sisse- / väljalülitamiseks.
  • Monitor kaas sisaldab käske NetworkManageri aktiivsuse jälgimiseks ja võrguühenduste oleku muutuste jälgimiseks.
  • Ühendus kaas sisaldab käske võrgu liideste haldamiseks, uute ühenduste lisamiseks ja olemasolevate eemaldamiseks.
  • Seade kasutatakse peamiselt seadmetega seotud parameetrite (nt liidese nimi) muutmiseks või seadmete ühendamiseks olemasoleva ühenduse kaudu.
  • Saladus registreerib nmcli NetworkManageri "salajase agendina", mis kuulab salajasi sõnumeid. Seda sektsiooni kasutatakse harva, kuna nmcli töötab vaikimisi nii, kui ühendatakse võrkudega.

Lihtsad näited

Enne alustamist veenduge, et NetworkManager on käivitatud ja nmcli suudab sellega suhelda:

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

Tavaliselt alustatakse 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 tegevust show kommando Connection sektsioonis.

Katsesüsteemiks on Ubuntu 20.04. Antud juhul leidisime kolm juhet ühendust: enp0s3, enp0s8 ja enp0s9.

Ühenduste haldamine

Oluline on mõista, et nmcli kontekstis tähendab Connection me loodav olend, mis sisaldab kogu teavet ühenduse kohta. Teisisõnu, see on võrgu konfigureerimine. 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õrgu Linuxis, seadistate tavaliselt ühendused, mis lõpuks seotakse võrguseadmetega, mis omakorda on arvutisse installitud võrgu liidesed. Kui seade kasutab ühendust, loetakse see aktiivseks või üles tõstetud. Kui ühendust ei kasutata, on see passiivne või allasurutud.

Võrgu ühenduste lisamine

Ncmli tööriist võimaldab kiiresti lisada ja kohe seadistada ühendusi. Näiteks, et lisada Wired connection 2 (enp0s8) tuleb administraatori õigustes käivitada järgmine käsk:

$ sudo nmcli connection add type ethernet ifname enp0s8
Ühendus 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) on edukalt lisatud.

Type valikus määrame, et see on Ethernet-ühendus, ja ifname valikus (interface name) näitame, millist võrguinterfääsi soovime kasutada.

Nii näeb see välja pärast käsu käivitamist:

$ nmcli connection show
NIMI                UUID                                  Tüüp      Seade
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  --  

On loodud uus ühendus, ethernet-enp0s8. Sellele on määratud UUID ja ühenduse tüüp on Ethernet. Aktiveerime selle käsuga up:

$ nmcli connection up ethernet-enp0s8
Ühendus on edukalt aktiveeritud (D-Bus aktiivne tee: /org/freedesktop/NetworkManager/ActiveConnection/4)

Kontrollime veel kord aktiivsete ühenduste loetelu:

$ nmcli connection show --active
NIMI                UUID                                  Tüüp      Seade
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-ühendus ethernet-enp0s8, see on aktiivne ja kasutab võrguinterface'i enp0s8.

Ühenduste seadistamine

Tööriist nmcli võimaldab hõlpsalt muuta olemasolevate ühenduste parameetreid. Näiteks kui soovite muuta dünaamilise (DHCP) IP-aadressi staatiliseks.

Oletame, et soovime seada IP-aadressiks 192.168.4.26. Selleks kasutame kahte käsku. Esimene seob IP-aadressi, samas kui teine muudab IP-aadressi seadistamise meetodi väärtuseks "manuaalne" (manual):

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

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

Käivita muudatuste jõustumiseks ühendus uuesti välja ja tagasi:

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

Kui soovite vastupidi seadistada DHCP, kasutage manuali asemel auto:

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto

Seadmetega töötamine

Selleks kasutame sektsiooni Device.

Seadmise seadmete oleku kontrollimine

$ nmcli seade olek
SEADE  Tüüp     Olek       Ühendus        
enp0s3  ethernet  ühendatud  Juhtmega ühendus 1
enp0s8  ethernet  ühendatud  ethernet-enp0s8    
enp0s9  ethernet  ühendatud  Juhtmega ühendus 3
lo      loopback  haldamata  --  

Seadmest teabe küsimine

Selleks kasutame seadme sektsiooni show tegevust (seadme nimi peab olema kindlasti näidatud). Utiliit näitab palju teavet, sageli mitmel leheküljel.
Vaadake enp0s8 liidest, mis kasutab meie uut ühendust. Veendume, et see kasutab täpselt seda IP-aadressi, mille seadsime varem:

$ nmcli seade näita enp0s8
ÜLDINE.SEADE:                         enp0s8
ÜLDINE.TÜÜP:                           ethernet
ÜLDINE.HWADDR:                         08:00:27:81:16:20
ÜLDINE.MTU:                            1500
ÜLDINE.OLEK:                           100 (ühendatud)
ÜLDINE.ÜHENDUS:                       ethernet-enp0s8
ÜLDINE.CON-TEE:                       /org/freedesktop/NetworkManager/ActiveConnection/6
JUHTMEPROP-OMADUSED.KANDJA:           peal
IP4.AADDRESS[1]:                      192.168.4.26/24
IP4.VÄLJA:                            --
IP4.RENDI[1]:                          dst = 192.168.4.0/24, nh = 0.0.0.0, mt = 103
IP6.AADDRESS[1]:                      fe80::6d70:90de:cb83:4491/64
IP6.VÄLJA:                            --
IP6.RENDI[1]:                          dst = fe80::/64, nh = ::, mt = 103
IP6.RENDI[2]:                          dst = ff00::/8, nh = ::, mt = 256, tabel=255

Teavet on piisavalt. Tõstame esile põhiasjad:

  • Verkkoliitännän nimi: enp0s8.
  • Yhteyden tyyppi: langallinen Ethernet-yhteys.
  • Näemme laitteen MAC-osoitteen.
  • Maksimi siirtokoko (MTU) on määritetty — suurin mahdollinen datayksikön koko yhdelle paketille, joka voidaan siirtää protokollan kautta ilman fragmentointia.
  • Seade on tällä hetkellä yhdistetty.
  • Yhteyden nimi, jota laite käyttää: ethernet-enp0s8.
  • Laite käyttää sitä IP-aadress, jonka määritimme aikaisemmin: 192.168.4.26/24.

Muut tiedot liittyvät yhteyden oletusreitin ja yhdisteen asetuksiin. Ne riippuvat tietystä verkosta.

Interaktiivinen editori nmcli

Nmclissä on myös yksinkertainen interaktiivinen editori, jossa on mukavampi työskennellä. Käynnistääksesi sen, esimerkiksi yhdistämällä ethernet-enp0s8, käytä tegevust edit:

$ nmcli connection edit ethernet-enp0s8

Siinä on myös pieni ohje, joka on kuitenkin kooltaan kokemukselle alisteinen:

===| nmcli interaktiivinen yhteyseditori |===
Muokkaus olemassa olevalle '802-3-ethernet' -yhteydelle: 'ethernet-enp0s8'
Kirjoita 'help' tai '?' saatavilla olevista komennoista.
Kirjoita 'print' näyttääksesi kaikki yhteysominaisuudet.
Kirjoita 'describe [<asetukselle>.<ominaisuus>]' saadaksesi yksityiskohtaisen kuvauksen ominaisuudesta.
Voit muokata seuraavia asetuksia: yhteys, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, tc, proxy
nmcli>

Kui sisestate 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 DHCP omadus ühendusele, sisestage 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-metrika, marsruudi-tabel, marsruudi-reeglid, ignore-auto-marsruudid,
ignore-auto-dns, dhcp-klient-id, dhcp-iaid, dhcp-aeg, dhcp-saada-hostinimi,
dhcp-hostinimi, dhcp-fqdn, dhcp-hostinimi-lipud, kunagi-vaikte,
võib-ebaõnnestuda, dad-aeg
nmcli ipv4>

Seejärel kirjutage set method auto ja vajutage Enter:

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

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

Kasutage käsku save muudatuste salvestamiseks:

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

Sisestage quit, et nmcli interaktiivsest redigeerijast välja minna. Kui soovite siiski jääda — kasutage käsku back.

Ja see pole veel kõik

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

Nüüd, kui teil on alused, tutvuge abi lehega nmcli, et teada saada, millega veel see saaks teid aidata.

Reklaami õigustes

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

Haldate võrguliigendeid Linuxis konsoli utiliidi nmcli abil.

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster