bind не будет работать, если allow-query не равен «any»

13

У меня есть это в /etc/named.conf, я прокомментировал значения по умолчанию и установил свои собственные под ним. Мой домен не загрузился бы в браузер, если я не установил для allow-query значение «any», это нормально, что мне следует редактировать? Если есть localhostили 127.0.0.1; 10.0.1.0/24;домен не загрузится. Я попробовал вещь 127 .. потому что она упоминала это здесь: http://wiki.mandriva.com/en/Testing:Bind

Версия Bind: 9.7.0-P2-RedHat-9.7.0-5.P2.el6_0.1. ОС - CentOS 6.0.

options {
        // listen-on port 53 { 127.0.0.1; };
        listen-on port 53 { any; };
        //listen-on-v6 port 53 { ::1; };
        listen-on-v6 port 53 { any; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        //allow-query     { localhost; };
        allow-query     { any; };

        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";
};
adrianTNT
источник

Ответы:

13

Когда вы прослушиваете 127.0.0.1 или localhost или :: 1, и / или allow-query только из localhost, bind будет отвечать только на запросы, исходящие с того же компьютера, на котором выполняется bind. (Это установилось таким образом в «тестировании», вероятно, потому что они, вероятно, просто хотели проверить, что связывание работает, не открывая его снаружи по соображениям безопасности.)

Нормально установить для них значение «любое», чтобы оно было доступно извне.

Sandman4
источник
В некоторых онлайн-статьях упоминается, что он может подвергаться атакам DOS, если «любой». Если я правильно поняла.
adrianTNT
1
Ну, даже если это правда, без "любого" это не сработает;)
Sandman4
1
Кстати, какова цель вашего сервера? Это только авторитетно для какой-то вашей зоны? Кто должен иметь доступ к вашему серверу?
Sandman4
Это сайт для размещения изображений, на нем будут размещаться несколько доменов с одинаковым IP. Домен находится в Godaddy, где я установил два "хоста" ns1.domain ns2.domain и связал эти NS с IP-адресом моего сервера.
adrianTNT
1
Итак, он должен быть доступен снаружи. Таким образом, оно должно быть «любым». И вам лучше установить «рекурсию нет», если вы боитесь атак. Но разве Godaddy не предоставляет вам серверов имен?
Sandman4
3

Если ваш DNS-сервер является локальным сервером кэширования, установите

allow-query { <your subnet>; }; 

в опциях. И в каждой зоне:

allow-query { any; };

Если вы не используете его в качестве сервера кэширования, установите для него значение none;

allow-query { none; };

По сути, вы не хотите, чтобы ваш сервер отвечал на домены, которые вы не являетесь полномочными.

RSD
источник
-3

Будьте осторожны - это неправда

Если вы не используете его в качестве сервера кэширования, установите для него значение none;

allow-query { none; };

Такой сервер не отвечает ни на один пакет даже для доменов, для которых он является авторитетным.

Далибор Страка
источник