首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PowerDNS和CNAME到外部域

PowerDNS和CNAME到外部域
EN

Stack Overflow用户
提问于 2010-08-16 01:20:48
回答 2查看 10.2K关注 0票数 8

我正在为我的客户使用PowerDNS (2.9.22)。因为它可以将所有数据存储到MySQL数据库中,并且很容易让客户随心所欲地编辑他们的区域。

现在我有一个关于CNAME的问题:

以下是MySQL数据库中的记录:

代码语言:javascript
复制
+-----------------------+-------+-----------------------+
| localhost.example.com |   A   | 127.0.0.1             |
+-----------------------+-------+-----------------------+
| a.example.com         | CNAME | localhost.example.com |
+-----------------------+-------+-----------------------+
| www.example.com       | CNAME | andreyzentavr.com     |
+-----------------------+-------+-----------------------+

PowerDNS配置如下:

代码语言:javascript
复制
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

当我执行nslookup查询时,我得到了这样的结果:

代码语言:javascript
复制
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

正如您所看到的,如果CNAME指向内部记录-一切都可以正常解决。但是如果它指向外部域-我有一个错误。

andreyzentavr.com是存在域,指向194.126.204.41

是PowerDNS中的bug吗?还是我配置错了?

EN

回答 2

Stack Overflow用户

发布于 2012-09-15 02:02:04

解决方案是将递归器放在权威服务器的前面,并使用forward-zones-recurse指令将递归器配置为将特定的域转发到权威服务器。需要3.2版的递归器。

票数 6
EN

Stack Overflow用户

发布于 2011-02-02 04:51:14

通常,对于DNS,如果您想将CNAME指向外部记录,则必须在记录的末尾添加句点(sub.domain.com.)。当您去掉最后一个点时,DNS会将其解释为相对记录(例如,sub.domain.com将被解释为sub.domain.com.domain.com )。

我假设由于您在数据库中为localhost.example.com设置了一个'A‘记录,PowerDNS会看到它并知道这就是您要指向的域,即使您没有将另一个CNAME设置为绝对(localhost.example.com.)或相对(仅主机名中的localhost )。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3488415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档