8

クライアントにPowerDNS(2.9.22)を使用しています。すべてのデータをMySQLデータベースに保存でき、クライアントがゾーンを好きなように編集するのが簡単だからです。

CNAMEに問題があります。

MySQLデータベースへのレコードは次のとおりです。

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

PowerDNSの設定は次のとおりです。

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クエリを実行しているときに、次のようになりました。

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のバグですか?または、間違って構成しましたか?

4

2 に答える 2

7

解決策は、リカーサーを権限のあるサーバーの前に配置し、forward-zones-recurseディレクティブを使用して特定のドメインを権限のあるサーバーに転送するようにリカーサーを構成することです。リカーサーのバージョン3.2が必要です。

于 2012-09-14T18:02:04.080 に答える
2

通常、DNS で CNAME を外部レコードにポイントする場合は、レコードの末尾にピリオドを追加する必要があります ( sub.domain.com.)。最後のドットを省略すると、DNS はそれを相対レコードとして解釈します (たとえば、sub.domain.comと解釈されます)。sub.domain.com.domain.com

データベースにセットアップ用の「A」レコードがあるlocalhost.example.comので、PowerDNS はそれを見て、それがあなたが指すドメインであることを認識しています。他の CNAME を絶対 ( )localhost.example.com.または相対 (単にlocalhostホスト名)。

于 2011-02-01T20:51:13.763 に答える