Ka hoʻokele ʻana i nā pilina pūnaewele ma Linux me ka hoʻohana ʻana i ka pono console nmcli

E hoʻohana pono i ka hāmeʻa hoʻokele pūnaewele NetworkManager ma ka laina kauoha Linux me ka hoʻohana ʻana i ka pono nmcli.

Ka hoʻokele ʻana i nā pilina pūnaewele ma Linux me ka hoʻohana ʻana i ka pono console nmcli

Mea hoʻohana nmcli kāhea pololei i ka API e komo i nā hana NetworkManager.

Ua ʻike ʻia ma 2010 a no nā mea he nui i lilo i ala ʻē aʻe e hoʻonohonoho i nā pilina pūnaewele a me nā pilina. ʻOiai ke hoʻohana nei kekahi poʻe inā loaʻa. No ka mea ʻo ka nmcli kahi mea hana laina kauoha (CLI) i hoʻolālā ʻia no ka hoʻohana ʻana i nā puka makani terminal a me nā palapala, kūpono ia no nā luna hoʻokele e hana me ka ʻole o kahi GUI.

ncmli kauoha syntax

Ma keʻano laulā, ua like kēia syntax:

$ nmcli <options> <section> <action>

  • ʻO nā koho nā ʻāpana e hoʻoholo ai i nā subtleties o ka hana nmcli,
  • ʻāpana (ʻāpana) - hoʻoholo i nā hiʻohiʻona o ka pono e hoʻohana ai,
  • hana - hiki iā ʻoe ke kuhikuhi i nā mea pono e hana ʻia.

Aia nā ʻāpana 8 i ka huina, pili kēlā me kēia me kahi pūʻulu o nā kauoha (hana):

  • kokua hāʻawi i ke kōkua e pili ana i nā kauoha ncmcli a me kā lākou hoʻohana.
  • Nui hoʻihoʻi i ke kūlana NetworkManager a me ka hoʻonohonoho honua.
  • kūkākūkā aia nā kauoha e nīnau i ke kūlana pili pūnaewele a hiki i ka hoʻopau ʻana i nā pilina.
  • Radio me nā kauoha e nīnau i ke kūlana pili pūnaewele WiFi a hiki i nā pilina.
  • kanaka hoʻoponopono aia nā kauoha no ka nānā ʻana i ka hana NetworkManager a me ka nānā ʻana i nā loli i ke kūlana o nā pili pūnaewele.
  • Hoʻohui aia nā kauoha no ka mālama ʻana i nā pilina pūnaewele, ka hoʻohui ʻana i nā pilina hou a me ka holoi ʻana i nā mea i loaʻa.
  • mea hoʻohana nui ʻia no ka hoʻololi ʻana i nā ʻāpana pili pili (e like me ka inoa interface) a i ʻole e hoʻopili i nā polokalamu me ka hoʻohana ʻana i kahi pilina e kū nei.
  • huna hoʻopaʻa inoa iā nmcli ma ke ʻano he NetworkManager "mea huna" e hoʻolohe ana i nā leka huna. ʻAʻole hoʻohana ʻia kēia ʻāpana, no ka mea, hana ʻo nmcli i kēia ala ma ke ʻano maʻamau i ka wā e hoʻopili ai i nā pūnaewele.

Nā laʻana maʻalahi

Ma mua o kou hoʻomaka ʻana, e hōʻoia i ka holo ʻana o NetworkManager a hiki i ka nmcli ke kamaʻilio me ia:

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

Hoʻomaka pinepine ka hana ma ka nānā ʻana i nā ʻaoʻao pili pūnaewele āpau:

$ 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

Ke hoʻohana nei kēia kauoha hana hōʻike no ka ʻāpana Hoʻohui.

Ke holo nei ka mīkini hoʻāʻo iā Ubuntu 20.04. I kēia hihia, ua loaʻa iā mākou ʻekolu mau pilina uea: enp0s3, enp0s8, a me enp0s9.

Mālama i nā pilina

He mea nui e hoʻomaopopo i ka nmcli, ma ka huaʻōlelo Connection ke manaʻo nei mākou he hui i loaʻa nā ʻike āpau e pili ana i ka pilina. I nā huaʻōlelo ʻē aʻe, ʻo kēia ka hoʻonohonoho pūnaewele. Hoʻopili ka pilina i nā ʻike pili pili, me ka papa loulou a me ka ʻike helu IP. ʻO kēia ka Layer 2 a me ka Layer 3 i ke kumu hoʻohālike pūnaewele OSI.

Ke hoʻonohonoho ʻoe i kahi pūnaewele ma Linux, hoʻonohonoho maʻamau ʻoe i nā pilina e hoʻopau ʻia i ka hoʻopaʻa ʻia ʻana i nā hāmeʻa pūnaewele, ʻo ia hoʻi he mau kikowaena pūnaewele i kau ʻia ma ke kamepiula. Ke hoʻohana ʻia kahi mea hoʻohana i kahi pilina, manaʻo ʻia ʻo ia ka hana a i ʻole ke kiʻekiʻe. Inā ʻaʻole hoʻohana ʻia kahi pilina, ʻaʻole hana a hoʻihoʻi hou.

Hoʻohui i nā pilina pūnaewele

ʻO ka pono ncmli hiki iā ʻoe ke hoʻohui a hoʻonohonoho koke i nā pilina. No ka laʻana, e hoʻohui i ka pilina Wired 2 (me enp0s8), pono ʻoe e holo i kēia kauoha ma ke ʻano he superuser:

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

Ma ke ʻano koho e hōʻike mākou he pili Ethernet kēia, a ma ka koho ifname (inoa inoa) hōʻike mākou i ke kikowaena pūnaewele a mākou e makemake ai e hoʻohana.

ʻO kēia ka mea e hana ma hope o ka holo ʻana i ke kauoha:

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

Ua hana ʻia kahi pilina hou, ethernet-enp0s8. Ua hāʻawi ʻia iā UUID a ʻo ke ʻano pili ʻo Ethernet. E hoʻokiʻekiʻe kākou i ke kauoha i luna:

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

E nānā hou kākou i ka papa inoa o nā hoʻokuʻi ʻana:

$ 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

Ua hoʻohui ʻia kahi pilina hou ethernet-enp0s8, ʻeleu a hoʻohana i ke kikowaena pūnaewele enp0s8.

Hoʻonohonoho i nā pilina

ʻO ka pono ncmli hiki iā ʻoe ke hoʻololi maʻalahi i nā ʻāpana o nā pilina pili. No ka laʻana, pono ʻoe e hoʻololi i kāu helu IP dynamic (DHCP) i kahi helu IP static.

E ʻōlelo mākou pono mākou e hoʻonohonoho i ka helu IP i 192.168.4.26. No ka hana ʻana i kēia, hoʻohana mākou i ʻelua kauoha. ʻO ka mua e hoʻonohonoho pololei i ka IP address, a ʻo ka lua e hoʻololi i ke ʻano hoʻonohonoho IP address i manual:

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

Mai poina e hoʻonohonoho pū i ka subnet mask. No kā mākou pilina hoʻāʻo ʻo 255.255.255.0 kēia, a i ʻole me /24 no ka hoʻokele papa ʻole (CIDR).

No ka hoʻololi ʻana, pono ʻoe e hoʻopau a hoʻāla hou i ka pilina:

$ 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

Inā pono ʻoe e hoʻokomo i ka DHCP, e hoʻohana i ka auto ma kahi o ka manual:

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto

Ke hana nei me nā hāmeʻa

No kēia, hoʻohana mākou i ka ʻāpana Device.

Ke nānā nei i ke kūlana o ka mea hana

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

Ke noi nei i ka ʻike mea hana

No ka hana ʻana i kēia, e hoʻohana i ka hana hōʻike mai ka ʻāpana Device (pono ʻoe e kuhikuhi i ka inoa o ka hāmeʻa). Hōʻike ka pono i nā ʻike he nui, pinepine ma nā ʻaoʻao he nui.
E nānā i ka enp0s8 interface i hoʻohana ʻia e kā mākou pili hou. E hōʻoia e hoʻohana pono i ka helu IP a mākou i hoʻonohonoho mua ai:

$ 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

Nui loa ka ʻike. E hōʻike i ka mea nui:

  • Ka inoa o ka ʻike pūnaewele: enp0s8.
  • ʻAno pili: pili Ethernet uea.
  • ʻIke mākou i ka helu MAC o ka hāmeʻa.
  • Ua kuhikuhi ʻia ka ʻāpana hoʻouna kiʻekiʻe (MTU). — ka nui loa o ka poloka ikepili pono o hoʻokahi pūke i hiki ke hoʻouna ʻia e ka protocol me ka ʻole o ka ʻāpana.
  • Device pili i kēia manawa.
  • inoa piliʻo wai ka mea e hoʻohana nei: ethernet-enp0s8.
  • Hoʻohana ka mea hana i ka IP wahi, a mākou i kau ai ma mua: 192.168.4.26/24.

ʻO nā ʻike ʻē aʻe e pili ana i ke ala ala paʻamau a me nā ʻāpana ʻīpuka pili. Pili lākou i ka pūnaewele kikoʻī.

Hoʻoponopono nmcli pāʻani

Loaʻa iā nmcli kahi mea hoʻoponopono maʻalahi maʻalahi, ʻoi aku ka ʻoluʻolu no kekahi e hana pū me. No ka holo ʻana ma kahi pili ethernet-enp0s8 no ka laʻana, e hoʻohana hana hoʻoponopono:

$ nmcli connection edit ethernet-enp0s8

Loaʻa iā ia kahi kōkua liʻiliʻi, akā, ʻoi aku ka liʻiliʻi ma mua o ka console version:

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

Inā ʻoe e paʻi i ke kauoha paʻi a kaomi iā Enter, hōʻike ʻo nmcli i nā waiwai pili āpau:

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

No ka laʻana, e hoʻonohonoho i ka pilina i DHCP, e ʻano goto ipv4 a kaomi komo:

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>

A laila e kākau i ka set method auto a kaomi komo:

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

Inā makemake ʻoe e holoi i ka helu IP static, kaomi komo. A i ʻole, ʻano ʻaʻole a kaomi iā Enter. Hiki iā ʻoe ke mālama inā manaʻo ʻoe e pono ana ʻoe i ka wā e hiki mai ana. Akā me kahi helu IP static i mālama ʻia, e hoʻohana ʻia ka DHCP inā hoʻonohonoho ʻia ke ala i ka auto.

E hoʻohana i ke kauoha mālama e mālama i kāu mau hoʻololi:

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

Kākau haʻalele e haʻalele i ka nmcli Interactive Editor. Inā hoʻololi ʻoe i kou manaʻo no ka haʻalele ʻana, e hoʻohana i ke kauoha hope.

ʻAʻole ʻo ia wale nō

E wehe i ka nmcli Interactive Editor a ʻike i ka nui o nā hoʻonohonoho a me ka nui o nā waiwai o kēlā me kēia hoʻonohonoho. He mea hana maikaʻi ka mea hoʻoponopono interactive, akā inā makemake ʻoe e hoʻohana i ka nmcli i hoʻokahi-liners a i ʻole nā ​​palapala, pono ʻoe i ka mana laina kauoha maʻamau.

I kēia manawa ua loaʻa iā ʻoe nā kumu, e nānā ʻaoʻao kanaka nmcli e ʻike pehea e hiki ai ke kōkua iā ʻoe.

Nā Pono o ka hoʻolaha

Nā kikowaena epic Ua nā kikowaena virtual ma Windows a i ʻole Linux me nā mea hana ʻohana AMD EPYC ikaika a me nā hoʻokele Intel NVMe wikiwiki loa. E wikiwiki e kauoha!

Ka hoʻokele ʻana i nā pilina pūnaewele ma Linux me ka hoʻohana ʻana i ka pono console nmcli

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka