LINUX.ORG.RU
ФорумAdmin

bind9 allow-recursion localhost

 ,


0

1

Всем доброго времени суток! Linux только изучаю, в связи с этим прошу сильно не ругать пинать.
Поставил bind9 на debian. Мастер, обрабатывает обращения с любых адресов (рассказывает о подвластной ему зоне) и обрабатывает рекурсивно от тех клиентов которых указал. Все работает, кроме одного (на данный момент).
Проблема: сам с собой сервер не работает рекурсивно, рассказывает себе только о зоне.

root@deb:~# host yandex.ru
Host yandex.ru not found: 5(REFUSED)

root@deb:~# host phone.home.org
phone.home.org has address 192.168.0.3

options {
        directory "/var/cache/bind";

        recursion yes;

        allow-recursion {
                127.0.0.1/32;
                192.168.0.1/26;
        };

        listen-on port 53 {
                127.0.0.1/32;
                192.168.0.110/32;
        };

        allow-query  {
                any;
        };

        notify yes;

        allow-transfer {
                192.168.0.111/32;
        };
};

Может кто-нить подскажет в чем проблема?

192.168.0.1/26; в allow-recursion глаз режет.

Сервер сам к себе у тебя обращается либо с адреса 127.0.0.1, который есть в allow-recursion, либо с 192.168.0.110, которого нет в allow-recursion.

сравни выполнение команд dig @127.0.0.1 ya.ru и dig @192.168.0.110 ya.ru

vel ★★★★★ ()
Ответ на: комментарий от vel

192.168.0.1/26; - в адресе сети действительно ошибся, а маска такая просто для теста. спасибо что обратили внимание.
От части проблема как раз в этой сети и в том что в моей тестовой среде все машины находятся в одной сети 192.168.0.0/24. В allow-recursion разрешена не вся сеть. Адрес dns-сервера 192.168.0.110, который попадает под запрет.
Проверяю с начальными параметрами:

root@deb:~# dig @192.168.0.110 ya.ru

; <<>> DiG 9.10.3-P4-Debian <<>> @192.168.0.110 ya.ru
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 2774
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ya.ru.				IN	A

;; Query time: 0 msec
;; SERVER: 192.168.0.110#53(192.168.0.110)
;; WHEN: Wed Feb 28 18:51:47 +05 2018
;; MSG SIZE  rcvd: 34
root@deb:~# dig @127.0.0.1 ya.ru

; <<>> DiG 9.10.3-P4-Debian <<>> @127.0.0.1 ya.ru
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19628
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 5

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ya.ru.				IN	A

;; ANSWER SECTION:
ya.ru.			600	IN	A	87.250.250.242

;; AUTHORITY SECTION:
YA.ru.			5438	IN	NS	ns2.yandex.ru.
YA.ru.			5438	IN	NS	ns1.yandex.ru.

;; ADDITIONAL SECTION:
ns1.YANDEX.ru.		343326	IN	A	213.180.193.1
ns1.YANDEX.ru.		343326	IN	AAAA	2a02:6b8::1
ns2.YANDEX.ru.		343326	IN	A	93.158.134.1
ns2.YANDEX.ru.		343326	IN	AAAA	2a02:6b8:0:1::1

;; Query time: 30 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Feb 28 18:52:10 +05 2018
;; MSG SIZE  rcvd: 199
Добавив в allow-recursion адрес 192.168.0.110 получаем ответ.
root@deb:~# dig @192.168.0.110 ya.ru

; <<>> DiG 9.10.3-P4-Debian <<>> @192.168.0.110 ya.ru
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16767
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 5

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ya.ru.				IN	A

;; ANSWER SECTION:
YA.ru.			159	IN	A	87.250.250.242

;; AUTHORITY SECTION:
YA.ru.			4997	IN	NS	ns1.yandex.ru.
YA.ru.			4997	IN	NS	ns2.yandex.ru.

;; ADDITIONAL SECTION:
ns1.YANDEX.ru.		342885	IN	A	213.180.193.1
ns1.YANDEX.ru.		342885	IN	AAAA	2a02:6b8::1
ns2.YANDEX.ru.		342885	IN	A	93.158.134.1
ns2.YANDEX.ru.		342885	IN	AAAA	2a02:6b8:0:1::1

;; Query time: 0 msec
;; SERVER: 192.168.0.110#53(192.168.0.110)
;; WHEN: Wed Feb 28 18:59:31 +05 2018
;; MSG SIZE  rcvd: 199
Но почему с разрешающим правилом только для 127.0.0.1 информацию о внешних именах мы получить не можем а о локальных можем?
 allow-recursion {
                127.0.0.1/32;
                192.168.0.1/26;
        };
root@deb:~# host ya.ru
Host ya.ru not found: 5(REFUSED)
root@deb:~# host phone.home.org
phone.home.org has address 192.168.0.3

moloko ()
Ответ на: комментарий от vel

Был только 192.168.0.1, добавил 127.0.0.1. Vel, спасибо за помощь, сейчас работает как нужно.

moloko ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.