Umsjón með nettengingum í Linux með því að nota nmcli console tólið

Nýttu þér til fulls NetworkManager netstjórnunartólið á Linux skipanalínunni með því að nota nmcli tólið.

Umsjón með nettengingum í Linux með því að nota nmcli console tólið

Gagnsemi nmcli kallar beint á API til að fá aðgang að NetworkManager aðgerðum.

Það birtist árið 2010 og hefur fyrir marga orðið önnur leið til að stilla netviðmót og tengingar. Þó sumir noti enn ifconfig. Vegna þess að nmcli er stjórnlínuviðmót (CLI) tól sem er hannað til notkunar í flugstöðagluggum og forskriftum, er það tilvalið fyrir kerfisstjóra sem vinna án GUI.

ncmli skipunarsetningafræði

Almennt séð lítur setningafræðin svona út:

$ nmcli <options> <section> <action>

  • valkostir eru færibreytur sem ákvarða fínleika nmcli aðgerða,
  • hluti (kafli) - ákvarðar hvaða eiginleika tólsins á að nota,
  • aðgerð - gerir þér kleift að tilgreina hvað raunverulega þarf að gera.

Það eru alls 8 hlutar, sem hver um sig er tengdur ákveðnu mengi skipana (aðgerða):

  • Hjálp veitir hjálp um ncmcli skipanir og notkun þeirra.
  • almennt skilar NetworkManager stöðu og alþjóðlegri uppsetningu.
  • net inniheldur skipanir til að spyrjast fyrir um stöðu nettengingar og virkja/slökkva á tengingum.
  • útvarp inniheldur skipanir til að spyrjast fyrir um WiFi nettengingarstöðu og virkja/slökkva á tengingum.
  • Skjár inniheldur skipanir til að fylgjast með NetworkManager virkni og fylgjast með breytingum á ástandi nettenginga.
  • Tenging inniheldur skipanir til að stjórna netviðmótum, bæta við nýjum tengingum og eyða þeim sem fyrir eru.
  • Tæki aðallega notað til að breyta tækistengdum breytum (svo sem viðmótsheiti) eða til að tengja tæki með núverandi tengingu.
  • Secret skráir nmcli sem NetworkManager „leynilegan umboðsmann“ sem hlustar eftir leynilegum skilaboðum. Þessi hluti er sjaldan notaður, vegna þess að nmcli virkar sjálfgefið á þennan hátt þegar tengst er við netkerfi.

Einföld dæmi

Áður en þú byrjar skaltu ganga úr skugga um að NetworkManager sé í gangi og nmcli geti átt samskipti við það:

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

Vinnan hefst oft með því að skoða öll nettengingarsnið:

$ 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

Þessi skipun notar aðgerð sýna fyrir tengihlutann.

Prófunarvélin keyrir Ubuntu 20.04. Í þessu tilfelli fundum við þrjár tengingar með snúru: enp0s3, enp0s8 og enp0s9.

Stjórna tengingum

Það er mikilvægt að skilja að í nmcli, með hugtakinu Connection, er átt við einingu sem inniheldur allar upplýsingar um tenginguna. Með öðrum orðum, þetta er netuppsetningin. Tenging umlykur allar tengingartengdar upplýsingar, þar með talið hlekkjalag og upplýsingar um IP vistfang. Þetta eru Layer 2 og Layer 3 í OSI netlíkaninu.

Þegar þú setur upp netkerfi í Linux ertu venjulega að setja upp tengingar sem verða á endanum bundnar við nettæki, sem aftur eru netviðmót uppsett á tölvunni. Þegar tæki er að nota tengingu er það talið virkt eða hækkað. Ef tenging er ekki í notkun er hún óvirk eða endurstillt.

Bætir við nettengingum

ncmli tólið gerir þér kleift að bæta við og stilla tengingar strax. Til dæmis, til að bæta við Wired tengingu 2 (með enp0s8), þarftu að keyra eftirfarandi skipun sem ofurnotandi:

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

Í tegundarvalkostinum gefum við til kynna að þetta verði Ethernet tenging og í ifname (viðmótsheiti) valmöguleikanum tilgreinum við netviðmótið sem við viljum nota.

Þetta er það sem mun gerast eftir að skipunin er keyrð:

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

Ný tenging hefur verið búin til, ethernet-enp0s8. Það var úthlutað UUID og tengitegundin var Ethernet. Við skulum hækka það með upp skipuninni:

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

Við skulum athuga listann yfir virkar tengingar aftur:

$ 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

Ný tenging ethernet-enp0s8 hefur verið bætt við, hún er virk og notar enp0s8 netviðmótið.

Að setja upp tengingar

ncmli tólið gerir þér kleift að breyta breytum núverandi tenginga auðveldlega. Til dæmis þarftu að breyta kviku (DHCP) IP tölu þinni í kyrrstæða IP tölu.

Segjum að við þurfum að stilla IP töluna á 192.168.4.26. Til að gera þetta notum við tvær skipanir. Sá fyrsti mun stilla IP-tölu beint og sá síðari mun breyta stillingaraðferðinni fyrir IP-tölu yfir í handvirkt:

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

Ekki gleyma að setja einnig undirnetmaskann. Fyrir prófunartenginguna okkar er þetta 255.255.255.0, eða með /24 fyrir flokkalausa leið (CIDR).

Til að breytingarnar taki gildi þarftu að gera tenginguna óvirka og virkja hana aftur:

$ 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

Ef þú þarft þvert á móti að setja upp DHCP skaltu nota sjálfvirkt í stað handvirkt:

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto

Að vinna með tæki

Fyrir þetta notum við Tækjahlutann.

Athugar stöðu tækisins

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

Óskað eftir upplýsingum um tæki

Til að gera þetta, notaðu sýningaraðgerðina í Tækjahlutanum (þú verður að tilgreina heiti tækisins). Tækið birtir mikið af upplýsingum, oft á nokkrum síðum.
Við skulum skoða enp0s8 viðmótið sem nýja tengingin okkar notar. Við skulum ganga úr skugga um að það noti nákvæmlega IP töluna sem við settum áðan:

$ 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

Það er töluvert mikið af upplýsingum. Við skulum varpa ljósi á aðalatriðið:

  • Heiti netviðmóts: enp0s8.
  • Tengingartegund: Ethernet tenging með snúru.
  • Við sjáum MAC vistfang tækisins.
  • Hámarksflutningseining (MTU) tilgreind — hámarksstærð gagnlegs gagnablokkar í einum pakka sem hægt er að senda með samskiptareglunum án sundrunar.
  • Tæki tengdur eins og er.
  • Nafn tengingarhvaða tæki er að nota: ethernet-enp0s8.
  • Tækið notar IP tölu, sem við settum upp áðan: 192.168.4.26/24.

Aðrar upplýsingar tengjast sjálfgefnum leiðar- og tengigáttarbreytum. Þau eru háð tilteknu neti.

Gagnvirkur nmcli ritstjóri

nmcli er einnig með einfaldan gagnvirkan ritstjóra, sem gæti verið þægilegra fyrir suma að vinna með. Til að keyra það á ethernet-enp0s8 tengingu til dæmis, notaðu aðgerð edit:

$ nmcli connection edit ethernet-enp0s8

Það hefur líka smá hjálp, sem er þó minni í stærð en vélaútgáfan:

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

Ef þú slærð inn prentskipunina og ýtir á Enter mun nmcli sýna alla tengingareiginleikana:

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

Til dæmis, til að stilla tenginguna á DHCP, sláðu inn goto ipv4 og smelltu Sláðu inn:

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>

Skrifaðu síðan set method auto og smelltu Sláðu inn:

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

Ef þú vilt hreinsa fasta IP tölu skaltu smella á Sláðu inn. Annars skaltu slá inn nei og ýta á Enter. Þú getur vistað það ef þú heldur að þú þurfir á því að halda í framtíðinni. En jafnvel með vistað kyrrstæð IP tölu, verður DHCP notað ef aðferð er stillt á sjálfvirkt.

Notaðu vista skipunina til að vista breytingarnar þínar:

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

Sláðu inn quit til að hætta í nmcli Interactive Editor. Ef þú skiptir um skoðun um að fara, notaðu aftur skipunina.

Og það er ekki allt

Opnaðu nmcli Interactive Editor og sjáðu hversu margar stillingar það eru og hversu marga eiginleika hver stilling hefur. Gagnvirki ritstjórinn er frábært tól, en ef þú vilt nota nmcli í einlínu eða skriftum þarftu venjulega skipanalínuútgáfuna.

Nú þegar þú hefur grunnatriðin skaltu skoða mannasíðu nmcli til að sjá hvernig annað það getur hjálpað þér.

Um réttindi auglýsinga

Epískir netþjónar - Er sýndarþjónar á Windows eða Linux með öflugum AMD EPYC fjölskyldu örgjörvum og mjög hröðum Intel NVMe drifum. Drífðu þig að panta!

Umsjón með nettengingum í Linux með því að nota nmcli console tólið

Heimild: www.habr.com

Bæta við athugasemd