Как обновить запись DNS AAAA, когда появляются клиенты SLAAC

4

У меня маршрутизированная / 64 от моего провайдера, и я использую radvd. Мои клиенты (Linux, Windows) работают без дополнительной настройки, когда они подключены к маршрутизатору. Все они назначают себе уникальные адреса с префиксом ISPs / 64 через SLAAC для временного и постоянного (1) назначения адресов.

Я не использую DHCPv6 и не собираюсь этого делать. Как я узнал здесь , для клиентов SLAAC совершенно бесполезно, если они не имеют специальной конфигурации для использования назначенного адреса DHCP, потому что они, скорее всего, будут игнорировать его по умолчанию (2), что хорошо и в любом случае предпочтительнее. Я абсолютно не хочу делать какую-либо работу на «стандартных» клиентских машинах, которые подключаются к сети.

Итак, пункт (1) выше: адреса SLAAC IPv6, используемые клиентами, на самом деле не постоянны. Помещение их в Bind для DNS AAAA-записи работает ... на некоторое время. Это суть моей проблемы.

Я не могу понять, как заставить DNS-сервер заполнять свои записи на основе IP-адресов SLAAC.

Вопрос:

1) Может ли radvd запустить скрипт на RA, а затем перейти к шагу 2 ...

2) Из предыдущего шага я знаю, что у меня есть новый адрес FE80 для нового клиента. Как я могу получить глобальный IPv6-адрес этого клиента, который он назначил себе, используя его адрес FE80?

3) Затем я хотел бы обновить запись Bind DNS, указав его глобальный IPv6-адрес, полученный на шаге 2.

Вышеперечисленные вещи, которые я пытаюсь выполнить, выглядят так, как будто они должны быть намазаны по всему Интернету - я изо всех сил пытаюсь выяснить, что я делаю неправильно, что делает мой вариант использования настолько редким. Есть ли уже механизм, который автоматически выполняет это, что я упускаю (имея в виду, что DHCPv6 исключен)?

С уважением и благодарностью

(2) Клиенты SLAAC Ubuntu определенно игнорируют назначения DHCPv6, даже когда radvd сообщает им об этом. На самом деле, Ubuntu (а может и больше) даже имеет старую ошибку при использовании в этой конфигурации, когда он фактически не добавляет маршрут, что делает соединение бесполезным без какого-либо ручного вмешательства. Я предполагаю, что эта ошибка имеет очень низкий приоритет, так как DHCPv6 в сочетании с radvd на самом деле не является рекомендуемым решением, и я прекрасно с этим справляюсь.

TS90
источник
Я предлагаю попытаться выяснить, почему назначенные SLAAC адреса не являются такими же постоянными в вашем случае, как обычно.
grawity

Ответы:

2

Radvd рассылает многоадресные сообщения с информацией о сети, но не получает от клиентов ответов о том, что они делают с этой информацией. Так (1) не работает.

Локальные адреса ( fe80:адреса) не связаны с глобальными одноадресными адресами, которые использует клиент. Этап (2) поэтому также невозможен.

Общие решения для того, что вы хотите сделать:

  • Используйте SLAAC и DHCPv6 параллельно. Адреса на основе DHCPv6 помещаются в DNS сервером DHCPv6 для соединений с клиентом, а адреса SLAAC не помещаются в DNS для обеспечения конфиденциальности исходящих соединений от клиента.
  • Используйте DHCPv6 без SLAAC (отключите Aфлаг в RA) и позвольте серверу DHCPv6 поместить адреса в DNS. Устройства на базе Android не будут работать в такой среде, поэтому не очень хорошая идея.
  • Используйте SLAAC и пусть клиент помещает свои собственные адреса в DNS. В управляемых средах (я помню это давно, в эпоху Win2k и Win2k3) это можно настроить автоматически.

Помимо этого вы также можете создавать сценарии на устройствах, где вы можете видеть как MAC-адрес, так и IPv6-адреса, используемые в сети, например, на коммутаторах и маршрутизаторе шлюза по умолчанию. Вы можете написать скрипт, который отслеживает, какие IPv6-адреса используются, посмотреть MAC-адрес, чтобы определить, какое это физическое устройство, найти имя хоста для этого устройства в базе данных, а затем обновить DNS на основе этого. Я не думаю, что есть стандартное программное обеспечение, которое сделает это за вас.

Сандер Штеффанн
источник
Проблема, с которой я имею дело, заключается в том, что SLAAC и DHCPv6 не принуждают клиента использовать адрес DHCP - это было подробно описано в ссылке, которую я поставил в своем первоначальном вопросе. Одно из ключевых требований - не выполнять никаких настроек на клиенте. Все, что я хочу сделать, это захватить этот SLAAC-адрес от клиента и поместить его в DNS. Вот почему мне было любопытно, можно ли было спросить клиента, каков его адрес, отправив какой-либо пинг на его LL-адрес. Тем не менее, ваш комментарий о подходе MAC может быть работоспособным.
ts90