Правильная реализация Wildcard DNS поверх записи A

Мне нужно установить DNS-запись с подстановочными знаками для поддомена, в котором уже есть запись A. Я не уверен, должен ли я использовать новую запись A для этого или я могу просто использовать CNAME, которая указывает на запись A.

Мой скрипт имеет следующую структуру домена

http(s)://{random_code}.{location_subdomain}.{domain.com}/{path}
  • {random_code} - мы используем случайный код в качестве решения против ограничений HTTP-сокетов, реализованных в браузере. (используется только для загрузки динамических элементов на страницу - как таковой он может быть просмотрен только путем просмотра источника веб-страницы, в то время как URL-адрес в браузере пользователя показывает только поддомен местоположения)
  • {location_subdomain} - мы загружаем контент с нашего ближайшего сервера к пользователю, поэтому каждое местоположение имеет запись A, которая указывает на другой сервер (контент на всех наших серверах местоположений равен 1: 1).
  • {domain.com} - указывает на наш интерфейсный сервер, на котором размещена наша страница индекса
  • {путь} - самоисследование

Текущий файл зоны DNS

domain.org. 86400   IN  NS  dns1.domain.org.
domain.org. 86400   IN  NS  dns2.domain.org.
domain.org. 86400   IN  NS  dns3.domain.org.
domain.org. 86400   IN  NS  dns4.domain.org.
domain.org. 14400   IN  A   1.1.1.1
localhost   14400   IN  A   127.0.0.1
www     14400   IN  CNAME   domain.org.
ftp     14400   IN  A   1.1.1.1
france  3600    IN  A   2.2.2.2
phoenix 3600    IN  A   3.3.3.3
nl      3600    IN  A   4.4.4.4
*       14400   IN  A   1.1.1.1

Но мне нужно добавить подстановочный знак для каждого местоположения записи, которая указывает на тот же адрес. Так, например, {randome_code}.phoenix.{Domain.com} будет указывать на 3.3.3.3, в то же время проверяя, что Phoenix. {Domain.com} по-прежнему указывает на тот же IP-адрес.

Должен ли я просто создавать новые записи A, подобные этой, для каждого местоположения, сохраняя также записи без подстановочных знаков?

*.france    3600    IN  A   2.2.2.2
*.phoenix   3600    IN  A   3.3.3.3
*.nl        3600    IN  A   4.4.4.4

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

Или у меня это совершенно неправильно, я не могу иметь подстановочный знак в корневом домене, а также в записях A?

1 ответ

Решение

Что у тебя там:

*.france    3600    IN  A   2.2.2.2

будет работать именно так, как вы ожидаете; запрос для abc.france.example.com получит ответ от шаблона A запись, пока france.example.com все еще будет получать свои данные от france 3600 IN A 2.2.2.2,

Никакого дополнительного поиска не требуется, так как вы не выполняете дополнительное делегирование.

Если вам легче управлять, вы также можете использовать CNAME:

*.france    3600    IN  CNAME   france

CNAME обычно может вызвать дополнительный поиск, но в этом случае это не так; упомянутая запись находится в той же зоне, поэтому ваш DNS-сервер ответит "ответом" CNAME, а также включая соответствующие A запись для france.example.com,

Другие вопросы по тегам