Если добавить запись поддомена с подстановочными знаками в зону 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>