Как я могу изменить DUID IPv6 на Ubuntu?

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

Некоторый контекст:

Я использую двойную загрузку на рабочем столе между W10 и Ubuntu. (W10 для игр, Ubuntu для работы)

У меня полностью рабочая настройка IPv6 с pfSense в качестве граничного маршрутизатора.

DHCPv6 сервер настроен на всегда выдавать один и тот же IPv6 адрес для OS W10. Это сделано для обеспечения разрешения DNS IP, назначенного DHCPv6, на имя хоста.

В настоящее время OS Ubuntu всегда получает другой IP, поскольку запрашивает свой IP у сервера, используя другой IAID и DUID.

По сути, я хочу изменить DUID/IAID установки Ubuntu, чтобы они соответствовали строкам, используемым в W10.

Я изменил конфигурацию NetworkManager для подключения (добавил последние 2 строки), но, по-видимому, этого недостаточно:

rsq@beast:~$ sudo cat '/etc/NetworkManager/system-connections/Wired connection 1'
[connection]
id=Wired connection 1
uuid=a1e627b4-680c-3fbb-b4a4-b487c5a0a504
type=ethernet
autoconnect-priority=-999
permissions=
timestamp=1577458590

[ethernet]
mac-address=18:31:BF:6D:0E:24
mac-address-blacklist=

[ipv4]
dns-search=
method=auto

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
ip6-privacy=0
method=auto
dhcp-duid=00:01:00:01:23:01:a6:ec:18:31:bf:6d:0e:24
dhcp-iaid=85471679

Я провел обширные поиски по этой проблеме, но информации очень мало.

Таким образом, мои вопросы таковы:
Как система Ubuntu генерирует DUID?
Какие настройки управляют процессом генерации DUID?
Где сохраняется настройка DUID?
Можно ли её переопределить?

Спасибо за все мнения по этому вопросу!
С уважением, Эрик

так как запрашивает свой IP у сервера, используя другой IAID и DUID.

Изначально DUID берется из

/etc/machine-id

и создается ОДИН РАЗ при установке. Учитывая, что в наши дни мы используем systemd, используйте это как дополнительный аргумент для фильтрации ответов без systemd.

Важный файл:

/etc/systemd/networkd.conf 

имеет часть, относящуюся к созданию DUID:

Если DUIDType=vendor, то значение DUID будет сгенерировано с использованием “43793” в качестве идентификатора поставщика (systemd) и хешированного содержимого machine-id(5). Это значение по умолчанию, если DUIDType= не указано.

Что касается IAID:

[DHCP] SECTION OPTIONS

Этот раздел настраивает значение DHCP Unique Identifier (DUID), используемое протоколом DHCP.
DHCPv6 клиентский протокол отправляет DHCP Unique Identifier и идентификатор Identity
Association (IAID) интерфейсу DHCP-сервера при получении динамического IPv6 адреса.
DHCPv4 клиентский протокол отправляет IAID и DUID DHCP серверу при получении динамического
IPv4 адреса, если ClientIdentifier=duid. IAID и DUID позволяют DHCP серверу уникально
идентифицировать машину и интерфейс, запрашивающий DHCP IP. Чтобы настроить IAID и
ClientIdentifier, смотрите systemd.network(5).

Чтобы установить IAID и DUID, вам нужно:

DUIDType=

Переопределите глобальную настройку DUIDType для этой сети. Смотрите networkd.conf(5) для
описания возможных значений.

DUIDRawData=

Переопределите глобальную настройку DUIDRawData для этой сети. Смотрите networkd.conf(5) для
описания возможных значений.

IAID=

Идентификатор ассоциации идентичности DHCP (IAID) для интерфейса, 32-битное целое число
без знака.


Пример из networkd.conf для DUID:

Пример 1. DUIDType=vendor с пользовательским значением

DUIDType=vendor
DUIDRawData=00:00:ab:11:f9:2a:c2:77:29:f9:5c:00

Это указывает 14-байтовый DUID, с типом DUID-EN (“00:02”), номером компании
43793 (“00:00:ab:11”) и значением идентификатора “f9:2a:c2:77:29:f9:5c:00”.

Ubuntu Desktop по умолчанию использует NetworkManager с netplan, и systemd-networkd отключен.

Используйте nmcli для изменения DUID:

nmcli con modify <connection-name> ipv6.dhcp-duid <DUID> # изменить DUID
nmcli con reload <connection-name> # применить изменения
nmcli con show <connection-name> # проверить DUID

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

Для изменения DUID на Ubuntu с целью получения фиксированного IPv6-адреса, аналогичного Windows 10 в среде с dual boot, важно понимать несколько аспектов. Эта задача может быть особенно актуальна для пользователей, которые хотят обеспечить одинаковую сетевую идентификацию на разных операционных системах, что требуется для стабильного разрешения DNS и упрощения сетевой конфигурации в локальной сети.

Теоретическая часть

Источник DUID

На Ubuntu, DUID (идентификатор уникального клиента DHCP) изначально берётся из файла /etc/machine-id. Этот файл создаётся во время установки системы и, как правило, остаётся неизменным, если нет вмешательства пользователя. Это обеспечивает уникальную идентификацию системы при запросах к DHCP-серверу.

Настройка DUID и IAID

DUID и IAID (Идентификатор Ассоциации Интерфейса) — это ключевые параметры для получения фиксированных адресов от DHCPv6-сервера. В контексте Windows и Ubuntu, системы обычно используют разные значения по умолчанию для этих параметров, что вызывает проблемы с получением одинаковых IP-адресов.

Файлы конфигурации

На системах, использующих systemd-networkd, конфигурация основывается на файле /etc/systemd/networkd.conf. Однако, на рабочих станциях Ubuntu Desktop чаще всего используется NetworkManager. Для изменения DUID с помощью NetworkManager, необходимы зависимости от команд nmcli, а не от конфигурационных файлов systemd.

Пример

Для изменения DUID на Ubuntu с использованием NetworkManager и соответствия его значению DUID на Windows 10, выполните следующие шаги:

  1. Определите текущее значение DUID на Windows. Это можно сделать с помощью команды:

    ipconfig /all
  2. На Ubuntu, используя nmcli, вы можете изменить конфигурацию следующим образом:

    nmcli con modify <connection-name> ipv6.dhcp-duid <DUID> # установите DUID
    nmcli con modify <connection-name> ipv6.dhcp-iaid <IAID> # установите IAID, если необходимо
  3. Чтобы применить изменения:

    nmcli con reload <connection-name>
  4. Проверьте, изменена ли конфигурация правильно:

    nmcli con show <connection-name>

Применение

После применения новой конфигурации, необходимо перезапустить сетевое соединение, чтобы изменения вступили в силу. Это позволит Ubuntu запрашивать у DHCPv6-сервера тот же IP-адрес, который ранее получил Windows 10, что обеспечит единый подход к управлению сетевыми адресами вашей системы.

Также, если ваша сеть управляется через pfSense, может потребоваться дополнительная проверка и при необходимости обновление соответствующих записей на DHCP-сервере, чтобы убедиться, что изменения IAID и DUID приводят к ожидаемому результату.

Этот метод позволяет обеспечить последовательность в распределении сетевых адресов на различных операционных системах и может существенно упростить управление сетевым пространством в домашних и офисных условиях. Также, это улучшает управление сетевой безопасностью и упрощает использование DNS-имен внутри одной сети.

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

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