问题描述
我正在尝试在我的没有互联网连接的虚拟计算机上配置 DNS 服务器。
我正在使用带有 BIND 后端的 PowerDNS。
这是我的区域配置:
$ORIGIN example.com.
$TTL 86400
@ IN SOA example2.com. (
2017020401 ; serial
3600 ; refresh
1800 ; retry
604800 ; expire
86400 ) ; minimum TTL
example.com. 172800 IN NS example1.com.
example.com. 172800 IN NS example2.com.
example.com. 172800 IN NS example3.com.
我正在使用命令 dig
测试服务器,如下所示:
root@osboxes:~# dig example.com @127.0.0.1 -p 5301
; <<>> DiG 9.16.1-Ubuntu <<>> example.com @127.0.0.1 -p 5301
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY,status: NOERROR,id: 13819
;; flags: qr rd ra; QUERY: 1,ANSWER: 0,AUTHORITY: 1,ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0,flags:; udp: 512
;; QUESTION SECTION:
;example.com. IN A
;; AUTHORITY SECTION:
example.com. 3600 IN SOA example2.com. 2017020401.example.com. 3600 1800 604800 86400 3600
;; Query time: 180 msec
;; SERVER: 127.0.0.1#5301(127.0.0.1)
;; WHEN: Wed Feb 03 16:45:50 EST 2021
;; MSG SIZE rcvd: 96
我希望将请求委托给其他服务器 example1.com、example2.com 和 example3.com。
为此,我需要在 dig 输出的 AUTHORITY SECTION 中拥有我的 NS 记录。 但是,它没有发生,只有 SOA 记录。 我试图删除 SOA 记录,但之后我在 AUTHORITY SECTION 中没有记录。 有人可以帮我解决这个问题吗?我错过了什么?
编辑:添加配置
recursor.conf
local-address=0.0.0.0
local-port=5301
allow-from=127.0.0.0/8,10.0.0.0/8
forward-zones=example.com=127.0.0.1:5300
pdns.conf
launch=bind
bind-config=/etc/powerdns/named.conf
local-address=127.0.0.1
local-port=5300
named.conf
zone "example.com" IN {
type slave; # type of zone
file "/var/lib/powerdns/zone.net"; # location of forward zone file
allow-query { any; };
};
/var/lib/powerdns/zone.net
$ORIGIN example.com.
$TTL 86400
@ IN SOA example2.com. (
2017020401 ; serial
3600 ; refresh
1800 ; retry
604800 ; expire
86400 ) ; minimum TTL
example.com. 172800 IN NS example1.com.
example.com. 172800 IN NS example2.com.
example.com. 172800 IN NS example3.com.
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)