首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Linux中反向查找--在NXDomain上尝试下一个服务器

在Linux中反向查找--在NXDomain上尝试下一个服务器
EN

Server Fault用户
提问于 2012-08-27 15:47:45
回答 3查看 2.4K关注 0票数 1

我在Linux盒上有一个应用程序,它使用反向查找来解析主机名。问题是,我的resolve.conf中有两组DNS服务器(总共4台服务器),每一组对应于不同的IP范围。它对一个IP的范围很好,无论哪一个恰好在第一个服务器中,但是如果我试图查找另一个范围,它报告没有找到: 3(NXDOMAIN)。如果它只是尝试列表中的下一个服务器,它会在那里succeed....is使它这样做吗?DNS服务器仅对其各自的范围具有权威性。

EN

回答 3

Server Fault用户

回答已采纳

发布于 2012-08-27 19:42:02

我将安装dnsmasq,使其(127.0.0.1)成为唯一的名称服务器,并使用" server“dnsmasq.conf指令将其配置为查询此或那个域的服务器。

如果有一种方法可以在NXDOMAIN上尝试与DNS服务器不同的服务器,那就是使用具有此功能的本地DNS服务器。Linux解析器不允许这样做。可以将PowerDNS配置为为每个查询运行命令,因此作为最后手段,您可以始终这样做。

票数 3
EN

Server Fault用户

发布于 2012-08-29 10:40:05

回复@cstamas,只是为了澄清如何用dnsmasq解决VPN问题。

假设您的计算机位于homenetwork.test域,IP地址为10.1.0.0/16,而DNS服务器为10.1.0.1。该DNS服务器只能查询worknetwork.test域的“外部”域名。它对homenetwork.test和1.10.in-addr.arp具有权威性(内部)。

现在,您连接VPN以加入工作网络,现在您有了一条通过该接口连接到10.2.0.0/16的新路由和一个对worknetwork.test和2.10.inaddr.arpa具有权威性的新的DNS服务器10.2.0.1。如果使用这些名称服务器中的一个或另一个,则只能解析其中一个worknetwork.test域和另一个homenetwork.test域。

如果同时使用dns服务器(和RES_ROTATE),这并不会更好,因为有时您能够解决其中的一个或另一个。

现在,如果你用

代码语言:javascript
复制
dnsmasq --no-resolv --no-negcache --no-host --conf-file= \
   --server=/worknetwork.test/10.2.0.1 \
   --server=/2.10.in-addr.arpa/10.2.0.1 \
   --server=10.1.0.1

在resolv.conf中有"nameserver 127.0.0.1“,您将使用10.2.0.1来解析worknetwork.test和10.2.x.x IP地址以及您的主DNS服务器。

票数 1
EN

Server Fault用户

发布于 2012-08-27 20:01:56

你告诉的信息很少,所以很难开始,但我会尝试.

首先,您所说的服务器是权威的dns服务器(提供有关您设置的区域的信息),对吗?如果是这样的话,您应该在您的resolv.conf中设置一个仅是递归的服务器(只为您解析dns名称,而不是提供信息)。正如sch所说,您可以在本地主机上安装它。

另一方面,如果服务器返回一个not域,意思是:“我知道这个名称,我是它的权威服务器,这个名称不存在。”标准dns解析算法在此停止。仅此而已,这是无法避免的。您应该将您的权威dns服务器设置为不对该名称具有权威性。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/421663

复制
相关文章

相似问题

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