开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

无懈可击之完美dns架构

简介:
+关注继续查看

一:dns简介:DNS 是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,它是由解析器以及域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。域名与IP地址之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。

二:dns的阶层式管理模式:每一级dns服务器只管理其相邻的下一级dns,如图:

image 

三:dns的查询过程:

第一种是本地解析:就是客户端可以使用缓存信息就地应答,这些缓存信息是通过以前的查询获得的

第二种是递归查询:即设定的DNS服务器代表客户端向其他DNS服务器查询,以便完全解析该名称,并将结果返回至客户端。

第三种是迭代查询:即设定的DNS服务器向客户端返回一个可以解析该域名的其他DNS服务器,客户端再继续向其他DNS服务器查询。

image

四:dns的服务器类型:

1:主dns服务器:记录可以修改,删除

2:辅助dns服务器:从主dns那里拷贝记录,不能修改,删除。

3.缓存dns服务器:

4:存根dns服务器:为某些特定的用户进行域名解析

五:dns资源记录

SOA(起始授权机构):此记录指定区域的起点。它所包含的信息有区域名、区域管理员电子邮件地址,以及指示辅 DNS 服务器如何更新区域数据文件的设置等

NS(名称服务器):此记录指定负责给定区域的名称服务器

A(主机): 此记录列出特定主机名的 IP 地址。

CNAME (标准名称):此记录指定标准主机名的别名。

MX邮件交换器记录:此记录列出了负责接收发到域中的电子邮件的主机。

PTR(指针) :把IP地址映射到域名。

六:dns区域:

正向区域:将主机名解析为ip地址

反向区域:将ip地址解析为主机名

案例一:北京总公司有一台主dns服务器 ,并且建立了一台辅助dns服务器,实现主dns服务器的内容同步到辅助dns服务器中。主dns服务器用Linux,辅助dns服务器用windows server  2003. 

拓扑方案:

image

一:首先配置Linux主机:

1:[root@lyt ~]# mkdir /mnt/cdrom

[root@lyt ~]# mount /dev/cdrom /mnt/cdrom/

[root@lyt ~]# cd /mnt/cdrom/Server/

[root@lyt Server]# ll bind*        #查询与dns相关的软件包:如图:

image

2:[root@lyt Server]# rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm         #安装dns的主软件包

[root@lyt Server]# rpm -ivh bind-chroot-9.3.6-4.P1.el5.i386.rpm          #有助于dns服务器安全的软件包

[root@lyt Server]# rpm -ivh caching-nameserver-9.3.6-4.P1.el5.i386.rpm         #dns服务器的缓存

[root@lyt named]# cd /var/named/chroot          #切换到dns服务器的根目录

[root@lyt named]# cd /var/named/chroot/etc/       #切换到dns服务器的主配置文档目录

[root@lyt etc]# cp -p named.caching-nameserver.conf   named.conf         #-p表示将文件的属性也拷贝一下,新文件名字一定是named.conf

[root@lyt etc]# vim named.conf      #编辑该文件如图所示:

image

[root@lyt etc]# vim named.rfc1912.zones          #编辑区域声明文件

image

3:[root@lyt chroot]# cd /var/named/chroot/var/named/             #切换到dns服务器的区域文件中

[root@lyt named]# cp -p localhost.zone a.com.db             #使用模板拷贝成一个数据库文件

[root@lyt named]# vim a.com.db              #编辑该区域的数据库文件如图:

[root@lyt named]# service named restart

[root@lyt named]# rndc reload              #将dns的更新重新加载

二:配置windows  server 2003主机:

1:选择:开始——〉设置——〉控制面板——〉添加或删除程序——〉添加/删除windows组件

image

image

image

2:开始——〉设置——〉控制面板——〉管理工具——〉dns

image

image

image

image

三:测试Linux主机和windows server主机的连通性:

image

image

image

image

image

image

四:修改Linux上主区域的数据库文件,查看windows  server 主机上的辅助区域变化:

[root@lyt named]# vim a.com.db

image

[root@lyt named]# rndc reload           #将dns的更新重新加载

image

五:限制windows主机到Linux主机上复制主区域内容

1:在named.conf文件中做限制:

[root@lyt named]# cd ../../etc/

[root@lyt etc]# vim named.conf        #再次编辑次文件,如图:

image

[root@lyt etc]# vim ../var/named/a.com.db    

image

[root@lyt etc]# rndc reload

image 

2:在区域文件named.rfc1912.zones中做限制,只能限制某个区域:

将上一步骤中的named.conf文件中的allow-transfer { 192.168.101.100; };禁用,然后用named.rfc1912.zones 作测试:

[root@lyt etc]# vim named.rfc1912.zones

image

[root@lyt etc]# rndc reload

image

案例二:主dns服务器用windows  server  2003, 辅助dns:linux 。实现主dns服务器内容同步到辅助dns服务器中。

拓扑方案:

image

一:配置windows  server  2003主机

image

image 

image 

image

image 

image

image

image

image

image

二:配置linux主机:

[root@lyt etc]# vim named.rfc1912.zones

image

[root@lyt etc]# rndc reload

[root@lyt etc]# cd ../var/named/slaves/

[root@lyt slaves]# more b.com.db       #查看b.com.db中的信息,如图:

image

三:如果windows server主机中有更新:查看linux主机上是否能够同步信息:

image

[root@lyt slaves]# service named restart

[root@lyt slaves]# rndc reload

[root@lyt slaves]# cat b.com.db

image 

案例三:反向区域:

1:要求:使用linux主机创建反向区域。windows server 2003主机创建反向区域,作为linux主机的备份dns服务器:

首先配置linux主机:

[root@lyt ~]# cd /var/named/chroot/etc/     

[root@lyt etc]# vim named.rfc1912.zones

image 

[root@lyt named]# cp -p named.local 10.10.10.db

image

配置windows server 2003主机:

image

image

image

image

image

用xp主机进行测试:

image

image 

2:要求:使用windows  server 2003创建反向区域。linux主机建立反向区域,作为辅助区域:

image

image

image 

image

image

配置linux主机:

[root@lyt ~]# cd /var/named/chroot/etc/

[root@lyt etc]# vim named.rfc1912.zones

image

[root@lyt etc]# service named restart

[root@lyt etc]# cd ../var/named/slaves/

image 

案例四:区域的委派与转发1:

1:linux主机做父域,windows  server  2003主机做子域

委派:将相关区域解析权限下放给某一台DNS服务器在委派服务器上只存储一条委派方与被委派方的记录。

转发:一般是本地的DNS不能为本地的用户进行服务,然后转发到其他指定的DNS。(转发可以通过转发器和根提示来实现)

说明:在北京总公司有一台dns服务器,域名是c.com,北京分公司的域名是bj.c.com。在上海的分公司域名是sh.c.com。在北京总公司的dns服务器上建立父子域,并对上海分公司dns服务器授权。上海分公司通过设置根提示和转发其来解析北京总公司及北京分公司。

拓扑方案:

image

一:首先配置linux上的dns-server:(在上个案例中已经将有关dns的软件包安装完毕,现在只修改配置文件)

[root@lyt etc]# pwd              #显示当前目录

/var/named/chroot/etc

[root@lyt etc]# vim named.rfc1912.zones   

image

[root@lyt etc]# cd ../var/named/          

[root@lyt named]# cp -p localhost.zone c.com.db           #复制模板文件,-p表示连同属性一起复制

[root@lyt named]# cp -p  localhost.zone bj.c.com.db

[root@lyt named]# vim c.com.db          #编辑c.com域,对上海分公司进行委派:

image

[root@lyt named]# vim bj.c.com.db        #编辑bj.c.com子域的数据库文件如图:

image

[root@lyt named]# named-checkconf /var/named/chroot/etc/named.conf           #检测主配置文档是否有错

[root@lyt named]# named-checkzone a.com /var/named/chroot/var/named/a.com.db        #检测区域文件是否有错

[root@lyt named]# service named restart      

二:配置windwos  server  2003主机:(在上个案例中,dns已经安装。这里不用安装了)

image

image

image 

image

image

image

 image

 image

image

三:用xp主机进行测试:

1:dns指向linux主机:

image

查看解析结果:

image

image

image

image

image 

image

2:使xp主机的dns指向windows  server 2003主机:

image

查看解析结果:

image

image

在windows  server  2003主机上设置根提示:

image

image

image

image

在xp主机上再次测试,xp主机dns指向子域sh.c.com。设置根提示之后解析成功:

image

image

将windows   server  2003主机上设置的根提示删除,然后设置转发器:

image

在xp主机上使用ipconfig /flushdns清除缓存,然后再次进行测试:

image

image

2:区域的委派与转发2:windows  server  2003主机做父域,linux主机做子域:

首先配置winodws server 2003主机:

image

image

image

image 

image

image

在linux主机上配置委派的域sh.d.com:

[root@lyt etc]# vim named.rfc1912.zones

image 

[root@lyt etc]# cd ../var/named/

[root@lyt named]# cp -p localhost.zone sh.d.com.db

[root@lyt named]# vim sh.d.com.db

image

使用xp主机进行测试:dns指向windows  server  2003:

image

image

dns指向linux主机(sh.d.com子域):

image

image

image

在linux主机上设置根提示:

[root@lyt named]# vim  named.ca            #编辑dns的根指向文件

image

[root@lyt named]# service named restart

再次用xp主机测试:

image

image

在linux主机上设置转发器:(将根指向删除)

1:无条件转发:

[root@lyt named]# cd ../../etc/    

[root@lyt etc]# vim named.conf          

image

image 

 image

2:配置有条件转发:

[root@lyt etc]# vim named.rfc1912.zones

image

[root@lyt etc]# rndc reload

image

image

用xp主机,再次进行测试:

image

image

看完务必赞一个,写博客好辛苦!!!










本文转自 liuyatao666 51CTO博客,原文链接:http://blog.51cto.com/5503845/973781,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
DNS的主从架构与数据同步
DNS的主从架构与数据同步
0 0
DNS服务-主从架构搭建
为了网站的可靠性,通常都会有多个DNS服务器,万一DNS服务器宕机了,可以实现DNS服务器容错 通常都会有一个主DNS服务器,后面配若干个辅助DNS服务器,这个主DNS服务器的数据库会同步给其他的DNS服务器,这个就叫主从架构 下面演示主从架构的搭建 ↓ ↓ ↓ 环境 最少三台主机 同样和前几...
841 0
微服务架构中基于DNS的服务发现
当前,微服务架构已经成为企业尤其是互联网企业技术选型的一个重要参考。微服务架构中涉及到很多模块,本文将重点介绍微服务架构的服务注册与发现以及如何基于DNS做服务发现。最后,简单介绍下阿里巴巴内部是如何基于DNS做服务发现的。
8084 0
【权限设计系列】「认证授权专题」微服务架构的登陆认证问题
【权限设计系列】「认证授权专题」微服务架构的登陆认证问题
0 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
云原生架构白皮书2022年新版
立即下载
技术揭秘:RocketMQ 5.0 云原生架构升级之路
立即下载
基于英特尔®架构的阿里云服务网格ASM技术加速应用服务加密通
立即下载