首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >本地查询不显示域记录。

本地查询不显示域记录。
EN

Server Fault用户
提问于 2018-01-26 22:27:50
回答 1查看 1.6K关注 0票数 0

pdns版本:0.2081g7b9b55d(主分支和4.1版)

pdns递归版本: 0.0.1960g7b9b55d (主分支和版本4.1)

泼尼赛版本: 1.2.0

在两个主题上有3台具有galera后端的服务器,有pdns +pdns-递归+ dnsdist。

图一中的康斯:

/etc/pdns-recursor/recursor.conf

代码语言:javascript
复制
setuid=pdns-recursor
setgid=pdns-recursor
local-address=127.0.0.1
local-port=5301
hint-file=/etc/pdns-recursor/root.zone
allow-from=127.0.0.0/8

/etc/pdns/pdns.conf

代码语言:javascript
复制
setuid=pdns
setgid=pdns
launch=gmysql
gmysql-host=127.0.0.1
gmysql-user=powerdns_user
gmysql-dbname=powerdns
gmysql-password=
allow-axfr-ips=127.0.0.0/8, 192.0.2.5/32
cache-ttl=60
control-console=no
default-soa-name=ns2.example.ru
default-soa-mail=support@example.ru
default-ttl=3600
disable-axfr=no
local-port=5300
local-address=127.0.0.1
do-ipv6-additional-processing=yes
log-dns-queries=yes
logging-facility=0
loglevel=4
master=yes
max-queue-length=5000
max-tcp-connections=20

/etc/dnsdist/dnsdist.conf

代码语言:javascript
复制
setLocal('127.0.0.1')
addLocal('192.0.1.5')
setACL({'0.0.0.0/0', '::/0'}) -- Allow all IPs access
newServer({address='127.0.0.1:5300', pool='auth'})
newServer({address='127.0.0.1:5301', pool='recursor'})
recursive_ips = newNMG()
recursive_ips:addMask('127.0.0.0/8')
recursive_ips:addMask('192.0.1.0/24')
recursive_ips:addMask('192.0.2.0/24')
addAction(NetmaskGroupRule(recursive_ips), PoolAction('recursor'))
addAction(AllRule(), PoolAction('auth'))

在权威服务器上有一些域。例如google123.com

当我试图从允许的recursive_ips (包括@127.0.0.1 )的i解析这个地址时,获得以下内容:

代码语言:javascript
复制
# dig ANY google123.com @192.0.1.5

; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7_4.1 <<>> ANY google123.com @192.0.1.5
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 54293
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google123.com.         IN  ANY

;; AUTHORITY SECTION:
com.            2118    IN  SOA a.dns.ripn.net. hostmaster.ripn.net. 4032536 86400 14400 2592000 3600

;; Query time: 64 msec
;; SERVER: 192.0.1.5#53(192.0.1.5)
;; WHEN: Sat Jan 27 01:11:38 MSK 2018
;; MSG SIZE  rcvd: 102

如果我试图从另一个网络解析此域,请获取以下内容:

代码语言:javascript
复制
#dig ANY google123.com @192.0.1.5
;; Truncated, retrying in TCP mode.

; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7_4.1 <<>> ANY google123.com @192.0.1.5
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34025
;; flags: qr aa rd; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 3
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1680
;; QUESTION SECTION:
;google123.com.                  IN      ANY

;; ANSWER SECTION:
google123.com.           86400   IN      A       192.0.1.7
google123.com.           86400   IN      NS      ns1.example.ru.
google123.com.           86400   IN      NS      ns2.example.ru.
google123.com.           86400   IN      SOA     ns1.example.ru. hostmaster.example.ru. 2018012603 28800 7200 604800 86400

;; ADDITIONAL SECTION:
ns1.example.ru.         86400   IN      A       192.0.1.5
ns2.example.ru.         86400   IN      A       192.0.2.5

;; Query time: 3 msec
;; SERVER: 192.0.1.5#53(192.0.1.5)
;; WHEN: Fri Jan 26 23:16:29 CET 2018
;; MSG SIZE  rcvd: 181

似乎,这个递归器得到了答案,也没什么问题。

如何从recursive_ips中的IP中设置dnsdist以获得有关权威域记录的答案。我试过不同的方法,但没有人工作。

EN

回答 1

Server Fault用户

发布于 2018-01-26 23:39:51

Dnsdist将使用第一个匹配操作。使用您的配置,它将根据源地址的不同,更喜欢“递归”池,或者以其他方式使用"auth“池。Ie,其中一个或另一个将用于回答当前的查询,而不是两者的某种组合。

根据结果,听起来您在pdns-auth上的域没有授权,所以当查询转到pdns-rec时,它无法解析您的本地域。

解决这个问题的方法有多种,具体取决于最终目标是什么。

使pdns-rec与域

一起工作的

选项

  • 一般来说,明智的选择是:让代表团在pdns-auth上为您的区域做好准备(无论如何,您需要这样做才能解决您的域名问题)。
  • 本地测试的替代方法:使用例如forward-zones配置pdns-rec,专门告诉它在哪里找到您的域(例如forward-zones=example.org=192.0.2.1, example.net=192.0.2.1)。这显然只在本地工作,如果启用了dnssec验证,则可能需要配置负信任锚(addNTA in Lua配置)。

选项,用于使dnsdist始终直接向pdns-auth

发送有关区域的查询。

  • 您可以使用所有区域名称的列表配置dnsdist,并始终将它们指向"auth“池。例如,用所有的区域名称构造一个SuffixMatchNode,并将其与规则结合起来。我认为您可以执行类似于addAction(AndRule({ NetmaskGroupRule(recursive_ips), NotRule(SuffixMatchNodeRule(my_zones)) }), PoolAction('recursor'))的操作(甚至只需将后缀内联列出)。
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/894353

复制
相关文章

相似问题

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