Вопрос или проблема
Я использую Ubuntu 24.04. У меня в качестве рендерера используется networkd, а Network Manager отключен.
У меня есть несколько NUC, все они используют networkd и у всех dhcp4 для enp5s0 установлен в значение no. Один из NUC (пока что только один, я протестировал 6) имеет статический IP-адрес, который я установил, но также имеет динамический IP-адрес. Это нарушает работу задачи на Rundeck, так как я использую IP-адрес в названии файла. Название файла может состоять только из одного IP-адреса.
Мой файл /etc/netplan/01-static-usb.yaml одинаков на всех NUC. Я обнаружил, что файл /run/systemd/network/10-netplan-enp5s0.network отличается для этого конкретного NUC. В него была добавлена строка DHCP=ipv4
под заголовком [Network], а также имеется заголовок [DHCP], которого нет в других NUC в этом файле.
Я удалил этот файл, но он автоматически возвращается. Я удалил лишние строки из файла, но когда я выполняю sudo netplan apply
, строки возвращаются.
Есть ли причина, по которой это происходит? Я что-то упустил на этом конкретном NUC?
Вот файл 01-static-enp5s0.yaml, который я создал:
network:
version: 2
renderer: networkd
ethernets:
enp5s0:
dhcp4: no
addresses: [10.33.33.31/24]
routes:
- to: 10.33.33.31
via: 10.33.33.1
match:
macaddress: XX:XX:XX:XX:XX:XY
set-name: enp5s0
eno1:
dhcp4: yes
optional: yes
match:
macaddress: XX:XX:XX:XX:XX:XX
set-name: eno1
Вот файл /run/systemd/network/10-netplan-enp5s0.yaml, который автоматически генерируется:
[Match]
PermanentMACAddress=XX:XX:XX:XX:XX:XY
Name=enp5s0
[Network]
DHCP=ipv4
LinkLocalAddressing=ipv6
Address=10.33.33.31/24
[Route]
Destination=10.33.33.31
Gateway=10.33.33.1
[DHCP]
RouteMetric=100
UseMTC=true
Ответ или решение
Проблема с динамическим и статическим IP-адресом на Ubuntu 24.04
Причиной, по которой интерфейс enp5s0
на одном из ваших NUC продемонстрировал как статический, так и динамический IPv4-адрес, несмотря на установку параметра dhcp4: no
в конфигурационном файле Netplan, может быть несколько факторов.
1. Проблемы с конфигурацией Netplan
При настройке сети в Ubuntu 24.04 через Netplan, системные утилиты, такие как systemd-networkd
, автоматически генерируют файлы конфигурации в каталоге /run/systemd/network/
. Обратите внимание, что в вашем случае на проблемном NUC файл /run/systemd/network/10-netplan-enp5s0.network
содержит строку DHCP=ipv4
, что указывает на включение DHCP для этого интерфейса.
Обратите внимание на следующее:
- Перезапись конфигурации: Убедитесь, что конфигурационный файл
/etc/netplan/01-static-usb.yaml
не содержит синтаксических ошибок, так как это может привести к непредсказуемому поведению. - Ошибка конфигурации: Убедитесь, что на остальных NUC у вас точно такая же конфигурация, как вы привели, и нет опечаток в адресах или MAC-адресах.
2. Автоматическая генерация конфигурации
Файлы конфигурации в /run/systemd/network/
создаются динамически при каждом применении конфигурации Netplan. Если вы вручную измените файл, это будет неэффективно, так как он будет восстановлен при следующем запуске Netplan.
- Очистка кэша: После изменений в конфигурации Netplan попробуйте перезагрузить систему или службу networkd. Используйте
sudo systemctl restart systemd-networkd
.
3. Проблемы с взаимодействием системного менеджера
Если NetworkManager был отключен, убедитесь, что команды для работы с сетевыми интерфейсами не конфликтуют между собой. Хотя вы указали, что он выключен, стоит проверить наличие остатков конфигурации, которые могут влиять на работу networkd.
4. Уникальный случай NUC
Можно предположить, что из-за особенностей данного NUC могли быть дополнительные настройки сети:
- Автоматическая конфигурация: Некоторые устройства могут поддерживать автоматическую настройку, такие как IPv6 Link-Local, которая может неявно активировать DHCP даже при его отключении.
- Различие в аппаратном обеспечении: Возможно, что данный NUC имеет уникальную сетевую карту или драйвера, влияющие на его конфигурацию.
5. Устранение неполадок
Попробуйте выполнить следующие шаги для диагностики проблемы:
- Проверьте логи
journalctl -u systemd-networkd
на наличие предупреждений или ошибок, связанных с конфигурациейenp5s0
. - Убедитесь, что для файла
/etc/netplan/01-static-usb.yaml
установлен правильный синтаксис, избегайте табуляции, используйте пробелы. - Примените изменения с помощью
sudo netplan apply
и перезагрузите устройство.
Заключение
Конфликт статического и динамического IP-адреса часто вызван неправильной конфигурацией или наличием автоматической настройки. Понимание того, как работает systemd-networkd
в связке с Netplan, поможет вам избежать подобных неполадок в будущем. Если проблема сохраняется, может потребоваться глубже изучить конфигурацию системы и аппаратуру NUC, чтобы выявить конкретную причину.