Rheoli cysylltiadau rhwydwaith yn Linux gan ddefnyddio'r cyfleustodau consol nmcli

Manteisiwch yn llawn ar offeryn rheoli rhwydwaith NetworkManager ar linell orchymyn Linux gan ddefnyddio'r cyfleustodau nmcli.

Rheoli cysylltiadau rhwydwaith yn Linux gan ddefnyddio'r cyfleustodau consol nmcli

Cyfleustodau nmcli yn galw'r API yn uniongyrchol i gael mynediad at swyddogaethau NetworkManager.

Ymddangosodd yn 2010 ac i lawer mae wedi dod yn ffordd amgen o ffurfweddu rhyngwynebau rhwydwaith a chysylltiadau. Er bod rhai pobl yn dal i ddefnyddio ifconfig. Gan fod nmcli yn offeryn rhyngwyneb llinell orchymyn (CLI) a gynlluniwyd i'w ddefnyddio mewn ffenestri terfynell a sgriptiau, mae'n ddelfrydol ar gyfer gweinyddwyr system sy'n gweithio heb GUI.

cystrawen gorchymyn ncmli

Yn gyffredinol, mae'r gystrawen yn edrych fel hyn:

$ nmcli <options> <section> <action>

  • opsiynau yw paramedrau sy'n pennu cynildeb gweithrediad nmcli,
  • adran (adran) - sy'n pennu pa nodweddion o'r cyfleustodau i'w defnyddio,
  • gweithredu - yn eich galluogi i nodi beth sydd angen ei wneud mewn gwirionedd.

Mae cyfanswm o 8 adran, pob un ohonynt yn gysylltiedig Γ’ set benodol o orchmynion (camau gweithredu):

  • Help yn darparu cymorth ynghylch gorchmynion ncmcli a'u defnydd.
  • cyffredinol yn dychwelyd statws NetworkManager a chyfluniad byd-eang.
  • rhwydweithio yn cynnwys gorchmynion i ymholi am statws cysylltiad rhwydwaith a galluogi/analluogi cysylltiadau.
  • radio yn cynnwys gorchmynion i ymholi am statws cysylltiad rhwydwaith WiFi a galluogi/analluogi cysylltiadau.
  • Monitro yn cynnwys gorchmynion ar gyfer monitro gweithgaredd NetworkManager ac arsylwi newidiadau yng nghyflwr cysylltiadau rhwydwaith.
  • Cysylltiad yn cynnwys gorchmynion ar gyfer rheoli rhyngwynebau rhwydwaith, ychwanegu cysylltiadau newydd a dileu rhai presennol.
  • dyfais a ddefnyddir yn bennaf i newid paramedrau sy'n gysylltiedig Γ’ dyfais (fel enw rhyngwyneb) neu i gysylltu dyfeisiau gan ddefnyddio cysylltiad presennol.
  • Secret yn cofrestru nmcli fel "asiant cyfrinachol" NetworkManager sy'n gwrando am negeseuon cyfrinachol. Anaml y defnyddir yr adran hon, oherwydd mae nmcli yn gweithio fel hyn yn ddiofyn wrth gysylltu Γ’ rhwydweithiau.

Enghreifftiau syml

Cyn i chi ddechrau, gwnewch yn siΕ΅r bod NetworkManager yn rhedeg a gall nmcli gyfathrebu ag ef:

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

Mae gwaith yn aml yn dechrau trwy edrych ar yr holl broffiliau cysylltiad rhwydwaith:

$ 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

Mae'r gorchymyn hwn yn defnyddio gweithredu dangos ar gyfer yr adran Cysylltiad.

Mae'r peiriant prawf yn rhedeg Ubuntu 20.04. Yn yr achos hwn, canfuwyd tri chysylltiad Γ’ gwifrau: enp0s3, enp0s8, ac enp0s9.

Rheoli cysylltiadau

Mae'n bwysig deall bod yn nmcli, wrth y term Cysylltiad, yn golygu endid sy'n cynnwys yr holl wybodaeth am y cysylltiad. Mewn geiriau eraill, dyma ffurfweddiad y rhwydwaith. Mae cysylltiad yn crynhoi'r holl wybodaeth sy'n ymwneud Γ’ chysylltiadau, gan gynnwys haen gyswllt a gwybodaeth cyfeiriad IP. Y rhain yw Haen 2 a Haen 3 yn y model rhwydweithio OSI.

Pan fyddwch chi'n sefydlu rhwydwaith yn Linux, rydych chi fel arfer yn sefydlu cysylltiadau a fydd yn y pen draw yn cael eu clymu i ddyfeisiau rhwydwaith, sydd yn eu tro yn rhyngwynebau rhwydwaith wedi'u gosod ar y cyfrifiadur. Pan fydd dyfais yn defnyddio cysylltiad, fe'i hystyrir yn weithredol neu'n uchel. Os nad yw cysylltiad yn cael ei ddefnyddio, mae'n anactif neu'n cael ei ailosod.

Ychwanegu cysylltiadau rhwydwaith

Mae'r cyfleustodau ncmli yn caniatΓ‘u ichi ychwanegu a ffurfweddu cysylltiadau yn gyflym. Er enghraifft, i ychwanegu cysylltiad Wired 2 (gydag enp0s8), mae angen i chi redeg y gorchymyn canlynol fel superuser:

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

Yn yr opsiwn math rydym yn nodi mai cysylltiad Ethernet fydd hwn, ac yn yr opsiwn ifname (enw rhyngwyneb) rydym yn nodi'r rhyngwyneb rhwydwaith yr ydym am ei ddefnyddio.

Dyma beth fydd yn digwydd ar Γ΄l rhedeg y gorchymyn:

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

Mae cysylltiad newydd wedi'i greu, ethernet-enp0s8. Rhoddwyd UUID iddo a'r math o gysylltiad oedd Ethernet. Gadewch i ni ei godi gan ddefnyddio'r gorchymyn i fyny:

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

Gadewch i ni wirio'r rhestr o gysylltiadau gweithredol eto:

$ 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

Mae cysylltiad newydd ethernet-enp0s8 wedi'i ychwanegu, mae'n weithredol ac yn defnyddio rhyngwyneb rhwydwaith enp0s8.

Sefydlu cysylltiadau

Mae cyfleustodau ncmli yn caniatΓ‘u ichi newid paramedrau cysylltiadau presennol yn hawdd. Er enghraifft, mae angen i chi newid eich cyfeiriad IP deinamig (DHCP) i gyfeiriad IP sefydlog.

Gadewch i ni ddweud bod angen i ni osod y cyfeiriad IP i 192.168.4.26. I wneud hyn rydym yn defnyddio dau orchymyn. Bydd y cyntaf yn gosod y cyfeiriad IP yn uniongyrchol, a bydd yr ail yn newid y dull gosod cyfeiriad IP i'r llawlyfr:

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

Peidiwch ag anghofio gosod y mwgwd subnet hefyd. Ar gyfer ein cysylltiad prawf mae hwn yn 255.255.255.0, neu gyda /24 ar gyfer llwybro di-ddosbarth (CIDR).

Er mwyn i'r newidiadau ddod i rym, mae angen i chi ddadactifadu ac yna ailgychwyn y cysylltiad:

$ 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

Os, i'r gwrthwyneb, mae angen i chi osod DHCP, defnyddiwch auto yn lle llawlyfr:

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto

Gweithio gyda dyfeisiau

Ar gyfer hyn rydym yn defnyddio'r adran Dyfais.

Gwirio statws dyfais

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

Gofyn am wybodaeth dyfais

I wneud hyn, defnyddiwch y weithred sioe o'r adran Dyfais (rhaid i chi nodi enw'r ddyfais). Mae'r cyfleustodau'n dangos llawer o wybodaeth, yn aml ar sawl tudalen.
Gadewch i ni edrych ar y rhyngwyneb enp0s8 y mae ein cysylltiad newydd yn ei ddefnyddio. Gadewch i ni sicrhau ei fod yn defnyddio'r union gyfeiriad IP a osodwyd gennym yn gynharach:

$ 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

Mae cryn dipyn o wybodaeth. Gadewch i ni dynnu sylw at y prif beth:

  • Enw rhyngwyneb rhwydwaith: enp0s8.
  • Math o gysylltiad: cysylltiad Ethernet Γ’ gwifrau.
  • Rydym yn gweld cyfeiriad MAC y ddyfais.
  • Uned drosglwyddo uchaf (MTU) wedi'i nodi β€” maint mwyaf bloc data defnyddiol o un pecyn y gellir ei drosglwyddo gan y protocol heb ddarnio.
  • Dyfais yn gysylltiedig ar hyn o bryd.
  • Enw cysylltiadpa ddyfais sy'n defnyddio: ethernet-enp0s8.
  • Mae'r ddyfais yn defnyddio'r Cyfeiriad IP, a osodwyd gennym yn gynharach: 192.168.4.26/24.

Mae gwybodaeth arall yn ymwneud Γ’ pharamedrau llwybro a phorth cysylltu rhagosodedig. Maent yn dibynnu ar y rhwydwaith penodol.

Golygydd nmcli rhyngweithiol

Mae gan nmcli hefyd olygydd rhyngweithiol syml, a all fod yn fwy cyfforddus i rai weithio ag ef. Er mwyn ei redeg ar gysylltiad ethernet-enp0s8 er enghraifft, defnyddiwch gweithredu golygu:

$ nmcli connection edit ethernet-enp0s8

Mae ganddo hefyd help bach, sydd, fodd bynnag, yn llai o ran maint na fersiwn y consol:

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

Os teipiwch y gorchymyn argraffu a gwasgwch Enter, bydd nmcli yn dangos yr holl briodweddau cysylltiad:

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

Er enghraifft, i osod y cysylltiad Γ’ DHCP, teipiwch goto ipv4 a chliciwch Rhowch:

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>

Yna ysgrifennu awto gosod dull a chliciwch Rhowch:

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

Os ydych chi am glirio'r cyfeiriad IP sefydlog, cliciwch Rhowch. Fel arall, teipiwch na a gwasgwch Enter. Gallwch ei arbed os ydych yn meddwl y bydd ei angen arnoch yn y dyfodol. Ond hyd yn oed gyda chyfeiriad IP sefydlog wedi'i gadw, bydd DHCP yn cael ei ddefnyddio os yw'r dull wedi'i osod i fod yn awtomatig.

Defnyddiwch y gorchymyn arbed i gadw'ch newidiadau:

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

Teipiwch roi'r gorau iddi i adael y Golygydd Rhyngweithiol nmcli. Os byddwch chi'n newid eich meddwl am adael, defnyddiwch y gorchymyn cefn.

Ac nid dyna'r cyfan

Agorwch y Golygydd Rhyngweithiol nmcli a gweld faint o osodiadau sydd a faint o briodweddau sydd gan bob gosodiad. Mae'r golygydd rhyngweithiol yn offeryn gwych, ond os ydych chi am ddefnyddio nmcli mewn un llinell neu sgriptiau, bydd angen y fersiwn llinell orchymyn arferol arnoch chi.

Nawr bod gennych y pethau sylfaenol, edrychwch allan tudalen dyn nmcli i weld sut arall y gall eich helpu.

Ar Hawliau Hysbysebu

Gweinyddion epig - A yw gweinyddwyr rhithwir ar Windows neu Linux gyda phroseswyr teulu pwerus AMD EPYC a gyriannau Intel NVMe cyflym iawn. Brysiwch i archebu!

Rheoli cysylltiadau rhwydwaith yn Linux gan ddefnyddio'r cyfleustodau consol nmcli

Ffynhonnell: hab.com

Ychwanegu sylw