LINUX.ORG.RU

powerdns + кеширующий dns

 


0

1

Здравствуйте, установлен обычный dns powerdns, но кеш почему-то на нем не работает, я пробовал ставить pdns-recursor , тоже не работает.

В конфиге powerdns`a я указывал recursor=IP:5353. В самом recursor.conf указывал local-adress IP port 5353 Но данная связка не работает. Подскажите, как можно настроить на одном сервере кеширующий DNS + обычный dns . Обязательно, чтобы в качестве обычного DNS был powerdns Спасибо


Из чего сделан вывод, что связка не работает?

На 53-м порту должен висеть авторитетный сервер, на локалхосте, на _не_ 53-м порту должен висеть рекурсор. Рекурсор прописывается в конфиге авторитетного сервера. Здесь все было сделано правильно.

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

Удивительно, но через localhost отвечает ( до этого local-address был внешный Ip, выставил 127.0.0.1 ) сделал запрос:

[root@powerdns ~]# nslookup -sil gnu.org localhost -port=5351
Server:         localhost
Address:        127.0.0.1#5351

Non-authoritative answer:
Name:   gnu.org
Address: 208.118.235.148
Заработало , но почему localhost, а не внешний IP?

swish
() автор топика
Ответ на: комментарий от swish

UPD Решил проверить все на localhost. Через powerdns не работает.

[root@powerdns ~]# lsof -i :5351
COMMAND     PID          USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
pdns_recu 10289 pdns-recursor    4u  IPv4  43498      0t0  UDP localhost:nat-pmp
pdns_recu 10289 pdns-recursor    5u  IPv4  43499      0t0  TCP localhost:nat-pmp (LISTEN)
pdns_serv 10340          pdns    6u  IPv4  43698      0t0  UDP localhost:37498->localhost:nat-pmp
[root@powerdns ~]# nslookup -sil yandex.ru localhost -port=5351
Server:         localhost
Address:        127.0.0.1#5351

Non-authoritative answer:
Name:   yandex.ru
Address: 5.255.255.60
Name:   yandex.ru
Address: 5.255.255.80
Name:   yandex.ru
Address: 77.88.55.80
Name:   yandex.ru
Address: 77.88.55.70

[root@powerdns ~]# nslookup -sil yandex.ru localhost
Server:         localhost
Address:        127.0.0.1#53

** server can't find yandex.ru: NXDOMAIN

swish
() автор топика
Ответ на: комментарий от swish

1. Попробуйте сначала сам рекурсор на локалхосте 2. Если рекурсор отвечает, вторым шагом спрашивайте с локалхоста авторитетный сервер о не его зонах (чтобы через рекурсор ушло) 3. Если авторитетный отвечает с локалхоста отвечает о не своих зонах, то связка между авторитетным и рекурсором настроена правильно.

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

Сам рекурсор с локалхоста отвечает, а вот с авторитарного не отвечает, есть ли какие-то есть доп. настройки?

swish
() автор топика
Ответ на: комментарий от trancefer
[root@powerdns ~]# lsof -i :5351
COMMAND    PID          USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
pdns_serv 1115          pdns    6u  IPv4   8237      0t0  UDP localhost:12894->localhost:nat-pmp
pdns_recu 3818 pdns-recursor    4u  IPv4  17241      0t0  UDP localhost:nat-pmp
pdns_recu 3818 pdns-recursor    5u  IPv4  17242      0t0  TCP localhost:nat-pmp (LISTEN)
[root@powerdns ~]# nslookup -sil yandex.ru localhost -port=5351
Server:         localhost
Address:        127.0.0.1#5351

Non-authoritative answer:
Name:   yandex.ru
Address: 77.88.55.80
Name:   yandex.ru
Address: 5.255.255.80
Name:   yandex.ru
Address: 5.255.255.70
Name:   yandex.ru
Address: 77.88.55.70

[root@powerdns ~]# nslookup -sil yandex.ru localhost -port=53
Server:         localhost
Address:        127.0.0.1#53

** server can't find yandex.ru: NXDOMAIN

[root@powerdns ~]# nslookup -sil yandex.ru IP -port=53
Server:         localhost
Address:        127.0.0.1#53

** server can't find yandex.ru: NXDOMAIN

Конфиг: [root@powerdns ~]# cat /etc/pdns/pdns.conf

setuid=pdns
setgid=pdns
launch=gmysql
gmysql-host=localhost
gmysql-user=pw
gmysql-password=xxxx
gmysql-dbname=powerdns
allow-axfr-ips=xx.xx8.xx.0/24,x.8.xxx.0/24
allow-recursion=xx.xx8.xx.0/24,x.8.xxx.0/24
guardian=yes
recursor=127.0.0.1:5351

[root@powerdns ~]# cat /etc/pdns-recursor/recursor.conf

setuid=pdns-recursor
setgid=pdns-recursor
local-address=127.0.0.1
local-port=5351

swish
() автор топика
Ответ на: комментарий от trancefer

Добавил /etc/pdns/pdns.conf

allow-axfr-ips=127.0.0.1,xx.xx8.xx.0/24,x.8.xxx.0/24
allow-recursion=127.0.0.1,xx.xx8.xx.0/24,x.8.xxx.0/24

Перезагрузил службы, тоже самое. Через авторитарный не работает.

swish
() автор топика
Ответ на: комментарий от swish

Не понимаю, прописываю recursor=8.8.8.8 Пишу:

[root@powerdns ~]# nslookup ya.ru 127.0.0.1 -port=53
Server:         127.0.0.1
Address:        127.0.0.1#53

** server can't find ya.ru: NXDOMAIN
При этом, если прописать вместо ya.ru, домен который существует, он отображается корректно, что за бред с рекурсором?

swish
() автор топика
Ответ на: комментарий от swish

В логах при запуске

Jan  2 23:25:44 powerdns pdns[3255]: PowerDNS Authoritative Server 3.3.3 (jenkins@autotest.powerdns.com) (C) 2001-2015 PowerDNS.COM BV
Jan  2 23:25:44 powerdns pdns[3255]: Using 64-bits mode. Built on 20150610125050 by mockbuild@, gcc 4.4.7 20120313 (Red Hat 4.4.7-11).
Jan  2 23:25:44 powerdns pdns[3255]: PowerDNS comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it according to the terms of the GPL version 2.
Jan  2 23:25:44 powerdns pdns[3255]: DNS Proxy launched, local port 38365, remote 8.8.8.8:53
Jan  2 23:25:44 powerdns pdns[3255]: Creating backend connection for TCP
Jan  2 23:25:44 powerdns pdns[3255]: About to create 3 backend threads for UDP
Jan  2 23:25:44 powerdns pdns[3255]: Done launching threads, ready to distribute questions

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