我很好奇。我一直在阅读我们的ISP和互联网中间人是如何记录和跟踪所有DNS请求的--基本上在许多日志中留下了面包屑的痕迹,还允许DNS出于广告目的劫持(我在看您Cox Communications!)。
不管其他隐私/安全方法,我特别想知道是否可以在您自己的本地网络上运行DNS服务器,_that实际上拥有根DNS服务器( .com、.net、.org)域的区域信息。
我知道您可以设置DNS,基本上只映射您域中的计算机,但基本上可以请求将根DNS信息的副本/传输存储在您自己的DNS服务器上,这样您就可以完全绕过互联网获取DNS信息以进行web浏览了吗?
我希望我说的很清楚。我不想让我的DNS服务器只知道关于我的内部网络的信息--我希望它拥有大型互联网DNS服务器所拥有的重复信息,但是我希望在我的DNS服务器上本地拥有这些信息。
是否有类似于BGP区域传输但用于DNS的内容?
发布于 2010-09-07 20:52:36
DNS通过设计并不允许拥有所有区域的权威副本,因为它使用了分层命名系统。
根服务器用于标识负责所讨论的顶层域 (TLD)的服务器。例如,解析www.example.net将首先查询根服务器以标识.net的权威名称服务器。.net名称服务器将标识example.net的权威名称服务器,然后该名称服务器将返回www.example.net的记录。
无法下载所有区域的副本。但是,您可以运行本地缓存名称服务器。缓存名称服务器将提供已解析的所有记录的本地副本,这些记录将使用为记录指定的时间存活时间(TTL)过期。请记住,我的解释是对DNS协议的简单描述,可以通过阅读征求意见中的定义来详细探讨。
虽然可以通过运行本地缓存来避免NXDOMAIN劫持,但请记住,所有DNS解析通信仍将通过未加密的Internet连接传输。您的ISP可能会监视这些通信量,并且仍然可以看到通信。您与您的ISP的合同以及您的当地法律将是您确定如何对待您的通信的明确手段。您的ISP的合同将包括服务条款,隐私政策和任何额外的合同,您可能与您的ISP。
使用加密协议是确保数据在传输过程中不被窃听的最佳方法之一。然而,即便如此,也不能保证匿名。还有一些附加协议,如托尔和弗莱内,它们试图将匿名性引入互联网,因为它从未被设计成真正的匿名。
发布于 2010-09-07 22:49:40
有几件事:
如果您将服务器配置为使用根提示而不是使用转发器,则不必担心MITM问题(至少来自ISP和DNS劫机者)。对于所有外部DNS解析,您的服务器将查询根提示,这将向您提供有关顶级域的gTLD服务器(.com等),然后该服务器将向您提供有关域的NS服务器。
如果您真的想创建自己的根服务器,当然可以,尽管我看不出它对您有多大的好处。下面是在Windows DNS服务器上进行此操作的方法:
下载DNS根区文件并将其保存为Windows服务器上的%systemroot%\system32 32\ DNS目录中的root.dns,使用DNS区域创建向导创建一个名为“”的新的主正向查找区域。(没有引号),取消选择创建AD集成区域的选项,输入“”。对于区域名称(没有引号),选择使用现有文件的选项,区域文件名字段将自动填充名称root.dns (如果不键入它),保留该选项不允许按原样动态更新,在遍历向导的每个步骤后单击finish按钮。现在您有了一个根服务器,其中包含所有gTLD服务器的区域和区域记录。
请注意,这将禁用服务器上的转发和根提示选项(因为您的服务器现在是根服务器),还请注意,如果gTLD信息发生变化,则服务器无法获得这些更改的通知。
发布于 2010-09-07 21:17:02
当然,您可以设置自己的服务器,并使其对根服务器具有权威性,但我不知道有什么方法可以用根服务器的zonefile预填充它。您不能简单地请求区域转移,所以我想您必须保留缓存来填充它。
修改其他名称服务器上的root.hints,将它们指向私有根服务器,然后开始测试。
但是请记住,根服务器只知道哪些服务器是TLD的授权服务器,而不是其他服务器。实际上,您需要重新创建整个服务器层次结构,这似乎是一项不可能的任务。
https://serverfault.com/questions/178931
复制相似问题