Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ Π² Linux с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° nmcli

Π’ΡŠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ сС напълно ΠΎΡ‚ инструмСнта Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° NetworkManager Π² командния Ρ€Π΅Π΄ Π½Π° Linux, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΏΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° nmcli.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ Π² Linux с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° nmcli

ΠŸΠΎΠ»Π΅Π·Π½ΠΎΡΡ‚ nmcli Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π° API Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° NetworkManager.

Появи сС ΠΏΡ€Π΅Π· 2010 Π³. ΠΈ Π·Π° ΠΌΠ½ΠΎΠ·ΠΈΠ½Π° сС ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π° Π² Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ интСрфСйси ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ някои Ρ…ΠΎΡ€Π° всС ΠΎΡ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ„ΠΎΠΏ. Въй ΠΊΠ°Ρ‚ΠΎ nmcli Π΅ инструмСнт Π·Π° интСрфСйс Π½Π° командния Ρ€Π΅Π΄ (CLI), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π½ΠΈ ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈ ΠΈ скриптовС, Ρ‚ΠΎΠΉ Π΅ ΠΈΠ΄Π΅Π°Π»Π΅Π½ Π·Π° систСмни администратори, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π±Π΅Π· GUI.

синтаксис Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ncmli

Най-ΠΎΠ±Ρ‰ΠΎ ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡΡŠΡ‚ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°ΠΊΠ°:

$ nmcli <options> <section> <action>

  • ΠΎΠΏΡ†ΠΈΠΈΡ‚Π΅ са ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ опрСдСлят Ρ‚ΡŠΠ½ΠΊΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° nmcli,
  • Ρ€Π°Π·Π΄Π΅Π» (Ρ€Π°Π·Π΄Π΅Π») - опрСдСля ΠΊΠΎΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° ΠΏΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚,
  • дСйствиС - позволява Π²ΠΈ Π΄Π° посочитС ΠΊΠ°ΠΊΠ²ΠΎ Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ трябва Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ.

Има ΠΎΠ±Ρ‰ΠΎ 8 Ρ€Π°Π·Π΄Π΅Π»Π°, всСки ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ (дСйствия):

  • ПомогнС прСдоставя ΠΏΠΎΠΌΠΎΡ‰ относно ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ ncmcli ΠΈ тяхното ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅.
  • ΠΎΠ±Ρ‰ Π²Ρ€ΡŠΡ‰Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° NetworkManager ΠΈ Π³Π»ΠΎΠ±Π°Π»Π½Π°Ρ‚Π° конфигурация.
  • ΠΌΡ€Π΅ΠΆΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅ Π·Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²Π°Ρ‚Π° Π²Ρ€ΡŠΠ·ΠΊΠ° ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅/Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠΈ.
  • Ρ€Π°Π΄ΠΈΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅ Π·Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° WiFi ΠΌΡ€Π΅ΠΆΠΎΠ²Π°Ρ‚Π° Π²Ρ€ΡŠΠ·ΠΊΠ° ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅/Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠΈ.
  • ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° наблюдСниС Π½Π° дСйността Π½Π° NetworkManager ΠΈ наблюдСниС Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ Π²Ρ€ΡŠΠ·ΠΊΠΈ.
  • Π’Ρ€ΡŠΠ·ΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ интСрфСйси, добавянС Π½Π° Π½ΠΎΠ²ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ ΠΈ ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ.
  • ΠŸΡ€ΠΈΡΠΏΠΎΡΠΎΠ±Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° сС основно Π·Π° промяна Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с устройството (ΠΊΠ°Ρ‚ΠΎ ΠΈΠΌΠ΅ Π½Π° интСрфСйс) ΠΈΠ»ΠΈ Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° устройства Ρ‡Ρ€Π΅Π· ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰Π° Π²Ρ€ΡŠΠ·ΠΊΠ°.
  • Π’Π°ΠΉΠ½Π° рСгистрира nmcli ΠΊΠ°Ρ‚ΠΎ "Ρ‚Π°Π΅Π½ Π°Π³Π΅Π½Ρ‚" Π½Π° NetworkManager, ΠΊΠΎΠΉΡ‚ΠΎ ΡΠ»ΡƒΡˆΠ° Π·Π° Ρ‚Π°ΠΉΠ½ΠΈ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ. Π’ΠΎΠ·ΠΈ Ρ€Π°Π·Π΄Π΅Π» сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° рядко, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ nmcli Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΏΡ€ΠΈ ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ към ΠΌΡ€Π΅ΠΆΠΈ.

ΠŸΡ€ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ

ΠŸΡ€Π΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅, ΡƒΠ²Π΅Ρ€Π΅Ρ‚Π΅ сС, Ρ‡Π΅ NetworkManager Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΈ nmcli ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠΈΡ€Π° с Π½Π΅Π³ΠΎ:

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

Π Π°Π±ΠΎΡ‚Π°Ρ‚Π° чСсто Π·Π°ΠΏΠΎΡ‡Π²Π° с ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° всички ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²Π° Π²Ρ€ΡŠΠ·ΠΊΠ°:

$ 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

Π’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΅Ρ„Π΅ΠΊΡ‚ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Π·Π° сСкцията Π’Ρ€ΡŠΠ·ΠΊΠ°.

ВСстовата машина Ρ€Π°Π±ΠΎΡ‚ΠΈ с Ubuntu 20.04. Π’ Ρ‚ΠΎΠ·ΠΈ случай ΠΎΡ‚ΠΊΡ€ΠΈΡ…ΠΌΠ΅ Ρ‚Ρ€ΠΈ ΠΊΠ°Π±Π΅Π»Π½ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ: enp0s3, enp0s8 ΠΈ enp0s9.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠΈΡ‚Π΅

Π’Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅, Ρ‡Π΅ Π² nmcli ΠΏΠΎΠ΄ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° Connection ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ ΠΎΠ±Π΅ΠΊΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° цялата информация Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π°. Π‘ Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΡƒΠΌΠΈ, Ρ‚ΠΎΠ²Π° Π΅ конфигурацията Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°. Π’Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° капсулира цялата информация, ΡΠ²ΡŠΡ€Π·Π°Π½Π° с Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π°, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ слой Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° ΠΈ информация Π·Π° IP адрСсиранС. Π’ΠΎΠ²Π° са слой 2 ΠΈ слой 3 Π² мрСТовия ΠΌΠΎΠ΄Π΅Π» OSI.

ΠšΠΎΠ³Π°Ρ‚ΠΎ настройватС ΠΌΡ€Π΅ΠΆΠ° Π² Linux, ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ настройватС Π²Ρ€ΡŠΠ·ΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ устройства, ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΡ‚ своя страна са ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ интСрфСйси, инсталирани Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π°. ΠšΠΎΠ³Π°Ρ‚ΠΎ Π΄Π°Π΄Π΅Π½ΠΎ устройство ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π²Ρ€ΡŠΠ·ΠΊΠ°, Ρ‚ΠΎ сС счита Π·Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ»ΠΈ повишСно. Ако Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° Π½Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, тя Π΅ Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Π° ΠΈΠ»ΠΈ сС Π½ΡƒΠ»ΠΈΡ€Π°.

ДобавянС Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ

ΠŸΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° ncmli Π²ΠΈ позволява Π±ΡŠΡ€Π·ΠΎ Π΄Π° добавятС ΠΈ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅ Π²Ρ€ΡŠΠ·ΠΊΠΈ. НапримСр, Π·Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ ΠΊΠ°Π±Π΅Π»Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° 2 (с enp0s8), трябва Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ слСдната ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΊΠ°Ρ‚ΠΎ супСрпотрСбитСл:

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

Π’ опцията type посочвамС, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Ρ‰Π΅ бъдС Ethernet Π²Ρ€ΡŠΠ·ΠΊΠ°, Π° Π² опцията ifname (ΠΈΠΌΠ΅ Π½Π° интСрфСйс) посочвамС мрСТовия интСрфСйс, ΠΊΠΎΠΉΡ‚ΠΎ искамС Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅.

Π•Ρ‚ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ сС случи слСд изпълнСниС Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°:

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

БъздадСна Π΅ Π½ΠΎΠ²Π° Π²Ρ€ΡŠΠ·ΠΊΠ°, ethernet-enp0s8. Π‘Π΅ΡˆΠ΅ ΠΌΡƒ присвоСн UUID ΠΈ Ρ‚ΠΈΠΏΡŠΡ‚ Π²Ρ€ΡŠΠ·ΠΊΠ° бСшС Ethernet. НСка Π³ΠΎ ΠΏΠΎΠ²Π΄ΠΈΠ³Π½Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° up:

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

НСка ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ списъка с Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ:

$ 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

Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° Π²Ρ€ΡŠΠ·ΠΊΠ° ethernet-enp0s8, тя Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½Π° ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° мрСТовия интСрфСйс enp0s8.

БъздаванС Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠΈ

ΠŸΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° ncmli Π²ΠΈ позволява лСсно Π΄Π° промСнятС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ Π²Ρ€ΡŠΠ·ΠΊΠΈ. НапримСр, трябва Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ своя Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅Π½ (DHCP) IP адрСс Π½Π° статичСн IP адрСс.

Π”Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ΅ΠΌ, Ρ‡Π΅ трябва Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΠΌ IP адрСса Π½Π° 192.168.4.26. Π—Π° Ρ†Π΅Π»Ρ‚Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. ΠŸΡŠΡ€Π²ΠΈΡΡ‚ Ρ‰Π΅ Π·Π°Π΄Π°Π΄Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ IP адрСса, Π° вторият Ρ‰Π΅ ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π° настройка Π½Π° IP адрСса Π½Π° Ρ€ΡŠΡ‡Π΅Π½:

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

НС забравяйтС Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΈ ΠΏΠΎΠ΄ΠΌΡ€Π΅ΠΆΠΎΠ²Π°Ρ‚Π° маска. Π—Π° Π½Π°ΡˆΠ°Ρ‚Π° тСстова Π²Ρ€ΡŠΠ·ΠΊΠ° Ρ‚ΠΎΠ²Π° Π΅ 255.255.255.0 ΠΈΠ»ΠΈ с /24 Π·Π° бСзкласово ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ (CIDR).

Π—Π° Π΄Π° влязат Π² сила ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅, трябва Π΄Π° Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ ΠΈ слСд Ρ‚ΠΎΠ²Π° Π΄Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π°:

$ 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

Ако, Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ², трябва Π΄Π° инсталиратС DHCP, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ вмСсто Ρ€ΡŠΡ‡Π½ΠΎ:

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto

Π Π°Π±ΠΎΡ‚Π° с устройства

Π—Π° Ρ†Π΅Π»Ρ‚Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ сСкцията Устройство.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° устройството

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

ИсканС Π½Π° информация Π·Π° устройството

Π—Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ дСйствиСто ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ ΠΎΡ‚ сСкцията Устройство (трябва Π΄Π° посочитС ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° устройството). ΠŸΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΌΠ½ΠΎΠ³ΠΎ информация, чСсто Π½Π° няколко страници.
НСка Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ интСрфСйса enp0s8, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π°ΡˆΠ°Ρ‚Π° Π½ΠΎΠ²Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. НСка сС ΡƒΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‚ΠΎΡ‡Π½ΠΎ IP адрСса, ΠΊΠΎΠΉΡ‚ΠΎ Π·Π°Π΄Π°Π΄ΠΎΡ…ΠΌΠ΅ ΠΏΠΎ-Ρ€Π°Π½ΠΎ:

$ 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

Има доста информация. НСка ΠΏΠΎΠ΄Ρ‡Π΅Ρ€Ρ‚Π°Π΅ΠΌ основното:

  • ИмС Π½Π° мрСТовия интСрфСйс: enp0s8.
  • Π’ΠΈΠ΄ Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π°: ΠΊΠ°Π±Π΅Π»Π½Π° Ethernet Π²Ρ€ΡŠΠ·ΠΊΠ°.
  • Π’ΠΈΠΆΠ΄Π°ΠΌΠ΅ MAC адрСса Π½Π° устройството.
  • ΠŸΠΎΡΠΎΡ‡Π΅Π½Π° Π΅ максимална Π΅Π΄ΠΈΠ½ΠΈΡ†Π° Π·Π° ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ (MTU). β€” максималния Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π±Π»ΠΎΠΊ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Π΅Π΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½ ΠΎΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Π±Π΅Π· Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π΅.
  • приспособлСниС ΡΠ²ΡŠΡ€Π·Π°Π½ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°.
  • ИмС Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π°ΠΊΠΎΠ΅ устройство ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°: ethernet-enp0s8.
  • Устройството ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΅Π΄ΠΈΠ½ IP адрСс, ΠΊΠΎΠΉΡ‚ΠΎ инсталирахмС ΠΏΠΎ-Ρ€Π°Π½ΠΎ: 192.168.4.26/24.

Π”Ρ€ΡƒΠ³Π° информация сС отнася Π΄ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° шлюза Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. Π’Π΅ зависят ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π°Ρ‚Π° ΠΌΡ€Π΅ΠΆΠ°.

Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ nmcli Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

nmcli ΡΡŠΡ‰ΠΎ ΠΈΠΌΠ° прост ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ ΠΏΠΎ-ΡƒΠ΄ΠΎΠ±Π΅Π½ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с някои. Π—Π° Π΄Π° Π³ΠΎ стартиратС Π½Π° ethernet-enp0s8 Π²Ρ€ΡŠΠ·ΠΊΠ° Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ Π΅Ρ„Π΅ΠΊΡ‚ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅:

$ nmcli connection edit ethernet-enp0s8

Има ΠΈ ΠΌΠ°Π»ΠΊΠ° ΠΏΠΎΠΌΠΎΡ‰, която ΠΎΠ±Π°Ρ‡Π΅ Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ° ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΡ‚ ΠΊΠΎΠ½Π·ΠΎΠ»Π½Π°Ρ‚Π° вСрсия:

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

Ако Π²ΡŠΠ²Π΅Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Π·Π° ΠΏΠ΅Ρ‡Π°Ρ‚ ΠΈ натиснСтС Enter, nmcli Ρ‰Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ всички свойства Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π°:

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

НапримСр, Π·Π° Π΄Π° настроитС Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° към DHCP, Π²ΡŠΠ²Π΅Π΄Π΅Ρ‚Π΅ goto ipv4 ΠΈ Ρ‰Ρ€Π°ΠΊΠ½Π΅Ρ‚Π΅ Π’ΡŠΠ²Π΅Π΄Π΅Ρ‚Π΅:

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>

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ set method auto ΠΈ Ρ‰Ρ€Π°ΠΊΠ½Π΅Ρ‚Π΅ Π’ΡŠΠ²Π΅Π΄Π΅Ρ‚Π΅:

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

Ако искатС Π΄Π° изчиститС статичния IP адрСс, Ρ‰Ρ€Π°ΠΊΠ½Π΅Ρ‚Π΅ Π’ΡŠΠ²Π΅Π΄Π΅Ρ‚Π΅. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π΅Π½ случай Π²ΡŠΠ²Π΅Π΄Π΅Ρ‚Π΅ Π½Π΅ ΠΈ натиснСтС Enter. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ Π·Π°ΠΏΠ°Π·ΠΈΡ‚Π΅, Π°ΠΊΠΎ смятатС, Ρ‡Π΅ Ρ‰Π΅ Π²ΠΈ потрябва Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅. Но Π΄ΠΎΡ€ΠΈ ΠΈ със записан статичСн IP адрСс, DHCP Ρ‰Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, Π°ΠΊΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΡŠΡ‚ Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ.

Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅, Π·Π° Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ си:

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

Π’ΡŠΠ²Π΅Π΄Π΅Ρ‚Π΅ quit, Π·Π° Π΄Π° ΠΈΠ·Π»Π΅Π·Π΅Ρ‚Π΅ ΠΎΡ‚ интСрактивния Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ nmcli. Ако ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ си Π΄Π° напуснСтС, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Π½Π°Π·Π°Π΄.

И Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ всичко

ΠžΡ‚Π²ΠΎΡ€Π΅Ρ‚Π΅ интСрактивния Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ nmcli ΠΈ Π²ΠΈΠΆΡ‚Π΅ ΠΊΠΎΠ»ΠΊΠΎ настройки ΠΈΠΌΠ° ΠΈ ΠΊΠΎΠ»ΠΊΠΎ свойства ΠΈΠΌΠ° всяка настройка. Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈΡΡ‚ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Π΅ страхотСн инструмСнт, Π½ΠΎ Π°ΠΊΠΎ искатС Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ nmcli Π² Π΅Π΄Π½ΠΎΡ€Π΅Π΄ΠΎΠ²ΠΈ ΠΈΠ»ΠΈ скриптовС, Ρ‰Π΅ Π²ΠΈ трябва ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½Π°Ρ‚Π° вСрсия Π½Π° командния Ρ€Π΅Π΄.

Π‘Π΅Π³Π°, слСд ΠΊΠ°Ρ‚ΠΎ ΠΈΠΌΠ°Ρ‚Π΅ основитС, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ man страница nmcli, Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ ΠΈΠ½Π°Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅.

ΠžΡ‚Π½ΠΎΡΠ½ΠΎ ΠΏΡ€Π°Π²Π°Ρ‚Π° Π½Π° Ρ€Π΅ΠΊΠ»Π°ΠΌΠ°Ρ‚Π°

Π•ΠΏΠΈΡ‡Π½ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ - Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Π½Π° Windows ΠΈΠ»ΠΈ Linux с ΠΌΠΎΡ‰Π½ΠΈ процСсори ΠΎΡ‚ сСмСйството AMD EPYC ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡŠΡ€Π·ΠΈ Intel NVMe устройства. ΠŸΠΎΠ±ΡŠΡ€Π·Π°ΠΉΡ‚Π΅ Π΄Π° ΠΏΠΎΡ€ΡŠΡ‡Π°Ρ‚Π΅!

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ Π² Linux с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° nmcli

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€