Блог "Дети ОИТа"
/поиск

Интерфейс отображается как `unmanaged`

> [!INFO] Применимость > **ALT Linux 10.4–11.x** · **NetworkManager** · локальная работа через CLI/TTY > Основной инструмент: `nmcli`. > > Симптом: интерфейс существует в системе, но NetworkManager

[!INFO] Применимость
ALT Linux 10.4–11.x · NetworkManager · локальная работа через CLI/TTY
Основной инструмент: nmcli.

Симптом: интерфейс существует в системе, но NetworkManager не управляет им.

Оглавление

  • [[#Подтвердить проблему|Подтвердить проблему]]
  • [[#Быстрое временное восстановление|Быстрое временное восстановление]]
  • [[#Проверить NetworkManager|Проверить NetworkManager]]
  • [[#Найти причину unmanaged|Найти причину unmanaged]]
  • [[#Исправить конфигурацию NetworkManager|Исправить конфигурацию NetworkManager]]
  • [[#Исправить правило udev|Исправить правило udev]]
  • [[#Проверить другой сетевой менеджер|Проверить другой сетевой менеджер]]
  • [[#Активировать соединение|Активировать соединение]]
  • [[#Проверить результат|Проверить результат]]
  • [[#Типовые причины|Типовые причины]]

Подтвердить проблему

Показать интерфейсы:

ip -br link
nmcli -f DEVICE,TYPE,STATE,CONNECTION device status

Пример проблемы:

DEVICE  TYPE      STATE      CONNECTION
enp1s0  ethernet  unmanaged  --

Подставить имя интерфейса:

IFACE="enp1s0"

Показать подробное состояние:

nmcli -f GENERAL.DEVICE,GENERAL.TYPE,GENERAL.STATE,GENERAL.REASON device show "$IFACE"

Проверить журнал:

journalctl -u NetworkManager -b --no-pager | grep -Ei "$IFACE|unmanaged"

Быстрое временное восстановление

Попробовать передать интерфейс NetworkManager:

sudo nmcli device set "$IFACE" managed yes

Проверить:

nmcli -f DEVICE,STATE,CONNECTION device status

Если состояние изменилось с unmanaged на disconnected, временное восстановление выполнено.

Предупреждение

Команда может действовать только до перезапуска NetworkManager или системы. Причину всё равно необходимо найти и исправить постоянно.

Если интерфейс остался unmanaged, продолжить диагностику.

Проверить NetworkManager

Проверить службу:

systemctl is-active NetworkManager
systemctl status NetworkManager --no-pager -l

Если служба остановлена:

sudo systemctl restart NetworkManager

Проверить, не отключена ли сеть глобально:

nmcli networking

Если вывод:

disabled

включить сеть:

sudo nmcli networking on

Повторно проверить интерфейс:

nmcli device status

Найти причину unmanaged

Показать эффективную конфигурацию NetworkManager:

sudo NetworkManager --print-config

Найти параметры управления устройствами:

sudo NetworkManager --print-config | grep -nEi 'unmanaged|managed|plugins'

Найти соответствующие строки в конфигурационных файлах:

sudo grep -RInE 'unmanaged-devices|managed[[:space:]]*=[[:space:]]*0' \
  /etc/NetworkManager \
  /usr/lib/NetworkManager \
  /run/NetworkManager 2>/dev/null

Проверить основные варианты:

[keyfile]
unmanaged-devices=interface-name:enp1s0
[device-...]
match-device=interface-name:enp1s0
managed=0

Порядок приоритета конфигурации:

/usr/lib/NetworkManager/conf.d/
/run/NetworkManager/conf.d/
/etc/NetworkManager/NetworkManager.conf
/etc/NetworkManager/conf.d/

Локальные исправления размещать в:

/etc/NetworkManager/conf.d/

Исправить конфигурацию NetworkManager

Причина: managed=0

Создать локальное переопределение:

sudo nano /etc/NetworkManager/conf.d/99-manage-interface.conf

Содержимое:

[device-field-interface]
match-device=interface-name:enp1s0
managed=1

Заменить enp1s0 на фактическое имя интерфейса.

Проверить итоговую конфигурацию:

sudo NetworkManager --print-config | grep -nEi 'managed|unmanaged'

Перезапустить NetworkManager:

sudo systemctl restart NetworkManager

Причина: keyfile.unmanaged-devices

Пример найденной строки:

[keyfile]
unmanaged-devices=interface-name:enp1s0

Такое исключение является строгим. Команда:

nmcli device set "$IFACE" managed yes

может его не переопределить.

Сначала создать резервную копию найденного файла:

sudo cp -a <файл> <файл>.backup

Открыть файл:

sudo nano <файл>

Удалить из unmanaged-devices только проблемный интерфейс.

Не удалять исключения других устройств.

Перезапустить NetworkManager:

sudo systemctl restart NetworkManager

Предупреждение

Файлы в /usr/lib/NetworkManager/conf.d/ вручную не изменять. Если исключение задано там, создать локальное переопределение в /etc/NetworkManager/conf.d/ либо изменить дистрибутивный режим управления интерфейсом.

Исправить правило udev

Проверить свойства устройства:

udevadm info "/sys/class/net/$IFACE" | grep -E 'NM_UNMANAGED|ID_NET'

Проблема подтверждена при наличии:

E: NM_UNMANAGED=1

Найти правило:

sudo grep -RIn 'NM_UNMANAGED' \
  /etc/udev/rules.d \
  /usr/lib/udev/rules.d 2>/dev/null

Если правило находится в /etc/udev/rules.d/, создать резервную копию:

sudo cp -a <файл_правила> <файл_правила>.backup

Открыть правило:

sudo nano <файл_правила>

Исправить или удалить только строку, относящуюся к нужному интерфейсу.

Перечитать правила:

sudo udevadm control --reload
sudo udevadm trigger --action=add "/sys/class/net/$IFACE"

Затем:

sudo systemctl restart NetworkManager

Если правило установлено системным пакетом в /usr/lib/udev/rules.d/, не редактировать его напрямую. Использовать локальное переопределение NetworkManager:

[device-field-interface]
match-device=interface-name:enp1s0
managed=1

Проверить другой сетевой менеджер

ALT Linux может использовать для интерфейса:

  • NetworkManager native;
  • NetworkManager с конфигурацией etcnet;
  • etcnet через network.service;
  • systemd-networkd.

Проверить службы:

systemctl is-active NetworkManager
systemctl is-active network
systemctl is-active systemd-networkd

Проверить конфигурацию etcnet:

sudo ls -la "/etc/net/ifaces/$IFACE" 2>/dev/null

Проверить systemd-networkd:

networkctl status "$IFACE"
sudo grep -RIn "$IFACE" /etc/systemd/network 2>/dev/null

Если другой менеджер уже управляет этим интерфейсом, не включать управление NetworkManager вслепую.

Сначала требуется:

  1. сохранить текущие адреса, маршруты и DNS;
  2. создать профиль NetworkManager;
  3. остановить конфликтующий менеджер;
  4. активировать профиль через nmcli;
  5. отключить автозапуск второго менеджера.

Осторожно

Одновременное управление одним интерфейсом двумя сетевыми менеджерами вызывает конфликт адресов и маршрутов.

Активировать соединение

Проверить существующие профили:

nmcli -f NAME,TYPE,DEVICE connection show

Если подходящий профиль существует:

sudo nmcli connection up "<имя_профиля>" ifname "$IFACE"

Если профиля нет и требуется DHCP:

sudo nmcli connection add \
  type ethernet \
  ifname "$IFACE" \
  con-name "DHCP-$IFACE" \
  ipv4.method auto

Активировать:

sudo nmcli connection up "DHCP-$IFACE"

Проверить результат

nmcli -f DEVICE,TYPE,STATE,CONNECTION device status
nmcli connection show --active
ip -br -4 address show dev "$IFACE"
ip -4 route

Ожидаемое состояние:

connected

или до активации профиля:

disconnected

Состояние unmanaged должно исчезнуть.

Проверить после перезагрузки:

sudo reboot

После загрузки:

nmcli -f DEVICE,STATE,CONNECTION device status

Типовые причины

Причина Где проверять Исправление
Интерфейс временно отключён через nmcli nmcli device status nmcli device set <интерфейс> managed yes
NetworkManager остановлен systemctl status NetworkManager Перезапустить службу
Сеть глобально отключена nmcli networking nmcli networking on
Задано managed=0 NetworkManager --print-config Создать [device] managed=1
Задано unmanaged-devices Конфиги NetworkManager Удалить интерфейс из исключения
Устройство исключено правилом udev udevadm info Исправить правило или переопределить через [device]
Интерфейс занят etcnet /etc/net/ifaces/ и network.service Перенести конфигурацию в NetworkManager
Интерфейс занят systemd-networkd /etc/systemd/network/ Перенести конфигурацию в NetworkManager
Интерфейс виртуальный или служебный Тип устройства и назначение Не передавать NetworkManager без необходимости