A’ riaghladh cheanglaichean lìonra ann an Linux a’ cleachdadh goireas tòcan nmcli

Gabh làn bhuannachd às an inneal riaghlaidh lìonra NetworkManager air loidhne-àithne Linux a’ cleachdadh goireas nmcli.

A’ riaghladh cheanglaichean lìonra ann an Linux a’ cleachdadh goireas tòcan nmcli

Goireasach nmcli cuir fios gu dìreach ris an API gus faighinn gu gnìomhan NetworkManager.

Nochd e ann an 2010 agus dha mòran tha e air a thighinn gu bhith na dhòigh eile air eadar-aghaidh lìonra agus ceanglaichean a rèiteachadh. Ged a tha cuid de dhaoine fhathast gan cleachdadh ma tha. Leis gur e inneal eadar-aghaidh loidhne-àithne (CLI) a th’ ann an nmcli a chaidh a dhealbhadh airson a chleachdadh ann an uinneagan deireannach agus sgriobtaichean, tha e air leth freagarrach airson rianadairean siostaim a tha ag obair às aonais GUI.

co-chòrdadh àithne ncmli

San fharsaingeachd, tha an co-chòrdadh a’ coimhead mar seo:

$ nmcli <options> <section> <action>

  • tha roghainnean nam paramadairean a tha a’ dearbhadh cho beag sa tha gnìomhachd nmcli,
  • earrann (earrann) - a’ dearbhadh dè na feartan den ghoireas a bu chòir a chleachdadh,
  • gnìomh - a 'leigeil leat sònrachadh dè dha-rìribh a dh'fheumar a dhèanamh.

Tha 8 earrannan ann uile gu lèir, agus tha gach aon dhiubh co-cheangailte ri seata sònraichte de dh’ àitheantan (gnìomhan):

  • Cuidich a’ toirt seachad cuideachadh mu òrdughan ncmcli agus an cleachdadh.
  • Coitcheann a’ tilleadh inbhe NetworkManager agus rèiteachadh cruinneil.
  • Networking a’ toirt a-steach òrdughan airson inbhe ceangail lìonra a cheasnachadh agus ceanglaichean a chomasachadh/a chur à comas.
  • rèidio a’ toirt a-steach òrdughan airson inbhe ceangal lìonra WiFi a cheasnachadh agus ceanglaichean a chomasachadh/a chur à comas.
  • Monitor gabhail a-steach òrdughan airson sùil a chumail air gnìomhachd NetworkManager agus coimhead air atharrachaidhean ann an staid cheanglaichean lìonraidh.
  • Ceangal a’ toirt a-steach òrdughan airson eadar-aghaidh lìonra a riaghladh, ceanglaichean ùra a chur ris agus cuir às don fheadhainn a th’ ann mar-thà.
  • dh'Inneal air a chleachdadh sa mhòr-chuid gus paramadairean co-cheangailte ri inneal atharrachadh (leithid ainm eadar-aghaidh) no gus innealan a cheangal a’ cleachdadh ceangal gnàthaichte.
  • dìomhair a’ clàradh nmcli mar “àidseant dìomhair” NetworkManager a bhios ag èisteachd airson teachdaireachdan dìomhair. Is ann ainneamh a bhios an roinn seo air a chleachdadh, oir bidh nmcli ag obair mar seo gu bunaiteach nuair a bhios e a’ ceangal ri lìonraidhean.

Eisimpleirean sìmplidh

Mus tòisich thu, dèan cinnteach gu bheil NetworkManager a’ ruith agus gun urrainn dha nmcli conaltradh leis:

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

Bidh obair gu tric a’ tòiseachadh le bhith a’ coimhead air a h-uile pròifil ceangail lìonra:

$ 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

Cleachdaidh an àithne seo gnìomh taisbeanadh airson an roinn Ceangal.

Tha an inneal deuchainn a’ ruith Ubuntu 20.04. Anns a 'chùis seo, lorg sinn trì ceanglaichean uèirleas: enp0s3, enp0s8, agus enp0s9.

Stiùirich ceanglaichean

Tha e cudromach tuigsinn gu bheil ann an nmcli, leis an teirm Ceangal, a’ ciallachadh eintiteas anns a bheil a h-uile fiosrachadh mun cheangal. Ann am faclan eile, is e seo rèiteachadh an lìonraidh. Bidh ceangal a’ toirt a-steach a h-uile fiosrachadh co-cheangailte ri ceangal, a’ toirt a-steach còmhdach ceangail agus fiosrachadh seòladh IP. Is iad sin Sreath 2 agus Sreath 3 ann am modal lìonraidh OSI.

Nuair a shuidhicheas tu lìonra ann an Linux, mar as trice bidh thu a’ stèidheachadh cheanglaichean a bhios ceangailte ri innealan lìonraidh, a tha an uair sin nan eadar-aghaidh lìonra air a chuir air a’ choimpiutair. Nuair a bhios inneal a’ cleachdadh ceangal, thathas den bheachd gu bheil e gnìomhach no àrdaichte. Mura h-eil ceangal ga chleachdadh, tha e neo-ghnìomhach no ath-shuidheachadh.

A’ cur ceanglaichean lìonra ris

Leigidh goireas ncmli leat ceanglaichean a chuir ris agus a rèiteachadh sa bhad. Mar eisimpleir, gus ceangal Wired 2 a chuir ris (le enp0s8), feumaidh tu an àithne a leanas a ruith mar superuser:

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

Anns an roghainn seòrsa tha sinn a’ nochdadh gur e ceangal Ethernet a bhios ann, agus anns an roghainn ifname (ainm eadar-aghaidh) tha sinn a’ comharrachadh an eadar-aghaidh lìonraidh a tha sinn airson a chleachdadh.

Seo na thachras às deidh dhut an àithne a ruith:

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

Chaidh ceangal ùr a chruthachadh, ethernet-enp0s8. Chaidh UUID a thoirt dha agus b’ e Ethernet an seòrsa ceangail. Nach tog sinn e leis an òrdugh suas:

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

Feuch an toir sinn sùil a-rithist air liosta nan ceanglaichean gnìomhach:

$ 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

Chaidh ceangal ùr ethernet-enp0s8 a chuir ris, tha e gnìomhach agus a’ cleachdadh eadar-aghaidh lìonra enp0s8.

A 'stèidheachadh cheanglaichean

Leigidh goireas ncmli leat crìochan nan ceanglaichean a th’ ann mar-thà atharrachadh gu furasta. Mar eisimpleir, feumaidh tu an seòladh IP fiùghantach (DHCP) agad atharrachadh gu seòladh IP statach.

Canaidh sinn gum feum sinn an seòladh IP a shuidheachadh gu 192.168.4.26. Airson seo a dhèanamh bidh sinn a’ cleachdadh dà àithne. Suidhichidh a’ chiad fhear an seòladh IP gu dìreach, agus atharraichidh an dàrna fear an dòigh suidheachadh seòladh IP gu leabhar-làimhe:

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

Na dì-chuimhnich cuideachd am masg subnet a shuidheachadh. Airson ar ceangal deuchainn is e seo 255.255.255.0, no le /24 airson slighe gun chlas (CIDR).

Gus na h-atharrachaidhean a thoirt gu buil, feumaidh tu an ceangal a chuir dheth agus an uairsin ath-ghnìomhachadh:

$ 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

Ma tha, air an làimh eile, feumaidh tu DHCP a stàladh, cleachd càr an àite làmh-sgrìobhaidh:

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto

Ag obair le innealan

Airson seo bidh sinn a’ cleachdadh an roinn Innealan.

A’ sgrùdadh inbhe an inneal

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

Ag iarraidh fiosrachadh inneal

Gus seo a dhèanamh, cleachd an gnìomh taisbeanaidh bhon roinn inneal (feumaidh tu ainm an inneil a shònrachadh). Bidh an goireas a’ taisbeanadh tòrr fiosrachaidh, gu tric air grunn dhuilleagan.
Bheir sinn sùil air an eadar-aghaidh enp0s8 a bhios an ceangal ùr againn a’ cleachdadh. Dèan cinnteach gu bheil e a’ cleachdadh dìreach an seòladh IP a shuidhich sinn na bu thràithe:

$ 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

Tha tòrr fiosrachaidh ann. Beachdaich sinn air a 'phrìomh rud:

  • Ainm eadar-aghaidh lìonra: enp0s8.
  • Seòrsa ceangail: ceangal Ethernet uèirleas.
  • Chì sinn seòladh MAC an inneil.
  • Aonad tar-chuir as àirde (MTU) air a shònrachadh - am meud as motha de bhloca dàta feumail de aon phasgan a ghabhas a chuir a-steach leis a’ phròtacal gun bhriseadh.
  • Inneal ceangailte an-dràsta.
  • Ainm ceangaildè an inneal a tha a’ cleachdadh: ethernet-enp0s8.
  • Bidh an inneal a’ cleachdadh aon Seòladh IP, a chuir sinn a-steach na bu thràithe: 192.168.4.26/24.

Tha fiosrachadh eile co-cheangailte ri paramadairean slighe bunaiteach agus geata ceangail. Tha iad an urra ris an lìonra sònraichte.

Deasaiche eadar-ghnìomhach nmcli

Tha deasaiche sìmplidh eadar-ghnìomhach aig nmcli cuideachd, a dh’ fhaodadh a bhith nas comhfhurtail dha cuid a bhith ag obair leis. Gus a ruith air ceangal ethernet-enp0s8 mar eisimpleir, cleachd gnìomh deasaich:

$ nmcli connection edit ethernet-enp0s8

Tha cuideachadh beag aige cuideachd, a tha, ge-tà, nas lugha ann am meud na dreach tòcan:

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

Ma thaipeas tu an àithne clò-bhualaidh agus brùth Enter, seallaidh nmcli na feartan ceangail gu lèir:

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

Mar eisimpleir, gus an ceangal ri DHCP a shuidheachadh, dèan seòrsa goto ipv4 agus cliog Cuir a-steach:

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>

An uairsin sgrìobh modh seata fèin-ghluasadach agus cliog Cuir a-steach:

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

Ma tha thu airson an seòladh IP statach a ghlanadh, cliog Cuir a-steach. Rud eile, dèan seòrsa nach eil agus brùth Enter. Faodaidh tu a shàbhaladh ma tha thu den bheachd gum feum thu e san àm ri teachd. Ach eadhon le seòladh IP statach air a shàbhaladh, thèid DHCP a chleachdadh ma tha an dòigh air a shuidheachadh gu fèin-ghluasadach.

Cleachd an àithne sàbhalaidh gus na h-atharrachaidhean agad a shàbhaladh:

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

Taidhp quit gus an deasaiche eadar-ghnìomhach nmcli fhàgail. Ma dh’ atharraicheas tu d’ inntinn mu bhith falbh, cleachd an àithne chùil.

Agus chan e sin uile

Fosgail an Deasaiche Eadar-ghnìomhach nmcli agus faic cia mheud suidheachadh a th’ ann agus cia mheud seilbh a tha aig gach suidheachadh. Tha an deasaiche eadar-ghnìomhach na inneal math, ach ma tha thu airson nmcli a chleachdadh ann an aon-loidhnichean no sgriobtaichean, bidh feum agad air an tionndadh loidhne-àithne cunbhalach.

A-nis gu bheil na bunaitean agad, thoir sùil air duilleag fear nmcli gus faicinn ciamar eile as urrainn dha do chuideachadh.

Air na Còraichean Sanasachd

Frithealaichean epic A bheil frithealaichean mas-fhìor air Windows no Linux le pròiseasairean teaghlaich cumhachdach AMD EPYC agus draibhearan Intel NVMe gu math luath. Dèan cabhag gus òrdachadh!

A’ riaghladh cheanglaichean lìonra ann an Linux a’ cleachdadh goireas tòcan nmcli

Source: www.habr.com

Cuir beachd ann