Правильная реализация 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
,