При делегировании субдомена обнаруживаются полномочия, но нет ответов

У меня небольшие проблемы с делегированным поддоменом с использованием powerdns. Моя установка довольно проста.

Example.com

2 сервера powerdns. 1 мастер, 1 раб.

Zone Config 
example.com     SOA      ns1.example.com
example.com     NS       ns1.example.com
example.com     NS       ns2.example.com

ns1.example.com A        192.168.0.1
ns2.example.com A        192.168.0.2

sub.example.com NS       ns1.sub.example.com
sub.example.com NS       ns2.sub.example.com

ns1.sub.example.com A    192.168.10.1
ns2.sub.example.com A    192.168.10.2

Тогда мой поддомен выглядит так:

Еще 2 сервера powerdns. 1 мастер, 1 раб.

sub.example.com SOA      ns1.sub.example.com
sub.example.com NS       ns1.sub.example.com
sub.example.com NS       ns2.sub.example.com

ns1.sub.example.com A    192.168.10.1
ns1.sub.example.com A    192.168.10.2

ubuntutest.sub.example.com A 192.168.10.10

Когда я нахожусь на хосте на этом ubuntutest хосте в субдомене, я могу разрешить штраф NS, и, поскольку у меня настроена рекурсия в субдомене, я могу разрешить адреса на example.com

Когда я нахожусь на хост в домене example.com, я могу разрешить проблемы на example.com нормально. Однако я не могу разрешить устройства в субдомене.

Когда я копаю субдомен, я получаю следующий результат: показывает авторитет, но нет ответов.

    olly@master:~$ dig sub.example.com. ns

; <<>> DiG 9.9.5-11ubuntu1.3-Ubuntu <<>> sub.example.com. ns
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60134
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 3, ADDITIONAL: 4

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 2800
;; QUESTION SECTION:
;sub.example.com.       IN  NS

;; AUTHORITY SECTION:
sub.example.com.    86400   IN  NS  ns1.sub.example.com.
sub.example.com.    86400   IN  NS  ns2.sub.example.com.

;; ADDITIONAL SECTION:
ns1.sub.example.com.    86400   IN  A   192.168.10.1
ns2.sub.example.com.    86400   IN  A   192.168.10.2


;; Query time: 3 msec
;; SERVER: 10.3.16.4#53(10.3.16.4)
;; WHEN: Mon Mar 21 16:20:16 GMT 2016
;; MSG SIZE  rcvd: 147

Кто-нибудь видел это раньше? Если да, то чего мне не хватает?

Большое спасибо :)

-2
задан 21 March 2016 в 18:55
3 ответа

Ваша команда:

$ dig sub.example.com. ns

Запрашивает только записи сервера имен (NS), так что это все, что вы получаете обратно.

1
ответ дан 5 December 2019 в 21:24

Ответ, который вы получаете, является рефералом, и ноль ответов для него является нормальным.

Реферал, предоставленный официальным сервером, должен соответствовать следующим критериям:

  • Не задано aa (авторитетный ответ) бит
  • Нулевые ответы
  • Раздел полномочий, содержащий полномочия серверов имен, делегируется на
  • . Дополнительный раздел является обязательным только в том случае, если необходимы связующие записи для отслеживания перехода, что

Авторитетная версия записей NS находится на сервере, которому вы делегируете полномочия. Было бы неправильно давать ответ в этом контексте. RFC 2181 очень четко разъясняет этот вопрос:

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


Что касается , почему вы получаете реферал, вы не предоставили достаточно информации, чтобы определить это. Предположительно, это означает, что 10.3.16.4 содержит официальную копию example.com . Ссылка бесполезна для преобразователей заглушек (т.е. библиотек преобразователей ОС), указывающих на 10.3.16.4 ; только рекурсивный сервер будет преследовать отсылку.

Я подозреваю, что вы реализовали отсылку там, где требуется пересылка. Как реализовать это в 10.3.16.4 (для которого не была предоставлена ​​никакая ОС или программное обеспечение), выходит за рамки этого вопроса.

0
ответ дан 5 December 2019 в 21:24

Большое спасибо, Эндрю Б. (Сделал пост в качестве гостя, поэтому не могу комментировать)

У меня есть 2 сервера powerdns, работающих на example.com (главный, подчиненный) с репликацией серверной части MySQL. Работает на ubuntu 14.04.

pdn.conf для мастера (192.168.0.1)

allow-recursion=0.0.0.0/0
recursor=8.8.8.8
allow-axfr-ips=192.168.0.2/32
config-dir=/etc/powerdns
daemon=yes
disable-axfr=no
guardian=yes
local-address=0.0.0.0
local-port=53
log-dns-details=on
log-failed-updates=on
loglevel=3
module-dir=/usr/lib/powerdns
master=yes
slave=no
setgid=pdns
setuid=pdns
socket-dir=/var/run
version-string=powerdns
include-dir=/etc/powerdns/pdns.d

Для sub.example.com я запускаю этот домен в частном облаке. У него также есть 2 сервера имен powerdns с серверной частью mysql. Запуск на debian jessie.

pdns.conf for Master (192.168.10.1)

# General Config
allow-recursion=0.0.0.0/0
recursor=192.168.0.1
setgid=pdns
setuid=pdns
config-dir=/etc/powerdns
socket-dir=/var/run
guardian=yes
daemon=yes
disable-axfr=no
local-address=0.0.0.0
local-port=53
master=no
slave=yes
cache-ttl=0
query-cache-ttl=0
negquery-cache-ttl=0
out-of-zone-additional-processing=no
do-ipv6-additional-processing=no

Я думал, что пользователь частного облака, использующий рекурсоры, может выйти через домен example.com. А пользователи домена example.com могут получить доступ к службам, работающим в частном облаке, с помощью sub.example.com.

0
ответ дан 5 December 2019 в 21:24

Теги

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