亲手缔造DNS体系,创建DNS私有根:DNS系列之六

打造 DNS 私有根
我们现在已经从前面的博文中了解到了很多 DNS 的相关知识,今天我们用一个综合性的实验把前面的内容都串起来复习一下,这个有趣的实验就是 DNS 的私有根。私有根顾名思义是由个人或企业自行创建的 DNS 根 服务器,这个根服务器属于创建者私有专用,不能象互联网上的根服务器那样为众多的网民服务。那么为什么会有企业搭建私有根呢?直接用互联网上的根服务器不 是很好吗?需要搭建私有根一般有下列原因,例如有的单位如警察或军事部门出于保密需要,必须把单位的网络和互联网物理隔离,但又不愿使用 IP 地址来互相访问,这样就必须使用 DNS 私有根才能保证域名的正常应用;还有的大型企业为了管理方便,也在企业内设置私有根解析域名,这样可以省却去公网申请域名的麻烦。
对我们来说,创建私有根的意义在于可以通过这些操作更好地理解 DNS 的体系结构,可以亲自体验一下 DNS 的诞生过程。下面我们准备用五台虚拟机来实现一个 DNS 的私有根,拓扑如下图所示, Florence 充当私有根的根服务器,根服务器把 .com 区域的解析权委派给 Berlin ,把 .net 区域的解析权委派给 Firenze 。然后 Berlin 再把 hexun.com 的解析权委派给 Istanbul ,而 Firenze homeway.net 的解析权委派给 Perth 。每台服务器的完全合格域名和 IP 地址都在拓扑图中进行了标注。
 
负责根域的 DNS 服务器
我们把创建根服务器这个伟大的任务交给了 Florence ,私有根服务器的诞生宣布了我们使用了另外一个域名空间,和公网域名空间完全平行的另一个名称空间,在这个自己创建的域名空间中,我们可以使用任意域名而不用担心和公网上的同名区域发生冲突。如下图所示,我们在 Florence DNS 管理器中选择新建区域,准备在 Florence 上创建出根域。
 
出现新建区域向导,点击下一步继续。
 
区域类型当然选择“主要区域”。
 
区域的名称为 . ,哈哈,大名鼎鼎的根域原来如此简单。
 
根域的区域数据文件是 root.dns ,注意,我们之后要修改这个文件。
 
区域创建完毕,这时,私有根已经诞生了。
 
我们在根域中首先检查 NS SOA 记录,都任何区域来说,这两个记录都是不可或缺的。首先我们检查 NS 记录,如下图所示, NS 记录中描述了根域的 DNS 服务器是 Florence. ,由于 Florence. 并不是一个完全合格域名,因此我们要对这个域名进行编辑。
 
按照拓扑图中的设计,我们把根域的域名服务器改成了 Florence.root.net. IP 地址是 192.168.11.101
 
然后对根域的 SOA 记录也进行修改,如下图所示,我们把根域的主服务器设置为 Florence.root.net. ,这样,根域的 NS 记录和 SOA 记录就都设置好了。
 
接下来我们就要在根域中设置区域委派了,按照拓扑要求,我们应该把 com 区域委派给 Berlin ,把 net 区域委派给 Firenze 。我们在根域的区域数据文件 root.dns 中设置委派,如下图所示,我们把 com 的解析权委派给 Berlin.root.net. ,把 net 的解析权委派给 Firenze.root.net.
 
修改了根域的区域数据文件后,我们在 DNS 管理器中已经可以看到根域的委派结果了。
至此,我们对根域的设置完成,主要工作是创建了根域以及在根域中设置了委派。
 
  负责 com 区域的 DNS 服务器
根服务器把 com 区域的解析权委派给了 Berlin ,接下来我们就要在 Berlin 上进行设置了,首先我们要做的就是让 Berlin 信任我们新创建的根服务器,默认情况下, Berlin 只承认互联网上的那 13 个根服务器。如下图所示,我们在 Berlin DNS 管理器中打开服务器属性中的根提示,发现了 Berlin 目前承认的 13 个根服务器。
 
如下图所示,我们把 13 个根服务器删除,把 Florence.root.net. 作为唯一的 DNS 根服务器添加进来,这样, Berlin 就承认我们新创建的根服务器了。
 
Berlin 承认了私有根后,我们在 Berlin 上创建 com 区域,如下图所示,我们在 Berlin DNS 管理器中选择新建区域。
 
区域类型选择主要区域。
 
区域名称是 com
 
Com 区域的区域数据文件是 com.dns
 
Com 区域的创建非常简单,如下图所示,我们已经完成了 com 区域的创建。
 
创建了 com 区域后,我们接下来就要在 com 区域中检查 NS 记录和 SOA 记录的设置情况了。我们检查 com 区域的区域数据文件 com.dns ,如下图所示,我们发现 com 区域中的 NS 记录和 SOA 记录都把域名服务器设置为了 Berlin. ,但 Berlin. 并不是一个完全合格域名,因此我们要对记录进行修改。
 
如下图所示,我们通过编辑 com.dns 完成了两件工作,首先是把 NS 记录和 SOA 记录都用 Berlin.root.net. 这么个标准的完全合格域名来表示,其次是在 com 区域中进行了委派操作,把 hexun.com 的解析权委派给了 Istanbul.hexun.com
 
如下图所示,我们可以看到修改了 com.dns 后的结果。
 
至此,我们在 Berlin 上完成了 DNS 服务器的设置,首先修改了根服务器,然后完善了 com 区域的 NS 记录和 SOA 记录,最后在 com 区域中设置了委派。
 
负责 net 区域的 DNS 服务器
我们在根域中把 net 区域的解析权委派给了 Firenze ,接下来我们在 Firenze 上进行操作,首先 Firenze 要承认 Florence 是根服务器。如下图所示,我们在 Firenze 属性的根提示中设置了唯一的根服务器, Florence.root.net.
 
接下来在 Firenze 上创建 net 区域,如下图所示,我们在 Firenze DNS 管理器中选择新建区域。
 
区域名称是 net
 
区域数据文件是 net.dns
 
如下图所示,我们看到 net 区域的 NS 记录和 SOA 记录都表示得不恰当,我们在 net 的区域数据文件中进行修改。
 
如下图所示,我们在区域数据文件中把 net 区域的 NS 记录和 SOA 记录都进行了修改,改成了 firenze.root.net. ,然后把 homeway.net 的解析权委派给了 perth.homeway.net.
 
至此, Firenze 的设置完成,基本上和 Berlin 的设置是相同的,也是重新设置了根服务器,创建了 net 区域,修改了区域的 NS SOA 记录,同时设置了区域委派。
 
负责 hexun.com 的服务器
Istanbul 负责 hexun.com 区域的解析,我们首先也是要设置 Istanbul 的根服务器,如下图所示,我们设置 Florence.root.net. 是唯一的根服务器。
 
接下来需要在 Istanbul 上创建区域 hexun.com ,具体的创建过程不再赘述,如下图所示,这是 hexun.com 区域创建后的结果,显然,我们需要对其中的 NS SOA 记录进行修改。
 
如下图所示,我们编辑了 hexun.com 的区域数据文件 hexun.com.dns 。我们把 hexun.com 区域的 NS SOA 记录中的域名服务器都改为了 istanbul.hexun.com. ,而且在区域中添加了 [url]www.hexun.com[/url] mail.hexun.com 两条 A 记录。
 
修改后的结果如下图所示。
 
Istanbul 上的设置相对简单一些,只是把根服务器重新设置了一下,同时对 hexun.com 区域中的记录进行了一些修改,没有涉及到区域委派。
 
负责 homeway.net 的服务器
负责 homeway.net 的是 Perth ,我们首先也是要在 perth 上修改根服务器 , 如下图所示 , 我们把根服务器修改为 florence.root.net.
 
接下来在 perth 上创建区域 homeway.net ,具体过程不再赘述,如下图所示就是 homeway.net 刚创建完的结果。

我们修改区域数据文件 homeway.net.dns ,如下图所示,我们修改了 homeway.net NS SOA 记录,用完全合格域名来表示 DNS 服务器。然后还创建了两条 A 记录, [url]www.homeway.net[/url] ftp.homeway.net

修改后的结果如下图所示。

Perth 的设置也比较简单,和 Istanbul 类似,只是简单地改了一下根服务器,同时对 homeway.net 的区域数据进行了一下修改。
 
私有根测试
我们费了半天力气终于搭好了私有根,现在我们来测试一下效果,理论上我们使用任何一个 DNS 服务器都可以把私有名称空间内的任何域名都解析出来。我们在 perth 上进行一个测试,用 perth 作为 DNS 服务器来解析 [url]www.hexun.com[/url] 。理论上分析,以 hexun.com 结尾的域名应该由 Istanbul 来解析, perth 如果能解析出来,那肯定是通过私有根找到了 istanbul 。测试结果如下图所示,我们发现 perth 已经成功地解析了 [url]www.hexun.com[/url]
 

我们用抓包工具记录一下 perth 的解析过程,我们可以很清楚地看到, perth 先是向私有根的根服务器 192.168.11.101 发出了查询请求,然后又向负责 com 区域的 192.168.11.108 发出了查询请求,最后向负责 hexun.com 192.168.11.107 申请查询,这次终于如愿以偿,查到了正确结果,过程和以前在公网上的解析完全一样,我们设置私有根成功了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值