Використання NetworkManager (NMCLI) на Ubuntu та Debian

Використання NetworkManager (NMCLI) на Ubuntu та Debian

 

Для системних адміністраторів повсякденна рутина пов’язана з налаштуванням (виділенням), обслуговуванням, усуненням несправностей, моніторингом, захистом та управлінням серверами в центрах обробки даних. Цей посібник відповідає на питання, яке виникає про те, як керувати або адмініструвати мережеві інтерфейси Ubuntu/Debian за допомогою деяких інструментів за замовчуванням. Network Manager — це інструмент, призначений для керування мережами на машині. Він має багато інструментів, які використовуються для керування конфігураціями мережі майже у всіх дистрибутивах Linux. Цей інструмент є стандартним інструментом керування мережею в системах Ubuntu. Він надає наступні інструменти управління мережею:

  1. Nmtui– цей інструмент запускається у вікні терміналу Linux. Це текстовий інструмент керування мережею, за допомогою якого можна вносити зміни в мережу шляхом введення даних і вибору меню. Він використовується для виконання основних завдань з управління мережею, в ньому багато відсутніх функцій, які доступні в NMCLI.
  2. Gnome Setting– з робочого столу Gnome можна керувати мережею за допомогою мережевої програми Gnome. Він забезпечує базове управління мережею та простий у виконанні конфігурацій.
  3. nm-connection-editor– це інструмент керування мережею на графічній основі, який дозволяє отримати доступ до параметрів конфігурації NetworkManagers
  4. NMCLI-зазвичай званий Network Command-Line Interface — це мережевий інструмент, який використовується для керування NetworkManager, а також для показу стану мережевого з’єднання. Це корисно, коли ви не можете отримати доступ до графічного середовища або запущеного випуску сервера та внести зміни в конфігурацію мережі

Перевага надається Network Manager через такі можливості:

  • Гнучка візуалізація мережі
  • Комплексне управління мережею
  • Вбудовані можливості аналізу першопричин
  • Повністю настроюваний контент
  • Можливості опитування за допомогою вбудованого пристрою та інтерфейсу
  • Усунення неполадок мережі в один клік
  • Широкі можливості звітності
  • Кілька варіантів інтеграції
  • Виявлення дедалі більшої мережі

До кінця цього посібника ви зможете встановити та використовувати NetworkManager NMCLI на Ubuntu / Debian System.

Для цього посібника переконайтеся, що ваша Ubuntu|Система Debian оновлюється та модернізується, як показано нижче.

sudo apt update && sudo apt upgrade -y

Крок 1 – Встановіть NetworkManager

За замовчуванням NetworkManager існує на Ubuntu|Debian, але у випадку, якщо вам потрібно його встановити, я продемонструю два способи встановити NetworkManager на вашу Ubuntu|Система Debian.

  1. Використання APT
  2. Використання функції прив’язки

Метод 1.  Встановіть NetworkManager за допомогою APT

NetworkManager доступний у стандартному ubuntu|APT-репозиторіїв систем Debian і можуть бути встановлені, як показано нижче.

sudo apt update
sudo apt install network-manager

Запустіть і ввімкніть Network Manager, як показано нижче.

sudo systemctl start NetworkManager.service 
sudo systemctl enable NetworkManager.service

Метод 2. Встановіть NetworkManager за допомогою snap

NetworkManager також доступний у магазині Snap і може бути встановлений на Ubuntu|Система Debian з встановленим та увімкненим snap, як показано нижче.

sudo apt install snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap

Потім встановіть NetworkManager за допомогою команди:

snap install network-manager

Після цієї установки всі необхідні вилки та слоти будуть підключені автоматично, перевірте це, як показано нижче.

snap connections network-manager

Приклад виводу:

Interface              Plug                                   Slot                     Notes
dbus                   network-manager:wpa                    -                        -
firewall-control       network-manager:firewall-control       :firewall-control        -
hardware-observe       network-manager:hardware-observe       :hardware-observe        -
login-session-observe  network-manager:login-session-observe  :login-session-observe   -
modem-manager          network-manager:modem-manager          :modem-manager           -
network                network-manager:network                :network                 -
network-manager        -                                      network-manager:service  -
network-manager        network-manager:nmcli                  -                        -
network-observe        network-manager:network-observe        :network-observe         -
network-setup-control  network-manager:network-setup-control  :network-setup-control   -
network-setup-observe  network-manager:network-setup-observe  :network-setup-observe   -
ppp                    network-manager:ppp                    :ppp                     -

Як тільки установка буде завершена, Network Manager буде автоматично запущений і працюватиме у фоновому режимі, перевірте його стан за допомогою команди:

$ systemctl status NetworkManager.service
● NetworkManager.service - Network Manager
     Loaded: loaded (/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-09-28 14:50:00 EAT; 1min ago
       Docs: man:NetworkManager(8)
   Main PID: 423 (NetworkManager)
      Tasks: 3 (limit: 2404)
     Memory: 13.6M
        CPU: 303ms
     CGroup: /system.slice/NetworkManager.service
             └─423 /usr/sbin/NetworkManager --no-daemon

Sep 28 14:50:16 debian NetworkManager[423]: <info>  [1632829816.7357] manager: NetworkManager state is now CONNECTED_LOCAL
Sep 28 14:50:16 debian NetworkManager[423]: <info>  [1632829816.7434] manager: NetworkManager state is now CONNECTED_SITE
Sep 28 14:50:16 debian NetworkManager[423]: <info>  [1632829816.7468] policy: set 'Wired connection 1' (enp0s3) as default for IPv4 routing and DNS

Крок 2 – Використовуйте NetworkManager NMCLI

NMCLI – це мережева утиліта, яка дозволить нам керувати конфігураціями мережі. Існує декілька команд, які можна використовувати для керування мережею.

Змінення мережевих підключень

Використання NMCLI для зміни мережевих з’єднань вимагає від нас почати зі списку мережевих підключень, використовуючи команду:

nmcli connection show

Приклад виводу:

AME                UUID                                  TYPE      DEVICE 
Wired connection 1  ac98eab7-1ad3-4cf0-93a0-210bfe3bb7e2  ethernet  enp0s3 

Відображення активного з’єднання

Наведена вище команда показує всі з’єднання, але якщо ви хочете бачити активні або вгору з’єднання, ви додасте прапорець до вищевказаної команди;--active

nmcli connection show --active

Приклад виводу:

NAME                UUID                                  TYPE      DEVICE 
Wired connection 1  ac98eab7-1ad3-4cf0-93a0-210bfe3bb7e2  ethernet  enp0s3

За допомогою імені профілю підключення можна переглянути додаткову інформацію, як показано нижче.

nmcli connection show "Wired connection 1"

Приклад виводу:

Використання NetworkManager (NMCLI) на Ubuntu та Debian

Крок 3 – Керуйте мережевими з’єднаннями за допомогою NMCLI

Додавання мережевого з’єднання за допомогою NMCLI

Використовуючи NMCLI, можна додавати нові з’єднання до Ubuntu|Система Debian використовує синтаксис нижче.

sudo nmcli connection add type <network-type> ifname <connection-name>

Змінення існуючого мережевого з’єднання за допомогою NMCLI

За допомогою NMCLI можна вносити корективи, конфігурації до існуючого мережевого з’єднання, наприклад, перемикатися між статичними та DHCP конфігураціями, використовуючи наведений нижче синтаксис.

sudo nmcli connection modify <connection-id> <parameter> <value>

Тепер давайте подивимося, які конфігурації ми можемо додавати та змінювати з’єднання за допомогою NMCLI. Ми почнемо з додавання профілю з’єднання NetworkManager для нашого з’єднання. Для мене це з’єднання Ethernet, і я додам профіль підключення з назвою My-New-Connection

nmcli connection add con-name My-New-Connection ifname enp0s3 type ethernet

Приклад виводу:

Connection 'My-New-Connection' (a6b26540-4c06-4a80-a0fa-a2868e4006e5) successfully added.

Додавши профіль підключення, ми внесемо наведені нижче корективи. Не забудьте встановити власну IP-адресу, шлюз, DNS-сервер тощо, використовуючи синтаксис, схожий на той, який я навів.

Для встановлення автоматичного запуску підключення до мережі використовуйте:

nmcli connection modify My-New-Connection connection.autoconnect yes

1. Встановіть статичну адресу IPv4 з маскою підмережі /24

Наприклад, ми модифікуємо існуюче з’єднання на статичне IP_Address а також змінимо підмережу /24 без цієї специфікації, вона призначить IP з маскою за замовчуванням, яка може викликати проблеми пізніше.

sudo nmcli connection modify My-New-Connection ipv4.address 192.168.100.157/24

2Встановіть статичну адресу IPv6 з маскою підмережі /64

nmcli connection modify My-New-Connection ipv6.addresses 2001:db8:1::1/64

3. Встановіть шлюз IPv4/IPv6 за замовчуванням

##For IPv4
nmcli connection modify My-New-Connection ipv4.gateway 192.168.100.1
##For IPv6
nmcli connection modify My-New-Connection ipv6.gateway 2001:db8:1::fffe

4Встановіть DNS-сервер IPv4/IPv6

##For IPv4
nmcli connection modify My-New-Connection ipv4.dns "192.168.100.200"
##For IPv6
nmcli connection modify My-New-Connection ipv6.dns "2001:db8:1::ffbb"

5. Встановіть автоматичний спосіб підключення IPv4 та IPv6

##For IPv4
nmcli connection modify My-New-Connection ipv4.method auto
##For IPv6
nmcli connection modify My-New-Connection ipv6.method auto

Щоб внесені зміни вступили в силу, потрібно активувати профіль.

$ nmcli connection up My-New-Connection
connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)

Тепер перевірте активні з’єднання.

nmcli connection show --active

Перевірте встановлений IP_Address.

$ hostname -I
192.168.100.120 192.168.100.157 

Як і на виході, у мене є дві IP-адреси, основна IP-адреса та додаткова IP-адреса, додана новим профілем підключення My-New-Connection. Додаткову інформацію можна перевірити за допомогою команди, як описано нижче.ip a

Використання NetworkManager (NMCLI) на Ubuntu та Debian1

Керування пристроями за допомогою NMCLI

Утиліта NMCLI також може використовуватися для управління такими пристроями, як:

Відображення стану пристрою

sudo nmcli -p dev status

Зміна конфігурації пристрою

Перш ніж ви зможете змінити конфігурацію пристрою, вам спочатку потрібно отримати інформацію про пристрій.

sudo nmcli device show

За допомогою відомостей про пристрій можна змінити параметри пристрою, використовуючи наведений нижче синтаксис.

$ sudo nmcli device modify <interface-name> <parameter> <value>
###OR
$ sudo nmcli dev mod <interface-name> <parameter> <value>

Пам’ятайте, що наведені вище зміни є тимчасовими і можуть бути скинуті до налаштувань за замовчуванням за допомогою команди:

sudo nmcli dev reapply interface-name

У випадку, якщо ви застрягли під час використання диспетчера пристроїв NMCLI, зверніться за допомогою до команди:

sudo nmcli device help

Висновок

Ось і все! Ми розглянули, як встановити та використовувати NetworkManager NMCLI на Ubuntu / Debian System. Сподіваюся, цей посібник був для вас значущим. Я припускаю, що тепер ви можете керувати своїм мережевим з’єднанням та мережевими пристроями за допомогою NetworkManager NMCLI.

Прокрутка до верху