Вопрос или проблема
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.
Пошаговое решение проблемы:
-
Проверка разрешений и владельцев файлов:
Убедитесь, что файл конфигурации /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
-
Проверка selinux или apparmor:
Если на сервере активированы политики безопасности, такие как SELinux или AppArmor, они могут ограничивать доступ к файлу конфигурации. Проверьте логи на предмет соответствующих предупреждений и убедитесь, что systemd-networkd имеет необходимые разрешения. -
Перезагрузка служб:
После внесения изменений, перезапустите связанные службы для применения изменений.sudo systemctl restart systemd-networkd sudo netplan apply
-
Анализ логов:
Изучите логи systemd и systemd-networkd для поиска более подробной информации о возникшей ошибке. Это можно сделать с помощью команды:journalctl -u systemd-networkd
-
Изолированная проверка конфигурации:
Если ошибка сохраняется, попробуйте временно отключить netplan и вручную создать файл конфигурации .network для проверки. Это поможет определить, является ли проблема специфичной для конфигурации netplan. -
Сетевой статус:
Убедитесь, что ваша сетевая карта работает корректно, и проверьте статус соединений командой:networkctl status enp3s0
-
Проверка обновления ядра и драйверов:
Иногда изменения в системах могут вызвать подобные ошибки. Убедитесь, что ваше ядро и связанные с сетевым адаптером драйвера актуальны.
Заключение:
Разрешение подобных проблем требует внимательного подхода к конфигурации файлов, правам доступа и системным логам. Для минимизации возможностей ошибочного вмешательства, следует применять изменения последовательно и проверять каждое воздействие. Если проблема остается неустраненной, дополнительная информация из логов может помочь идентифицировать корень проблем.