首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么将DNS记录设置为私有地址的nslookup失败?

为什么将DNS记录设置为私有地址的nslookup失败?
EN

Unix & Linux用户
提问于 2018-01-14 19:48:17
回答 2查看 6.6K关注 0票数 3

设置

在某些网络上,我可以使用nslookup解析指向私有ip地址的域名:

代码语言:javascript
复制
@work> nslookup my192.ddns.net
Server:     10.1.2.3
Address:    10.1.2.3#53

Non-authoritative answer:
Name:   my192.ddns.net
Address: 192.168.20.20

但是,在我的家庭网络上,同样的查询失败了:

代码语言:javascript
复制
@home> nslookup my192.ddns.net
Server:     192.168.0.1
Address:    192.168.0.1#53

Non-authoritative answer:
*** Can't find my192.ddns.net: No answer

什么工作

我发现,如果我更改了my192.ddns.net的A记录,使其指向公共IP范围,那么它将工作得很好:

代码语言:javascript
复制
@home> nslookup my192.ddns.net
Server:     192.168.0.1
Address:    192.168.0.1#53

Non-authoritative answer:
Name:   my192.ddns.net
Address: 172.217.12.238

在国内,如果我为nslookup指定了DNS服务器,或者将我的膝上型计算机的DNS服务器设置为Google的nslookup,则如下所示:

代码语言:javascript
复制
@home> nslookup my192.ddns.net 8.8.8.8
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
Name:   my192.ddns.net
Address: 192.168.20.20

但我想继续使用我的主路由器作为我的主要DNS,以便它可以解析本地网络名称。我只希望在查找指向私有范围地址的DNS记录时不要失败(例如:192.168.20.20)。

家庭网络

我在我的主路由器上运行莱德 (以前的OpenWRT),它运行dnsmasq。我查看了DNS文档,甚至设置了系统,以便它用来解析地址的DNS服务器是Google的(8.8.8.8) --但是它仍然失败,我似乎不知道为什么。

问题

这里发生了什么,我该怎么解决?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2018-01-14 21:05:29

这是dnsmasq的一个特性。dnsmasq人员称它为“重新绑定保护”,您可以在dnsmasq手册中看到它作为--stop-dns-rebind命令行选项,也可以在LEDE中看到它作为rebind_protection选项。

默认为打开。要么关闭它,要么将您想要工作的域添加到一组白色的rebind_domain域中。

它声称防止的攻击是一种攻击者利用了您的WWW浏览器将自动下载和运行攻击者提供的来自世界各地的程序这一事实,使得xyr域名似乎在外部IP地址和局域网内部的一个内部地址之间快速交替,从而使您的计算机成为局域网上另一台计算机与该IP地址的另一台计算机和一些攻击者运行的内容服务器之间的通道。

票数 5
EN

Unix & Linux用户

发布于 2018-01-14 20:05:00

它是一种安全措施,由某些DNS软件不解析到私有IP地址。我想这样做的理由是为了防止对非安全路由器的访问。

这个问题可以通过不使用一个DNS来解决,它为您解决所有问题,而是配置您的解析器来连接到该域本身的NS。

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

https://unix.stackexchange.com/questions/417101

复制
相关文章

相似问题

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