PowerDNS,仅返回 SOA 记录

PowerDNS,仅返回 SOA 记录

我已经设置了 powerdns 服务器,我对基本功能感到满意。

我域中的用户无法访问 example.com,除非他们使用 www.example.com

当我使用 host 命令时

 host example.com 127.0.0.1

我明白了

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.6 <<>> @localhost example.com
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45277
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;example.com.INA

;; AUTHORITY SECTION:
example.com.300INSOAdns.example.com. hostmaster.example.com. 1 86400 86400 604800 300

;; Query time: 2 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Jan 29 11:06:15 2013
;; MSG SIZE  rcvd: 80

仅当我使用 www.example.com 或 ftp.example.com 时,查询才不返回服务器 IP,有没有解决方法?

谢谢

答案1

好的,我找到了一个解决方案,如果您使用一个不错的 UI(例如(PowerDNS Webinterface))来管理您的 powerDNS 服务器,您需要创建一个指向您的 IP 地址的“空” A 记录

例子

  1. 添加新记录。
  2. 在值部分“留空”下,这将类似于@根区域文件,并使其指向您的 DNS IP 地址。

答案2

您需要的是根区域记录。它通常表示@并且必须是主机记录,不能使用 CNAME

@引用区域名称本身,因此如果您需要解析,则需要区域根目录中example.com命名的记录@example.com

答案3

您没有指定使用了哪个 PowerDNS 后端。

这里几个人提到的 @ 语法只适用于使用 BIND 样式区域文件的绑定后端。

例如,如果您使用 gmysql 作为后端,则需要创建一个名为“example.com”的记录以及您希望它指向的 IP 地址作为内容。

相关内容