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

Получает ли поддомен с подстановочными знаками кеш DNS?

Если добавить запись поддомена с подстановочными знаками в зону DNS, например:

*.example.com. 3600 IN A <Some IP>

Насколько важен запрос для say somerandomsubdomain.example.com кешироваться? После некоторых исследований я обнаружил, что example.com будут кэшироваться в разных точках, и поэтому мой DNS-сервер может напрямую запрашивать example.com DNS-сервер для последующего anotherrandom.example.com.

Но серверы / маршрутизаторы / ОС при кэшировании также кешируют это *.example.com - это запись с подстановочным знаком и, следовательно, все будущие запросы для других случайных поддоменов example.com решиться немедленно?

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

Однако можно ожидать, что различные записи, полученные в результате расширения подстановочного знака, будут кэшироваться.

Например, если запрос был сделан для foo.example.com. IN A и было обнаружено, что это соответствует подстановочному знаку *.example.com. 3600 IN A 192.0.2.1 полученный ответ foo.example.com. 3600 IN A 192.0.2.1 могут (вероятно, будут) кэшироваться.

Серверы могут кэшировать только часть подстановочных знаков, если они могут выполнять передачу зон. Что они обычно делают, только если принадлежат к одной организации (или к разным организациям, работающим в тесном сотрудничестве).

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

notdefined.example.com    60168    IN    A    <someip>

Даже если они получат отдачу, как

*.example.com    60168    IN    A    <someip>

им все равно придется искать все остальные записи для example.com, поскольку любая явно определенная запись имеет приоритет над записью с подстановочными знаками. То есть:

*.example.com.   3600 IN  A <Some IP>
www.example.com.   3600 IN  A <Some IP2>
ftp.example.com.   3600 IN  A <Some IP3>

будет действительным. Источники: RFC 4592 и RFC 1034