systemd-networkd: отказано в разрешении, не удается прочитать файл сети

Вопрос или проблема

Ubuntu Server
22.04.1 LTS noble
Начало проблем: 21.12.2025

У моего сервиса systemd-networkd возникают проблемы с подключением к интернету, так как он не может получить доступ к сетевому файлу конфигурации, созданному netplan, в /run/systemd/network. Я не использую NetworkManager вместе с этим. Права доступа для файла – 600, а для директории network – 755. Оба принадлежат root:systemd-networkd.

Команда: networkctl status enp3s0
     ● 2: enp3s0
               Файл ссылки: /usr/lib/systemd/network/99-default.link
            Сетевой файл: /run/systemd/network/10-netplan-enp3s0.network
                   Состояние: ухудшено (неудачно)
            Состояние онлайн: онлайн
                    Тип: ether
                    Путь: pci-0000:03:00.0
                  Драйвер: r8169
                  Производитель: Realtek Semiconductor Co., Ltd.
                   Модель: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (материнская плата серии P8)
                   Янв 03 13:58:25 makiserver systemd-networkd[934]: enp3s0: Настройка с /run
systemd/network/10-netplan-enp3s0.network.
Янв 03 13:58:25 makiserver systemd-networkd[934]: enp3s0: Ссылка ВКЛ
Янв 03 13:58:28 makiserver systemd-networkd[934]: enp3s0: Получено соединение
Янв 03 13:58:28 makiserver systemd-networkd[934]: enp3s0: Не удалось настроить клиент DHCPv4: отказано в доступе
Янв 03 13:58:28 makiserver systemd-networkd[934]: enp3s0: Неудача
Янв 03 13:58:29 makiserver systemd-networkd[934]: enp3s0: Получено IPv6LL
Янв 03 13:58:29 makiserver systemd-networkd[934]: enp3s0: Не удалось уведомить клиента DHCPv4 о подключении IPv6: отказано в доступе
Янв 03 19:24:58 makiserver systemd-networkd[934]: enp3s0: Настройка с /run/systemd/network/10-netplan-enp3s0.network.
Янв 03 19:24:58 makiserver systemd-networkd[934]: enp3s0: Не удалось настроить клиент DHCPv4: отказано в доступе
Янв 03 19:24:58 makiserver systemd-networkd[934]: enp3s0: Неудача

journalct для systemd-networkd

Янв 03 19:24:19 makiserver systemd-networkd[934]: vethab6dc2e: Ссылка ВКЛ
Янв 03 19:24:19 makiserver systemd-networkd[934]: vethab6dc2e: Получено соединение
Янв 03 19:24:19 makiserver systemd-networkd[934]: br-f34576463440: Потеряно соединение
Янв 03 19:24:21 makiserver systemd-networkd[934]: vethab6dc2e: Получено IPv6LL
Янв 03 19:24:58 makiserver systemd-networkd[934]: enp3s0: Настройка с /run/systemd/
network/10-netplan-enp3s0.network.
Янв 03 19:24:58 makiserver systemd-networkd[934]: enp3s0: Не удалось настроить клиент DHCPv4: отказано в доступе
Янв 03 19:24:58 makiserver systemd-networkd[934]: enp3s0: Неудача
Янв 03 19:25:18 makiserver systemd-networkd[934]: vetha36196d: Ссылка ВКЛ
Янв 03 19:25:18 makiserver systemd-networkd[934]: veth8cbdcfc: Ссылка ВКЛ

netplan status enp3s0 показывает ethernet ВКЛ, но статус – оффлайн.
Я пробовал изменить права на 755 и владельца на root, но ошибка всё равно сохраняется.
Я хочу избежать отключения netplan и создания собственного .network пока. Также пробовал удалить конфигурацию yaml в /etc/netplan, чтобы попытаться её пересоздать, но это не сработало.
Проверил роутер, и он показывает, что что-то подключено к моему порту, но это не отображается в окнах конфигурации DHCP (т.е. нет локального IP).
Проблема возникла после того, как я однажды утром загрузил сервер. За день до этого я установил сервер core keeper и мог испортить права в etc. Я восстановил их, насколько смог.
Если я что-то упустил, просто скажите, я получу логи. Новый на этом форуме.

Ответ или решение

На форуме был описан пример проблемы с конфигурацией сети на сервере Ubuntu Server 22.04.1 LTS. Основная проблема связана с невозможностью сервиса systemd-networkd прочитать файл конфигурации сети, расположенный в каталоге /run/systemd/network. Эта ситуация вызывает ошибку "Permission denied", когда сервис пытается настроить DHCPv4 для интерфейса enp3s0.

Пошаговое решение проблемы:

  1. Проверка разрешений и владельцев файлов:
    Убедитесь, что файл конфигурации /run/systemd/network/10-netplan-enp3s0.network имеет правильные разрешения и владельцев. Правильным владельцем должен быть root, а группа — systemd-networkd. Разрешения для файла следует установить как 644, чтобы systemd-networkd мог его прочитать.

    sudo chown root:systemd-networkd /run/systemd/network/10-netplan-enp3s0.network
    sudo chmod 644 /run/systemd/network/10-netplan-enp3s0.network
  2. Проверка selinux или apparmor:
    Если на сервере активированы политики безопасности, такие как SELinux или AppArmor, они могут ограничивать доступ к файлу конфигурации. Проверьте логи на предмет соответствующих предупреждений и убедитесь, что systemd-networkd имеет необходимые разрешения.

  3. Перезагрузка служб:
    После внесения изменений, перезапустите связанные службы для применения изменений.

    sudo systemctl restart systemd-networkd
    sudo netplan apply
  4. Анализ логов:
    Изучите логи systemd и systemd-networkd для поиска более подробной информации о возникшей ошибке. Это можно сделать с помощью команды:

    journalctl -u systemd-networkd
  5. Изолированная проверка конфигурации:
    Если ошибка сохраняется, попробуйте временно отключить netplan и вручную создать файл конфигурации .network для проверки. Это поможет определить, является ли проблема специфичной для конфигурации netplan.

  6. Сетевой статус:
    Убедитесь, что ваша сетевая карта работает корректно, и проверьте статус соединений командой:

    networkctl status enp3s0
  7. Проверка обновления ядра и драйверов:
    Иногда изменения в системах могут вызвать подобные ошибки. Убедитесь, что ваше ядро и связанные с сетевым адаптером драйвера актуальны.

Заключение:

Разрешение подобных проблем требует внимательного подхода к конфигурации файлов, правам доступа и системным логам. Для минимизации возможностей ошибочного вмешательства, следует применять изменения последовательно и проверять каждое воздействие. Если проблема остается неустраненной, дополнительная информация из логов может помочь идентифицировать корень проблем.

Оцените материал
Добавить комментарий

Капча загружается...