Кэширует ли DNS субдомен Wilcard?

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

*. Example.com. 3600 IN A

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

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

0
задан 8 May 2017 в 20:44
2 ответа

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

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

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

3
ответ дан 4 December 2019 в 11:43

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

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

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

1
ответ дан 4 December 2019 в 11:43

Теги

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