Linux NM_FAILВысокая

NetworkManager failed в Linux: диагностика и исправление

Служба NetworkManager падает при запуске, оставляя систему без автоматического подключения к сетям. В статье разберём точные причины сбоя и предложим рабочие методы восстановления через терминал.

Обновлено 7 апреля 2026 г.
10-15 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 20.04/22.04/24.04 LTSDebian 11/12Fedora 38/39/40Arch Linux

Что означает ошибка NM_FAIL

Ошибка NetworkManager failed появляется в логах systemd, когда фоновая служба управления соединениями не может корректно запуститься или аварийно завершает работу. Система теряет автоматическое подключение к Wi-Fi и проводным сетям, а команды nmcli и графические индикаторы сети перестают отвечать. Обычно сбой фиксируется на этапе загрузки ОС или сразу после внесения изменений в сетевые конфиги.

Причины возникновения

  1. Повреждённые файлы состояния — некорректное завершение работы или сбой питания оставляют «битые» файлы в /var/lib/NetworkManager/, из-за чего демон не стартует.
  2. Конфликт сетевых служб — одновременная активация systemd-networkd, dhclient или ручного wpa_supplicant блокирует порт и ресурсы, требуемые NetworkManager.
  3. Несовместимые или устаревшие прошивки — после обновления ядра модули беспроводных адаптеров могут требовать новые версии бинарных файлов из пакета linux-firmware.
  4. Ошибки в пользовательских конфигах — синтаксические нарушения в файлах /etc/NetworkManager/NetworkManager.conf или /etc/NetworkManager/conf.d/*.conf приводят к мгновенному падению службы.
  5. Нарушение прав доступа — изменение владельца или прав на каталоги /run/NetworkManager/ или /var/lib/NetworkManager/ мешает сервису создавать сокет и записывать данные.

Способы решения

Способ 1: Сброс состояния и очистка кэша

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

  1. Остановите службу, чтобы снять блокировку с файлов:
    sudo systemctl stop NetworkManager
    
  2. Удалите устаревшие файлы состояния и аренды DHCP. Они генерируются заново при запуске:
    sudo rm -f /var/lib/NetworkManager/NetworkManager.state
    sudo rm -f /var/lib/NetworkManager/*.lease
    
  3. Перезапустите демон и проверьте результат:
    sudo systemctl start NetworkManager
    systemctl is-active NetworkManager
    
    Команда должна вернуть active. Если сеть появилась, настройте подключение через графический интерфейс или nmtui.

💡 Совет: перед удалением файлов можно сделать резервную копию каталога: sudo cp -r /var/lib/NetworkManager ~/nm-backup.

Способ 2: Устранение конфликтов сетевых демонов

Если служба падает с ошибкой Address already in use или Resource temporarily unavailable, вероятно, другой менеджер сети удерживает интерфейс.

  1. Проверьте активные сетевые службы:
    systemctl list-units --type=service | grep -E "network|wpa_supplicant|dhclient"
    
  2. Остановите и замаскируйте конфликтующие компоненты. Замаскированные службы невозможно запустить случайно:
    sudo systemctl stop dhclient wpa_supplicant
    sudo systemctl disable dhclient
    sudo systemctl mask systemd-networkd
    

    ⚠️ Важно: не маскируйте systemd-networkd, если вы используете серверную конфигурацию с Netplan. В таком случае сначала проверьте /etc/netplan/*.yaml.

  3. Сбросьте состояние интерфейсов и перезапустите NetworkManager:
    sudo ip link set eth0 down  # замените eth0 на имя вашего интерфейса
    sudo systemctl restart NetworkManager
    

Способ 3: Восстановление пакетов и драйверов

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

  1. Для Debian/Ubuntu выполните:
    sudo apt update
    sudo apt install --reinstall network-manager network-manager-gnome linux-firmware
    
  2. Для Fedora/RHEL/CentOS:
    sudo dnf reinstall NetworkManager NetworkManager-tui linux-firmware
    
  3. Для Arch Linux:
    sudo pacman -S networkmanager linux-firmware
    
  4. После переустановки обязательно перезагрузите модули ядра или саму систему, чтобы драйверы подхватили новые бинарники:
    sudo systemctl reboot
    

Способ 4: Проверка и восстановление конфигурации

Если служба стартует, но сразу падает с Failed to parse config, проблема в пользовательских настройках.

  1. Проверьте синтаксис главного конфига:
    sudo NetworkManager --print-config
    
  2. Если вывод содержит ошибки, временно переместите пользовательские конфиги в резервную папку:
    sudo mkdir -p /etc/NetworkManager/conf.d/backup
    sudo mv /etc/NetworkManager/conf.d/*.conf /etc/NetworkManager/conf.d/backup/
    
  3. Перезапустите службу. При успешном старте возвращайте файлы по одному, проверяя стабильность после каждого добавления.

Профилактика

  • Избегайте ручного редактирования файлов в /etc/NetworkManager/ без предварительного резервного копирования. Используйте nmcli или nmtui — они автоматически проверяют валидность параметров.
  • Не устанавливайте одновременно несколько менеджеров сети. Если нужен systemd-networkd, полностью отключите NetworkManager через systemctl disable --now NetworkManager.
  • Регулярно обновляйте пакет linux-firmware и ядро. Новые версии содержат исправления для беспроводных чипов, которые часто вызывают падение службы.
  • Настройте автоматическое сохранение логов в journald.conf (Storage=persistent), чтобы при следующем сбое можно было быстро проанализировать историю через journalctl.

Часто задаваемые вопросы

Почему NetworkManager падает сразу после обновления ядра?
Можно ли временно использовать systemd-networkd вместо NetworkManager?
Что делать, если `systemctl restart` не возвращает сеть?
Нужно ли переустанавливать систему после этой ошибки?

Полезное

Проверка статуса и логов службы
Остановка конфликтующих сетевых демонов
Сброс состояния и очистка кэша
Перезапуск службы и проверка связи

Эта статья помогла вам решить проблему?