Почему enp5s0 показывает статический и динамический IPv4-адрес, если я установил dhcp4 на no в файле netplan yaml?

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

Я использую 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. Устранение неполадок

Попробуйте выполнить следующие шаги для диагностики проблемы:

  1. Проверьте логи journalctl -u systemd-networkd на наличие предупреждений или ошибок, связанных с конфигурацией enp5s0.
  2. Убедитесь, что для файла /etc/netplan/01-static-usb.yaml установлен правильный синтаксис, избегайте табуляции, используйте пробелы.
  3. Примените изменения с помощью sudo netplan apply и перезагрузите устройство.

Заключение

Конфликт статического и динамического IP-адреса часто вызван неправильной конфигурацией или наличием автоматической настройки. Понимание того, как работает systemd-networkd в связке с Netplan, поможет вам избежать подобных неполадок в будущем. Если проблема сохраняется, может потребоваться глубже изучить конфигурацию системы и аппаратуру NUC, чтобы выявить конкретную причину.

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

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