2010-08-15 14 views
8

Estoy usando PowerDNS (2.9.22) para mis clientes. Porque puede almacenar todos los datos en la base de datos MySQL y es fácil para los clientes editar sus zonas a su gusto.PowerDNS y CNAME al dominio externo

Ahora tengo un problema con CNAMEs:

Éstos son registros en la base de datos MySQL:

+-----------------------+-------+-----------------------+ 
| localhost.example.com | A | 127.0.0.1    | 
+-----------------------+-------+-----------------------+ 
| a.example.com   | CNAME | localhost.example.com | 
+-----------------------+-------+-----------------------+ 
| www.example.com  | CNAME | andreyzentavr.com  | 
+-----------------------+-------+-----------------------+ 

PowerDNS config está aquí:

allow-recursion=127.0.0.1, 173.193.**.162, 173.193.**.163 
allow-recursion-override=on 
cache-ttl=20 
config-dir=/etc/powerdns 
daemon=yes 
default-soa-name=ns3.bserver.com 
disable-axfr=yes 
guardian=no 
launch=gmysql 
gmysql-host=127.0.0.1 
gmysql-port=3306 
gmysql-user=powerdns 
gmysql-dbname=powerdns 
gmysql-password=123123 
lazy-recursion=yes 
local-address=173.193.**.162, 173.193.**.163 
local-port=53 
log-dns-details=yes 
log-failed-updates=yes 
logfile=/var/log/pdns.log 
loglevel=6 
master=yes 
max-queue-length=5000 
max-tcp-connections=10 
module-dir=/usr/lib/powerdns 
query-logging=yes 
recursor=127.0.0.1:53 
setgid=pdns 
setuid=pdns 
skip-cname=no 
slave=yes 
slave-cycle-interval=600 
soa-minimum-ttl=3600 
soa-refresh-default=10800 
soa-retry-default=3600 
soa-serial-offset=0 
socket-dir=/var/run 
use-logfile=yes 
wildcards=yes 
version-string=powerdns 

cuando estoy haciendo la consulta nslookup, Obtuve esto:

server:~# nslookup 
> set q=any 
> server ns3.***.com 
Default server: ns3.***.com 
Address: 173.193.**.163#53 
> a.example.com 
Server:   ns3.***.com 
Address:  173.193.***.163#53 

a.example.com  canonical name =localhost.example.com. 
Name: localhost.example.com 
Address: 127.0.0.1 
> 
> 
> www.example.com 
Server:   ns3.***.com 
Address:  
173.193.***.163#53 

** server can't find www.example.com: NXDOMAIN 

Como puede ver, si CNAME apunta a un registro INTERNO, todo se resuelve bien. Pero si apunta a un dominio externo, tengo un error.

andreyzentavr.com es muy deficiente dominio y puntos de 194.126.204.41

Es error en PowerDNS? ¿O lo configuré incorrectamente?

+0

Creo que su 'default-soa-name' incluye el nombre de dominio que estaba tratando de eliminar de su publicación .. – sarnold

Respuesta

2

Normalmente, con DNS, si desea apuntar un CNAME a un registro externo, debe agregar un punto al final del registro (sub.domain.com.). Cuando deja el punto final, DNS lo interpreta como un registro relativo (por lo que sub.domain.com se interpretaría como sub.domain.com.domain.com, por ejemplo).

Supongo que ya que tiene un registro 'A' para localhost.example.com configurado en su base de datos, PowerDNS lo ve y sabe que ese es el dominio que quiere señalar, aunque no hizo absoluto el otro CNAME (localhost.example.com.) o relativo (solo localhost en el nombre de host).

+5

PowerDNS no necesita el período al final del registro, en realidad. – Habbie

6

solución es poner el recursor frente al servidor autorizado y configurar el recursor para reenviar dominios específicos para el servidor autorizado el uso de la directiva-zonas prospectivas Recurse. Requiere la versión 3.2 del recursor.

Cuestiones relacionadas