我很难将子域重定向到其他DNS。
我有:
主存在域:d和新子域:
| 8412 | 42 | test1.d | NS | ns1.test.test1.d
| 8413 | 42 | test1.d | NS | ns2.test.test1.d
| 8414 | 42 | ns1.test.test1.d | A | 10.64.91.100
| 8415 | 42 | ns2.test.test1.d | A | 10.64.91.200并返回:
dig admin.test1.d
; <<>> DiG 9.10.6 <<>> admin.test1.d
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23733
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 3
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;admin.test1.d. IN A
;; AUTHORITY SECTION:
test1.d. 60 IN NS ns1.test.test1.d.
test1.d. 60 IN NS ns2.test.test1.d.
;; ADDITIONAL SECTION:
ns2.test.test1.d. 60 IN A 10.64.91.200
ns1.test.test1.d. 60 IN A 10.64.91.100但它不能正确地返回记录。示例记录A为空。
如果我问,10.64.91.100记录将正确返回。
dig @10.64.91.100 admin.test1.d
; <<>> DiG 9.10.6 <<>> @10.64.91.100 admin.test1.d
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27387
;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;admin.test1.d. IN A
;; ANSWER SECTION:
admin.test1.d. 86400 IN A 10.64.91.50我的配置pdns:
allow-axfr-ips=10.64.91.112
also-notify=10.64.91.112
only-notify=10.64.91.112
api=yes
api-key=XXXXXXXXX
daemon=yes
default-soa-content=ns1.test.eu1.d. admin.domain.pl. 0 10800 3600 604800 3600
default-ttl=3600
disable-axfr=no
guardian=yes
include-dir=/etc/powerdns/pdns.d
launch=
local-address=10.64.91.111
local-port=53
log-dns-details=on
loglevel=4
master=yes
receiver-threads=2
setgid=pdns
setuid=pdns
slave=no
webserver=yes
webserver-address=10.64.91.111
webserver-allow-from=10.64.91.20
webserver-port=8081
query-cache-ttl=60MySQL:
# MySQL Configuration
# Launch gmysql backend
launch+=gmysql
# gmysql parameters
gmysql-host=localhost
gmysql-port=3306
gmysql-dbname=XXXX
gmysql-user=XXXXX
gmysql-password=XXXXX
gmysql-dnssec=yes
# gmysql-socket=有什么想法吗?
我看到了
Powerdns子域和委托
和https://nsrc.org/workshops/2010/sanog16/raw-attachment/wiki/DNS/dns4-presentation.pdf
应该管用的。
在10.64.91.100和10.64.91.100我使用泼尼赛。
/etc/dnsdist/dnsdist.conf
-- dnsdist configuration file, an example can be found in /usr/share/doc/dnsdist/examples/
-- disable security status polling via DNS
setLocal("0.0.0.0:53")
setACL({"0.0.0.0/0", "::/0"})
newServer({address="10.64.91.111:54"})
newServer({address="10.64.91.112:54"})
setServerPolicy(wrandom)在10.64.91.111和10.64.91.112中,我使用PowerDNS接收器。
cat /etc/powerdns/recursor.conf
local-address=10.64.91.111
local-port=54
allow-from=10.0.0.0/8, 127.0.0.0/8, 10.12.0.0/16, 10.13.0.0/16, 195.88.50.0/26, 10.66.0.0/16, 10.64.0.0/16
forward-zones=d=10.64.91.111:53发布于 2021-07-12 06:53:36
如果我正确理解这个问题,这似乎只是一个与预期不符的情况。
在问题中的第一个dig命令中,您似乎直接查询权威服务器,当被问到委托子区域中的名称时,它只使用引用信息进行响应。
这确实是对权威服务器的所有期望,在这里没有什么意想不到的事情发生。
为了从客户端机器的角度进行完整测试(而不是获得最终答案所需的一系列查询中的一个步骤),您可以将查询定向到解析器服务器。如果这是基础结构中缺少的部分,例如PowerDNS Recursor (相对于PowerDNS权威)、Un绑定、启用递归绑定、Authoritative等等。
这是在客户端机器上配置的服务器类型(在resolv.conf或客户机OS所具有的任何配置机制中),它将遵循委托链来实际获得客户端所要求的答案,而不是一个权威服务器,该服务器的作用是仅为其拥有的数据提供服务(在委托的情况下,只发送问题中的引用)。
发布于 2021-07-13 09:05:57
好吧,很管用。
我添加了recursor.conf and query并删除了10.0.0.0/8。
默认情况是:
违约: 127.0.0.0/8、10.0.0.0/8、100.64.0.0/10、169.254.0.0/16、192.168.0.0/16、172.16.0.0/12、:1/128、16 00:/7、fe80:/10、0.0.0.0/8、192.0.0.0/24、192.0.2.0/24、198.51.100.0/24、203.0.113.0/24240.0.0.0/4,::/96,:ffff:0:0/96,100:/64,2001:db8::/32
https://serverfault.com/questions/1069328
复制相似问题