Как отключить рекурсию внешнего DNS?

Я знаю, что для отключения рекурсивных запросов в BIND мне нужно добавить следующие строки в раздел опций /etc/bind/named.conf.options

allow-transfer {"none";};
allow-recursion {"none";};
recursion no;

Будет ли указанная выше конфигурация отключать все рекурсивные запросы DNS?

[ 114] Как отключить рекурсию DNS только для запросов внешней сети и сохранить рекурсию только для внутренней сети?

Если я отключу рекурсию, то какой процесс будет выполняться BIND для разрешения запроса имени? Итеративный или обратный?

6
задан 9 September 2014 в 19:08

1 ответ

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

// 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 запрос имени «итеративный или обратный?», я не понимаю вопроса. Сервер имен, настроенный на отказ от рекурсивного обслуживания, просто откажется отвечать на рекурсивные запросы.

0
ответ дан 9 September 2014 в 19:08

Другие вопросы по тегам:

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