Я знаю, что для отключения рекурсивных запросов в BIND мне нужно добавить следующие строки в раздел опций /etc/bind/named.conf.options
allow-transfer {"none";};
allow-recursion {"none";};
recursion no;
Будет ли указанная выше конфигурация отключать все рекурсивные запросы DNS?
[ 114] Как отключить рекурсию DNS только для запросов внешней сети и сохранить рекурсию только для внутренней сети?
Если я отключу рекурсию, то какой процесс будет выполняться BIND для разрешения запроса имени? Итеративный или обратный?
Вы можете включить рекурсию для некоторых клиентов и отключить рекурсию для других, используя представления, но это не рекомендуется, потому что вы потеряете некоторые из преимуществ, прежде всего, отключив рекурсию. Вы должны использовать разные серверы имен для рекурсивного разрешения и авторитетного сервиса. (Два сервера могут работать на одной машине, если это необходимо.) Тем не менее, вот как это сделать:
// global options apply to external clients
options {
recursion no;
additional-from-auth no;
additional-from-cache no;
};
view "local" in {
// view options enable recursion only for local clients
match-clients { 172.16.45.80/23; 192.168.12.0/24; 127.0.0.1/8; ::1; };
recursion yes;
additional-from-auth yes;
additional-from-cache yes;
zone "." in {
type hint;
file "/etc/bind/db.root";
};
// put definitions for zones like "localhost" and "127.in-addr.arpa" here
}
// put definitions for real authoritative zones here.
Что касается вопроса в вашем последнем предложении, «какой процесс будет выполняться при разрешении BIND запрос имени «итеративный или обратный?», я не понимаю вопроса. Сервер имен, настроенный на отказ от рекурсивного обслуживания, просто откажется отвечать на рекурсивные запросы.