我对DNS很陌生。据我所知,我知道:当DNS服务器被要求解析某个域名(假设所有缓存都是空的)时,它将首先联系根名服务器,并询问TLD的名称服务器,并继续询问他如何访问该域名的权威名称服务器。
我的问题是,假设我有一家本地网络的公司,有很多机器、打印机和服务等等。我是否可以为我的内部网络建立一个域名,以便每台机器和服务都有一个域名?我知道这是可能的,我的问题是它怎么可能?因为当DNS服务器被要求使用域名时,它会从顶部(根服务器)到底部,那么我怎么可能有一个不属于这个公共层次结构的域名呢?
发布于 2021-11-20 23:14:28
关键是当DNS服务器被查询到某个域名时,它不一定从官方根服务器开始。该规则有一些例外,为您提供了插入自己域的机会。
一般来说,当DNS服务器已经知道查询的答案时,它就使用这个答案,而不是从根服务器开始进行完整的演练。这适用于所有各级。因此,当一个DNS服务器被要求使用somehost.subdom.example.com,并且它已经知道example.com的NS记录时,它将从这个知识开始,直接从那里进入subdom.example.com,而不是再次不必要地向根服务器请求com的NS记录。该知识的可能来源包括最近查询的缓存,但也包括在服务器上本地配置的DNS区域。
因此,如果您在DNS服务器上配置了一个区域example.com,那么通过该服务器对example.com下面的域名的每个查询都将有效地从该区域得到服务,从而掩盖来自公共DNS层次结构的相同查询的任何结果。您将创建自己的私有域版本。请注意,没有经过DNS服务器的任何查询仍将返回来自公共DNS层次结构的结果,因此您需要确保公司网络中的所有DNS查询都直接或间接地转到具有该额外区域的DNS服务器。
发布于 2021-11-20 21:46:42
可以,停那儿吧。完全没什么大不了的。从技术上讲,它不是TLD -- TLD是".",您是第一层域。
显然,由于您没有被委派,那么,除非其他人使用您的dns服务器(S),否则不会有人获得该信息。
经验不多对吧?因为这正是Active Directory管理域的方式。设置自己的域,所有域成员都使用(必须使用)活动目录DNS服务器)。
https://serverfault.com/questions/1084130
复制相似问题