Назад | Перейти на главную страницу

Одна и та же зона - разные NS для IPv4 и IPv6

Запуск авторизационной зоны для example.com с NS для записей A на NS, доступной для IPv4, но с записями AAAA для той же зоны, работающей на другом NS, доступном через IPv6 - возможно ли это - жизнеспособно - разумно?

Это конечно возможно для этого на стороне сервера - просто используйте разные версии файлов зоны (также известные как «DNS с разделенным горизонтом») на двух наборах серверов, причем один из них содержит только A записей, а другой набор (подключенный к IPv6), содержащий только AAAA записи. В родительской зоне должны быть оба A и AAAA клей, правда.

Однако на самом деле вам не следует этого делать, особенно если намерение состоит в том, чтобы направлять разных пользователей на основе IP-протокола, используемого в их DNS-запросах.

Причин тому несколько:

  1. Входящие DNS-запросы поступают от рекурсивных серверов, а не от конечных пользователей. Вполне возможно, что пользователь с включенным IPv6 может отправить DNS-запрос по IPv6, но их DNS-сервер отправит вам свой запрос по IPv4.

  2. Это нарушение уровня - выбор протокола, используемого для DNS, должен быть полностью отделен от выбора протокола для последующего использования приложения.

  3. Согласованность кеширования - DNS не любит, когда серверы возвращают разные результаты разным людям. Если рекурсивный кеш получает только серверы IPv6, а клиент IPv4 затем запрашивает информацию из кеша, он не будет иметь A записи, поэтому запрос не будет выполнен.

Вы не сможете этого сделать, поскольку нет способа делегирования на основе типа запроса. Что вы могли бы сделать, так это делегировать поддомен и вернуть записи A для одного набора серверов имен и записи AAAA для другого набора серверов имен. Однако что произойдет в среде с двойным стеком? Вы не можете знать, предпочитает ли запрос IPv4 или IPv6, и, вероятно, он будет запрашивать оба типа записей - особенно в общедоступной среде, где обычно не будет конечный клиент, который выполняет поиск DNS на вашем сервере. .

Вы также можете сделать что-то подобное с маршрутизацией, чтобы направлять трафик IPv4 и IPv6 на разные серверы имен. Однако у вас будет точно такая же проблема.