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

447
ts90

У меня маршрутизированная / 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 на самом деле не является рекомендуемым решением, и я прекрасно с этим справляюсь.

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

1 ответ на вопрос

2
Sander Steffann

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 6 лет назад 0

Похожие вопросы