Сопоставить фиксированный адрес хоста ISC DHCPv6 по DUID+IAID?

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

Мой клиент DHCPv6 использует DUID-EN (Тип 2, идентификатор поставщика 0x1234, уникальный идентификатор 0x01) для отправки DUID, уникального для устройства, и имеет 2 сетевых интерфейса, каждый со своим MAC-адресом (например, eth0 имеет IAID 23:00:01, eth1 имеет IAID 23:00:01).

Я использую сервер ISC DHCP версии 4.4.

В блоке хоста я могу использовать

host myHost {
    host-identifier option dhcp6.client-id 00:02:00:00:12:34:01;
    fixed-address 2001:192:168:0::1;
}

для сопоставления DUID и назначения фиксированного IPv6-адреса, но есть ли способ также сопоставить IAID, который отправляется в части IA_NA запроса, чтобы интерфейс получил правильный адрес?

В DHCPv4 я могу сопоставить опцию dhcp-client-identifier, которая содержит как IAID, так и DUID, но я не могу понять, как сделать то же самое для DHCPv6, так как client-id содержит только DUID.

в DHCPv4 я бы использовал

host myHost_ETH0 {
    dhcp-client-identifier ff:23:00:01:00:02:00:00:12:34:01;
    fixed-address 192.168.0.1;
}
host myHost_ETH1 {
    dhcp-client-identifier ff:23:00:02:00:02:00:00:12:34:01;
    fixed-address 10.10.0.2;
}

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

Для настройки фиксированных IPv6-адресов на сервере ISC DHCPv6 с учетом DUID и IAID, необходимо учитывать особенности протокола DHCPv6. В отличие от DHCPv4, где возможно использование dhcp-client-identifier, в DHCPv6 отдельного способа сопоставления IAID и DUID, как такового, нет. Однако, мы можем применить альтернативный подход для достижения этой цели.

Понимание структуры идентификаторов

В вашем случае клиент DHCPv6 использует DUID-EN, который состоит из типа (2), идентификатора поставщика (0x1234) и уникального идентификатора (0x01). У каждого сетевого интерфейса есть свой IAID, который в данном случае одинаков для обоих интерфейсов (23:00:01).

Определение IAID и DUID

По умолчанию в конфигурации ISC DHCPv6, вы можете использовать host-identifier option dhcp6.client-id, чтобы связать фиксированный адрес с конкретным DUID. Однако IAID, отправленный в IA_NA, необходимо учитывать для того, чтобы правильно назначить адрес интерфейсу.

Конфигурация сервера ISC DHCPv6

Вы можете настроить сервер так, чтобы он учитывал не только DUID, но и различия между интерфейсами через использование параметров конфигурации. Для этого вы можете задать разные host блоки для каждого интерфейса вручную, добавив необходимую логику для определения IAID.

Пример конфигурации:

host myHost_ETH0 {
    host-identifier option dhcp6.client-id 00:02:00:00:12:34:01; // DUID для eth0
    fixed-address 2001:192:168:0::1; // фиксированный адрес для eth0
}

host myHost_ETH1 {
    host-identifier option dhcp6.client-id 00:02:00:00:12:34:02; // DUID, модифицированный для eth1
    fixed-address 2001:192:168:0::2; // фиксированный адрес для eth1
}

Эта структура подразумевает, что вы можете вручную менять идентификаторы для разных интерфейсов, чтобы дотянуться до переменной IAID, соответствующей каждому интерфейсу. Имейте в виду, что DUID должен различаться, чтобы успешно зарегистрировать разные фиксированные адреса для разных интерфейсов.

Советы по доработке конфигурации

  1. Динамическое назначение IAID: Если у вас есть возможность определить IAID программным путем или при помощи внешнего скрипта, вы можете использовать его для создания условной логики по назначению фиксированных адресов.

  2. Запись логов: Включите более детализированное логирование на сервере DHCP. Это поможет вам отладить процесс, если требуется изменение параметров.

  3. Тестирование: После изменения конфигурации всегда тестируйте назначение адресов на каждом интерфейсе с помощью инструментов, таких как dhcping или dhclient, чтобы подтвердить, что адреса выдаются корректно.

Заключение

Хотя в DHCPv6 формат идентификаторов отличается от DHCPv4, с помощью правильной конфигурации ISC DHCPv6, вы можете эффективно сопоставить фиксированные адреса с учетом как DUID, так и IAID. Это позволяет управлять адресацией в сложных сетевых средах с несколькими интерфейсами.

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

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