PowerDNS as an internal resolver and a closed recursor

I've got two freshly configured PowerDNS servers. One acts as a master, the second one as a slave. There are two daemons running on each of them: powerdns and powerdns-recursor. The first one binds to 5300 tcp port, the second one to 53. I added the following rules to recursor.conf (1.2.3.4 is the IP address of the server):

forward-zones=.=1.2.3.4:5300
forward-zones-recurse=.=1.2.3.4:5300;8.8.8.8

Thanks to them my servers resolve domains which are added internally as well as external domains like google.com. The only problem is that if I allow only my local IP addresses to send recursive queries, the internally added domains won't be reachable from the world. On the other hand, if I set the allow-from parameter to 0.0.0.0/0 in recursor.conf, my servers will be vulnerable to the DNS Amplification attacks. What should I do? I want to allow all IPs to query my servers for domains that they have the authority over, but disallow recursive queries.

1
задан 8 February 2018 в 14:09
1 ответ

Для сценария, который вы описываете в вопросе, со смесью клиентов, ожидающих рекурсии, и других клиентов, ожидающих авторитетных ответов, pdns-rec - это не то, что вы должны открывать миру в первую очередь. .

Читая немного между строк, я думаю, что на самом деле вопрос заключается в том, как можно запускать и pdns-auth, и pdns-rec с одного IP-адреса теперь, когда pdns-auth больше не имеет опции конфигурации рекурсора, которая использовала существовавшие в прошлом.
Для этого вам, вероятно, следует внимательно ознакомиться с руководством PowerDNS на Переход от использования рекурсии на полномочном сервере к использованию рекурсора .

Для вашего сценария это руководство сводится к следующему. , во-первых, самый простой и, пожалуй, лучший подход - просто разместить эти службы на разных IP-адресах, но с предлагаемым альтернативным решением, когда dnsdist вставляются перед экземплярами pdns-auth и pdns-rec ( dnsdist - это то, что будет прослушивать порт 53), позволяя dnsdist передавать запросы от клиентов, которые должны иметь рекурсию, в пул с вашим экземпляром pdns-rec, а все другие запросы - в пул с вашим экземпляром pdns-auth.

1
ответ дан 3 December 2019 в 23:19

Теги

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