В настоящее время я ищу способы реализовать что-то вроде myip.opendns.com
с BIND для себя. В основном я хочу вернуть IP-адрес клиента с помощью DNS. Для упомянутой выше службы это выглядит примерно так:
$ [dig +short myip.opendns.com @resolver1.opendns.com
1.2.3.4
Где 1.2.3.4 - это IP-адрес клиента, который запросил эту запись. Кроме того, значение TTL, равное 0, гарантирует, что эта запись не будет кэшироваться (по крайней мере, теоретически).
Виды и RPZ, вероятно, можно использовать для реализации этого, хотя я не уверен, как именно с этим справиться.
Представления и RPZ позволяют вам определять статические ответы на основе характеристик источника / назначения пакета (представления), самого запроса или вышестоящего полномочного сервера (RPZ). Ключевое слово здесь статично. Заголовки пакетов и запросы меняются, но ответы всегда заранее определены и статичны.
То, что вы ищете, - это синтез реакции на лету. BIND не предоставляет готовых функциональных возможностей для динамического вычисления уникального ответа. Есть API для написания плагинов, но я не знаю ни одного заранее написанного, которое могло бы решить эту проблему.