基于BIND 的辅助DNS 服务器的设计与实现
2015-11-25□姜磊
□姜 磊
现代社会网络的发展越来越快速,特别是大型企业和公司常常需要自行组建Intranet。在企业内部模仿Internet 的网络模式,配置DNS 服务器,实现企业内部域名的解析,组建独立的域环境,便于企业的组织和管理。而为了实现DNS 的容错,防止DNS 的崩溃和宕机,保证域名的正常解析,企业常常需要创建辅助DNS 服务器。在选择DNS 服务器时,中小型企业一般会选择微软公司Windows server 系列,大型企业一般都会选择基于linux 的BIND 系列。
一、DNS 与BIND 简介
DNS,全称Domain Name System,即域名解析系统。由于IP地址比较复杂,难以记忆,因此产生了DNS。DNS 就像是一本电话本,里面有域名地址与IP 地址对应的条目。当我们使用域名来访问网站或者服务时,DNS 负责到它的数据库里面查询与之匹配的IP 地址,然后访问。DNS 协议运行在UDP 协议之上,使用端口号53。
DNS 的重要性:从技术角度看,DNS 解析是互联网绝大多数应用的实际寻址方式,是域名技术的再发展、以及基于域名技术的多种应用,丰富了互联网应用和协议。从资源角度看,域名是互联网上的身份标识,是不可重复的唯一标识资源,互联网的全球化使得域名成为标识一国主权的国家战略资源。
Linux 凭借其可靠性、稳定性和低廉的价格,成为建立DNS服务器的优秀平台。在Linux 上的DNS 服务是用BIND 软件来实现的。BIND 的全称是伯克利因特网名称域系统(Berkeley Internet Name Domain),它是目前最为流行的名称服务器软件。BIND 作为一种DNS 服务器软件,它是最初将DNS 引入网络的软件,目前BIND 在全世界使用广泛,与Windows 平台的DNS 服务相比,BIND 的可靠性、稳定性、执行效率和安全性更高,因此很多互联网中的DNS 服务都采用BIND 作为名称服务的软件平台,目前全世界95%以上的DNS 服务器都是用BIND 来搭建的。
二、辅助DNS 服务器的设计
做辅助DNS 服务器之前首先必须要有一台独立运行的DNS 服务器,本次实验我们已有一台LINUX 服务器作为DNS服务器,并且可以正确运行并提供正常的DNS 解析服务,这台服务器的IP 地址为:192.168.1.100 作为主要DNS 服务器,域名为qq.com.现在我们需要做辅助DNS 服务,因此还需要一台服务器,这台辅助DNS 服务器的IP 地址为:192.168.1.101。
(一)配置主要DNS 服务器。主要DNS 服务器的配置文件只要修改/etc/named.rfc1912.zones 这个文件
图1
把allow-update {none;};修改为allow-transfer {192.168.1.101;};后面的是辅助DNS 服务器的IP 地址。再重启主要DNS 服务器:service named restart。
(二)配置辅助DNS 服务器。辅助DNS 服务器也是要修改named.rfc1912.zones 这个文件。
图2
type slave;说明这是一个辅助DNS 服务器。
masters {192.168.1.100;};说明它的主要DNS 服务器是192.168.1.100;
file“slaves/localhost.zone”;
说明辅助DNS 服务器的区域文件存放的位置;
修改完成重新启动DNS 服务器:service named restart。
(三)测试。在客户端做好主要和辅助DNS 服务器设置,如图3 所示。
主要DNS 服务器就是第一台服务器的IP 地址192.168.1.100;辅助DNS 服务器就是第二台DNS 服务器的IP 地址192.168.1.101。
把首选服务器停止service named stop,在客户端ipconfig/flushdns 清空DNS 缓存,发现在客户端还是可以ping 通www.qq.com,这就说明辅助DNS 服务器已经可以正常工作了。
图3
三、结语
本文基于Linux 的BIND 设计了辅助DNS 服务器,为大型企业域名解析容错提供了可行的方法和依据。BIND 比传统的windows server 的DNS 服务器更加健壮,系统更加稳定。我们做好BIND 的辅助DNS 后会在辅助DNS 服务器的/var/named/ 目录下面发现有一个slaves 目录,在里面看到了正向区域文件和反向区域文件,这些区域文件都不是手动建立的,而是在启动辅助DNS 服务器时自动从主要DNS 服务器传送过来的。在企业网络中有了辅助DNS 服务器就可以起到负载平衡和备份的作用,不至于网络中一台DNS 服务器宕机,而网络域名解析服务中断,从而保证了企业网络服务的正常运行。
[1]陈涛,张强,韩羽.企业级Linux 服务攻略[M].北京:清华大学出版社,2008
[2]姚越.Linux 网络管理与配置[M].北京:机械工业出版社,2012
[3]杨云,马立新.网络服务器搭建、配置与管理[M].北京:人民邮电出版社,2011
[4]周伯恒.CentOS 6.X 系统管理实战宝典[M].北京:清华大学出版社,2013
[5]杨明华.Linux 系统与网络服务管理技术大全[M].北京:电子工业出版社,2008