Интерфейс отображается как `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 вслепую.
Сначала требуется:
- сохранить текущие адреса, маршруты и DNS;
- создать профиль NetworkManager;
- остановить конфликтующий менеджер;
- активировать профиль через
nmcli; - отключить автозапуск второго менеджера.
Осторожно
Одновременное управление одним интерфейсом двумя сетевыми менеджерами вызывает конфликт адресов и маршрутов.
Активировать соединение
Проверить существующие профили:
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 без необходимости |