1 votes

PowerDNS délégation de sous-domaine, pas de réponses

Je rencontre des problèmes pour rediriger le sous-domaine vers un autre DNS.

J'ai :

Domaine principal existant : d et nouveau sous-domaine :

| 8412 | 42 | test1.d | NS | ns1.test.test1.d
| 8413 | 42 | test1.d | NS | ns2.test.test1.d
| 8414 | 42 | ns1.test.test1.d | A | 10.64.91.100
| 8415 | 42 | ns2.test.test1.d | A | 10.64.91.200

et retour :

 dig admin.test1.d

; <<>> DiG 9.10.6 <<>> admin.test1.d
; (1 serveur trouvé)
;; options globales: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, statut: NOERROR, id: 23733
;; drapeaux: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 3
;; ATTENTION: récursion demandée mais non disponible

;; SECTION OPT PSEUDO:
; EDNS: version: 0, flags:; udp: 1232
;; SECTION QUESTION:
;admin.test1.d.         IN  A

;; SECTION AUTHORITY:
test1.d.            60  IN  NS  ns1.test.test1.d.
test1.d.            60  IN  NS  ns2.test.test1.d.

;; SECTION ADDITIONAL:
ns2.test.test1.d.   60  IN  A   10.64.91.200
ns1.test.test1.d.   60  IN  A   10.64.91.100

Mais les enregistrements ne sont pas correctement renvoyés. Par exemple, l'enregistrement A est vide.

Si je demande, les enregistrements sont renvoyés correctement.

dig @10.64.91.100 admin.test1.d

; <<>> DiG 9.10.6 <<>> @10.64.91.100 admin.test1.d
; (1 server trouvé)
;; options globales: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, statut: NOERROR, id: 27387
;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; ATTENTION: récursion demandée mais non disponible

;; SECTION OPT PSEUDO:
; EDNS: version: 0, flags:; udp: 1232
;; SECTION QUESTION:
;admin.test1.d.         IN  A

;; SECTION ANSWER:
admin.test1.d.      86400   IN  A   10.64.91.50

Ma configuration pdns :

allow-axfr-ips=10.64.91.112

also-notify=10.64.91.112

only-notify=10.64.91.112

api=yes

api-key=XXXXXXXXX

daemon=yes

default-soa-content=ns1.test.eu1.d. admin.domain.pl. 0 10800 3600 604800 3600

default-ttl=3600

disable-axfr=no

guardian=yes

include-dir=/etc/powerdns/pdns.d

launch=

local-address=10.64.91.111

local-port=53

log-dns-details=on

loglevel=4

master=yes

receiver-threads=2

setgid=pdns

setuid=pdns

slave=no

webserver=yes

webserver-address=10.64.91.111

webserver-allow-from=10.64.91.20

webserver-port=8081

query-cache-ttl=60

MySQL :

# Configuration MySQL
# Lancement du backend gmysql
launch+=gmysql
# Paramètres gmysql
gmysql-host=localhost
gmysql-port=3306
gmysql-dbname=XXXX
gmysql-user=XXXXX
gmysql-password=XXXXX
gmysql-dnssec=yes
# gmysql-socket=

Des idées ?

J'ai vu

Sous-domaine et délégation Powerdns

et https://nsrc.org/workshops/2010/sanog16/raw-attachment/wiki/DNS/dns4-presentation.pdf

Ça devrait fonctionner.

En 10.64.91.100 et 10.64.91.100 j'utilise dnsdist.

/etc/dnsdist/dnsdist.conf 
-- fichier de configuration dnsdist, un exemple se trouve dans /usr/share/doc/dnsdist/examples/

-- désactiver le sondage du statut de sécurité via les DNS

setLocal("0.0.0.0:53")
setACL({"0.0.0.0/0", "::/0"})

newServer({address="10.64.91.111:54"})
newServer({address="10.64.91.112:54"})
setServerPolicy(wrandom)

En 10.64.91.111 et 10.64.91.112 j'utilise PowerDNS Recursor.

cat /etc/powerdns/recursor.conf 
local-address=10.64.91.111
local-port=54
allow-from=10.0.0.0/8, 127.0.0.0/8, 10.12.0.0/16, 10.13.0.0/16, 195.88.50.0/26, 10.66.0.0/16, 10.64.0.0/16
forward-zones=d=10.64.91.111:53

1voto

Jacob Points 1861

Si je comprends bien la question, il semble simplement s'agir d'un problème d'attentes mal assorties.

Dans le premier dig de la question, il semble que vous interrogez directement le serveur autoritaire, et lorsqu'on lui demande des informations sur les noms dans la zone enfant déléguée, il répond simplement avec des informations de référence.
C'est exactement ce qu'on attend d'un serveur uniquement autoritaire, il ne se passe rien d'inattendu ici.

Pour un test complet du point de vue d'une machine cliente (au lieu de juste une étape dans la série de requêtes nécessaires pour obtenir la réponse finale), vous dirigeriez la requête vers un serveur de résolveur. S'il s'agit d'un élément manquant dans l'infrastructure, ce pourrait être par exemple PowerDNS Recursor (par opposition à PowerDNS Authoritative), Unbound, BIND avec récursivité activée, Knot Resolver, etc.

C'est le type de serveur qui serait configuré sur les machines clientes (dans resolv.conf ou tout autre mécanisme de configuration que possède le système d'exploitation client), et qui suivra la chaîne de délégations pour obtenir réellement les réponses que les clients demandaient, contrairement à un serveur autoritaire qui a simplement pour rôle de servir les données qu'il possède (et dans le cas d'une délégation, simplement d'envoyer une référence comme on le voit dans la question).

0voto

onee Points 19

D'accord, ça fonctionne.

J'ai ajouté dans recursor.conf dont-query et supprimé 10.0.0.0/8.

Par défaut :

Par défaut : 127.0.0.0/8, 10.0.0.0/8, 100.64.0.0/10, 169.254.0.0/16, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fc00::/7, fe80::/10, 0.0.0.0/8, 192.0.0.0/24, 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24, 240.0.0.0/4, ::/96, ::ffff:0:0/96, 100::/64, 2001:db8::/32

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X