Поиск по сайту:

Как управлять сетью с помощью NetworkManager в RHEL/CentOS 8


В RHEL и CentOS 8 сетевая служба управляется демоном NetworkManager и используется для динамической настройки и управления сетевыми устройствами, а также поддержания соединений. и активны, когда они доступны.

NetworkManager обладает многочисленными преимуществами, такими как поддержка простой настройки и управления сетью с использованием как интерфейса командной строки, так и инструментов графического пользовательского интерфейса, предоставляет API через D-Bus, который позволяет запрашивать и контролировать конфигурацию сети, поддержку для гибкости конфигурации и многое другое.

Кроме того, NetworkManager также можно настроить с помощью файлов и веб-консоли Cockpit, а также он поддерживает использование пользовательских сценариев для запуска или остановки других служб в зависимости от состояния соединения.

Читайте также: как настраивать и управлять сетевыми подключениями с помощью инструмента nmcli

Прежде чем мы продолжим, следует отметить еще несколько важных моментов, касающихся работы в сети в CentOS/RHEL 8:

  • Традиционные файлы конфигурации типа ifcfg (например, ifcfg-eth0, ifcfg-enp0s3) по-прежнему поддерживаются.
  • Сетевые сценарии устарели и больше не предоставляются по умолчанию.
  • Минимальная установка предоставляет новую версию сценариев ifup и ifdown, которые вызывают NetworkManager через инструмент nmcli.
  • Для запуска сценариев ifup и ifdown должен быть запущен NetworkManager.

Установка NetworkManager на CentOS/RHEL 8

NetworkManager должен быть предустановлен в базовой установке CentOS/RHEL 8, в противном случае вы можете установить его с помощью диспетчера пакетов DNF, как показано.

dnf install NetworkManager

Глобальный файл конфигурации для NetworkManager находится по адресу /etc/NetworkManager/NetworkManager.conf, а дополнительные файлы конфигурации можно найти в /etc/NetworkManager/. >.

Управление NetworkManager с помощью Systemctl в CentOS/RHEL 8

В CentOS/RHEL 8 и других современных системах Linux, в которых используется systemd (менеджер системы и служб), управление службами осуществляется с помощью инструмента systemctl.

Ниже приведены полезные команды systemctl для управления службой NetworkManager.

Проверка статуса NetworkManager

При минимальной установке CentOS/RHEL 8 должен быть запущен NetworkManager и включен автоматический запуск во время загрузки по умолчанию. Вы можете использовать следующие команды, чтобы проверить, активен ли NetworkManager, включен ли он, и распечатать информацию о состоянии выполнения NetworkManager.

systemctl is-active NetworkManager
systemctl is-enabled NetworkManager
systemctl status NetworkManager 

Запуск сетевого менеджера

Если NetworkManager не запущен, его можно запустить, просто запустив.

systemctl start NetworkManager

Остановка NetworkManager

Чтобы остановить или деактивировать NetworkManager по той или иной причине, введите следующую команду.

systemctl stop NetworkManager

Перезапуск сетевого менеджера

Если вы внесли какие-либо изменения в файлы конфигурации интерфейса или конфигурацию демона NetworkManager (обычно расположенную в каталоге /etc/NetworkManager/), вы можете перезапустить (остановить, а затем запустить) NetworkManager, чтобы применить изменения как показано.

systemctl restart NetworkManager

Перезагрузка NetworkManager

Чтобы перезагрузить конфигурацию демона NetworkManager (но не файл конфигурации модуля systemd) без перезапуска службы, выполните следующую команду.

systemctl reload NetworkManager

Использование инструментов NetworkManager и работа с файлами ifcfg

NetworkManager поддерживает некоторые инструменты взаимодействия пользователей с ним, а именно:

  1. nmcli — инструмент командной строки, используемый для настройки сети.
  2. nmtui — простой текстовый пользовательский интерфейс на основе проклятий, который также используется для настройки и управления соединениями интерфейса newtwork.
  3. Другие инструменты включают nm-connection-editor, центр управления и значок сетевого подключения (все в графическом интерфейсе).

Чтобы получить список устройств, обнаруженных NetworkManager, выполните команду nmcli.

 
nmcli device 
OR
nmcli device status

Чтобы просмотреть все активные подключения, выполните следующую команду (обратите внимание, что без -a выводятся доступные профили подключений).

nmcli connection show -a

Установите статический IP-адрес в CentOS/RHEL 8

Файлы конфигурации сетевого интерфейса расположены в каталоге /etc/sysconfig/network-scripts/. Вы можете редактировать любой из этих файлов, например, чтобы установить статический IP-адрес для вашего сервера CentOS/RHEL 8.

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

Вот пример конфигурации для установки статического IP-адреса.

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=e81c46b7-441a-4a63-b695-75d8fe633511
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.0.110
PREFIX=24
GATEWAY=192.168.0.1
DNS1=8.8.8.8
PEERDNS=no

После сохранения изменений необходимо перезагрузить все профили подключения или перезапустить NetworkManager, чтобы новые изменения вступили в силу.

nmcli connection reload
OR
systemctl restart NetworkManager

Запуск или остановка сетевых служб/сценариев на основе сетевого подключения

NetworkManager имеет полезную опцию, позволяющую пользователям выполнять службы (такие как NFS, SMB и т. д.) или простые сценарии на основе сетевого подключения.

Например, если вы хотите автоматически смонтировать удаленный каталог локально с помощью sshfs, смонтируйте общие ресурсы SMB или общие ресурсы NFS после переключения между сетями. Возможно, вы захотите, чтобы такие сетевые службы выполнялись только после того, как NetworkManager будет запущен и заработает (все соединения активны).

Эта функция предоставляется службой NetworkManager-dispatcher (которая должна быть запущена и включена для автоматического запуска при загрузке системы). После запуска службы вы можете добавить свои сценарии в каталог /etc/NetworkManager/dispatcher.d.

Все скрипты должны быть исполняемыми и доступными для записи и принадлежать пользователю root, например:

chown root:root /etc/NetworkManager/dispatcher.d/10-nfs-mount.sh
chmod 755 /etc/NetworkManager/dispatcher.d/10-nfs-mount.sh

Важно! Сценарии диспетчера будут выполняться в алфавитном порядке во время подключения и в обратном алфавитном порядке во время отключения.

Использование устаревших сетевых сценариев

Как мы упоминали ранее, сетевые сценарии устарели в CentOS/RHEL 8 и не устанавливаются по умолчанию. Если вы по-прежнему хотите использовать nсетевые сценарии, вам необходимо установить пакет network-scripts.

yum install network-scripts

После установки этот пакет предоставляет новую версию сценариев ifup и ifdown, которые вызывают NetworkManager с помощью инструмента nmcli. мы рассмотрели выше. Обратите внимание, что для запуска этих сценариев должен быть запущен NetworkManager.

Дополнительную информацию см. на справочных страницах systemctl и NetworkManager.

man systemctl
man NetworkManager

Это все, что мы подготовили в этой статье. Вы можете обратиться за разъяснениями по любому из пунктов, задать вопросы или внести какие-либо дополнения в данное руководство через форму обратной связи ниже.