Переадресация зоны PowerDNS

Переадресация зоны PowerDNS

Я унаследовал развертывание powerdns 4.0.6, которое используется для обслуживания частной зоны в лабораторной среде. Я нахожусь в процессе миграции этой среды в AWS и мне нужно, чтобы powerdns перенаправлял aws.internal.lan в набор входящих резолверов Route53. Кажется, я должен сделать это, используя "forward-zones-recurse" в рекурсоре, но я не могу заставить это работать с текущей настройкой.

pdns.conf:

daemon=no
max-tcp-connections=1000
guardian=no
setuid=pdns
setgid=pdns
launch=gpgsql
allow-recursion=127.0.0.0/8, 10.0.0.0/8
recursor=127.0.0.1:5353
local-address=0.0.0.0
local-port=53
master=no
slave=yes
slave-cycle-interval=60
gpgsql-host=127.0.0.1
gpgsql-dbname=pdns
gpgsql-user=redacted
gpgsql-password=redacted
api-key=redacted
webserver=yes
webserver-address=0.0.0.0
webserver-port=8081

рекурсор.conf:

setuid=pdns-recursor
setgid=pdns-recursor
allow-from=127.0.0.0/8
local-address=127.0.0.1
local-port=5353
forward-zones-recurse=aws.internal.lan=10.162.67.202;10.162.73.199

Проблема в том, что pdns не пересылает зону на резолверы Route53. Я могу подтвердить, что если я сделаю a, dig @127.0.0.1 -p 5353 aws.internal.lanто рекурсор вернет правильную запись, но я могу только запросить рекурсор с локального сервера ns. Разве полномочный сервер, прослушивающий порт 53, не должен переслать этот запрос рекурсору, прослушивающему порт 5353?

Кажется, это должно просто работать, но, возможно, я что-то упускаю. Я использую старую версию pdns, как вы можете видеть из моей конфигурации, и я не могу найти никакой документации по этой старой версии. Есть идеи, что я делаю не так?

решение1

Вы не понимаете, как все работает.

Резолвер не пересылает запросы на рекурсор или вообще куда-либо. Рекурсор, с другой стороны, должен быть настроен на пересылку запросов для зон, управляемых резолвером, на него.

Клиентские запросы всегда должны поступать в рекурсор, который затем пересылает локальные зоны в резолвер и соответствующим образом разрешает другие. Настройка «рекурсор» не имеет функции на резолвере

На рекурсоре вам нужны настройки типа

forward-zones=ponyville.eq.=127.0.0.1:5353

для пересылки запросов на резолвер (который находится на порту 5353, а рекурсор на порту 53)

Есть дополнительная проблема в том, что если у вас есть вторичные серверы, то резолвер пытается отправлять пакеты NOTIFY на основе записей NS. Если ваш резолвер находится на порту 5353, то эти пакеты уведомлений поступают в рекурсор, и вам нужна специальная конфигурация (слишком сложная, чтобы описывать ее здесь), чтобы перенаправить их на резолвер. Мы обошли это, имея 2 IP-адреса на хосте и имея резолвер на одном, а рекурсор на другом, поэтому нет необходимости иметь разные порты на одном и том же имени хоста.

Итак, подведем итоги,

  • pdns не будет пересылать запросы никуда
  • pdns-recusor перенаправит ваши запросы route53 с вашими настройками
  • pdns-recursor должен быть настроен на пересылку ваших локальных зон на резолвер
  • Все клиентские запросы должны поступать в решатель.
  • Вам понадобится много дополнительной магии для обработки пакетов NOTIFY, если вы этого хотите.

Связанный контент