VMware下的DNS服务器虚拟仿真系统的研究与实现
2014-06-20高源
高源
摘 要:Linux系统中的很多网络服务器,需要多台主机组成的系统才能完成环境的搭建及结果的测试,这给传统的实验环境带来诸多不便,基于VMware的虚拟仿真系统可以解决这些问题。本文从初学者的角度出发,研究了如何使用VMware系统,来构建Linux下DNS主、辅服务器的实验平台,解决传统实验环境面临的问题。
关键词:VMware;Linux;DNS主服务器;DNS辅服务器
域名系统DNS是一种计算机域名解析的解决方案,它保存了域名和与之对应的IP地址的对照表,以解析对应的域名。域名服务器实际上就是安装域名系统的主机,它通过分布式数据库支持域名系统并实现域名的解析。Linux系统下的DNS服务器使用的是美国加州大学伯克利分校开发和维护的Bind软件,通过配置/etc和/named目录中的一系列文件,实现域名解析。目前使用Bind软件的DNS服务器约占所有DNS服务器的90%。
1 传统的DNS服务器系统环境的弊端
Linux是一种自由和开放源码的类Unix操作系统,Linux系统以其稳定性、安全性、免费开源等特性在嵌入式系统及网络服务器领域得到广泛应用。目前,各高校普遍开设了Linux课程,让学生更好地掌握Linux相关知识和技能。但是Linux系统的很多服务器环境(DNS服务器、DHCP服务器、VNC服务器等),需要多台服务器组成的系统才能完成实验,给传统的实验环境带来诸多不便。
比如,DNS服务器系统的实现需要以下几个服务器:
⑴根服务器:位于整个互联网域名空间的最上层,在域名中通常用“.”来表示,负责管理全世界的根域和顶级域,全世界只有13台。
⑵DNS主服务器:提供了互联网域名查询所需要的数据库文件,它是域名系统中必不可少的服务器,对互联网中域名数据的发布和查找起着非常重要的作用,对域中的域名拥有最高的权限,同时主服务器也实时完成和辅服务器的数据更新。
⑶DNS辅服务器:是对主DNS服务器的一种备份,它的域名数据库文件来源于主服务器文件的拷贝,当主服务器出现故障时,客户机通过辅助DNS服务器一样可以进行解析。当DNS客户较多的情况下,辅助DNS服务器可以为客户机提供查询功能,有效的减轻了主DNS服务器的负载。
其中的根服务器无需系统配置,可直接使用互联网的根服务器。而完成该服务器系统至少需要3台PC机:DNS主服务器、DNS辅服务器以及测试用客户计算机。这就要求配置服务器实验专用的网络实验室,而且需要配置专门的硬件、软件来支撑相应的实验环境。学校或培训机构由于资金、场地及设施等原因,实验环境往往无法创建。
虚拟机VMware的出现解决了以上的问题,通过VMware,系统管理员可以在一台PC机上创建多个操作系统,一台PC机可以同时扮演服务器和客户机多种角色,当需要多个服务器系统时,可以使用“克隆”功能,在一台PC机上克隆出多个服务器。如果出现实验故障,影响的也只是虚拟系统本身,不会影响物理机的性能。
2 VMware下的DNS服务器虚拟仿真系统环境的搭建
⑴DNS服务器虚拟仿真系统实验环境由3台虚拟机系统组成,一台Linux系统,充当主DNS服务器;另一台Linux系统,充当辅DNS服务器;还有一台Windows客户机,负责DNS结果的测试。所有的虚拟机网卡均选择“桥接”方式联网。
虚拟机中需配置以下系统:
·DNS主服务器,设置IP地址:192.168.100.100;子网掩码:255.255.255.0;默认网关:192.168.100.254
·DNS辅服务器,设置IP地址:192.168.100.150;子网掩码:255.255.255.0;默认网关:192.168.100.254
·DNS客户机,设置IP地址:192.168.100.200;子网掩码:255.255.255.0;默认网关:192.168.100.254;DNS先设置为192.168.100.100
⑵该服务器环境下的Linux系统,均需安装Bind软件(目前全世界最广泛使用的域名解析系统)。Linux下可在Bind官方网站中下载其源码软件包bind-9.3.1.tar.gz,解压和安装步骤如下:
解压Bind软件包 #tar–zxvf bind-9.3.1.tar.gz
进入解压后的文件夹 #cd bind-9.3.1
配置软件 #./configure
编译软件# make
安装软件 # make install
3 DNS主服务器的重要配置文件
⑴/var/named/chroot/etc/named.conf //主服务器配置文件
options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
};
指定该DNS区域为根域 zone "." IN {
指定区域的类型 type hint;
指定根域服务器文件 file "named.ca";
};
配置正向解析区域 zone "wtcjsj.com" {
该区域服务器为主服务器 type master;
指定该区域的正向解析文件 file "wtcjsj.com.zone";
指定允许传输的辅服务器 allow-transfer {192.168.100.150;};endprint
};
配置反向解析区域 zone "100.168.192.in-addr.arpa" {
该区域服务器为主服务器 type master;
指定该区域的反向解析文件 file "192.168.100.arpa";
指定允许传输的辅服务器 allow-transfer {192.168.100.150;};
};
⑵配置区域的正向解析文件、反向解析文件、根域文件
· /var/named/chroot/var/named/wtcjsj.com.zone //正向解析文件
· /var/named/chroot/var/named/192.168.100.arpa//反向解析文件
· /var/named/chroot/var/named/named.ca //根域文件
TTL为生存周期,表示解析的地址在数据库中缓存的时间;
SOA为起始授权记录,定义了全局参数,进行整个域的管理设置;
Serial为版本号,一般情况下可以用日期做版本号;
Refresh为更新时间,即主辅服务器隔多久进行一次数据复制;
Retry为重试时间,即主辅服务器数据复制失败后隔多久重发;
Expiry为过期时间,辅服务器和主服务器在该时间内无联系,则放弃这个区域的数据;
minimum 等同于TTL值。
4 配置辅服务器的实验步骤
⑴/var/named/chroot/etc/named.conf //主配置文件
…
配置正向解析区域 zone "wtcjsj.com" {
该区域服务器为辅助服务器 type slave;
指定该辅助区域的正向解析文件 file "slaves/wtcjsj.com.zone";
指定传输数据主服务器地址masters {192.168.100.100;};
};
配置反向解析区域zone "100.168.192.in-addr.arpa" {
该区域服务器为辅服务器 type slave;
指定该辅助区域的反向解析文件 file "slaves/192.168.100.arpa";
指定传输数据主服务器地址 masters {192.168.100.100;};
};
⑵/var/named/chroot/var/named/named.ca //根域文件和主服务器相同,可从互联网下载。
5 测试结果
⑴主服务器和辅服务器的启动
#service named start
⑵打开辅服务器/var/named/chroot/var/named/slaves文件看下正向解析文件和反向解析文件是否已经传递过来,测试结果表明,正向解析文件wtcjsj.com.zone和反向解析文件192.168.100.arpa均可通过主服务器复制到辅服务器,辅助的DNS区域文件就完成了,辅服务器可以提供备份容错和均衡负载的功能。
⑶把客户端的DNS地址分别指向辅服务器的IP地址,使用ping或nslookup验证实验结果,经测试辅服务器的解析结果完全正确。
[参考文献]
[1]张栋.Red Hat Enterprise Linux服务器配置与管理.北京:人民邮电出版社,2009.
[2]张文库,朱志辉.企业网搭建及应用(第2版).北京:电子工业出版社,2011.
[3]王晓超.Linux服务器搭建完全技术宝典.北京:中国铁道出版社,2010.endprint
};
配置反向解析区域 zone "100.168.192.in-addr.arpa" {
该区域服务器为主服务器 type master;
指定该区域的反向解析文件 file "192.168.100.arpa";
指定允许传输的辅服务器 allow-transfer {192.168.100.150;};
};
⑵配置区域的正向解析文件、反向解析文件、根域文件
· /var/named/chroot/var/named/wtcjsj.com.zone //正向解析文件
· /var/named/chroot/var/named/192.168.100.arpa//反向解析文件
· /var/named/chroot/var/named/named.ca //根域文件
TTL为生存周期,表示解析的地址在数据库中缓存的时间;
SOA为起始授权记录,定义了全局参数,进行整个域的管理设置;
Serial为版本号,一般情况下可以用日期做版本号;
Refresh为更新时间,即主辅服务器隔多久进行一次数据复制;
Retry为重试时间,即主辅服务器数据复制失败后隔多久重发;
Expiry为过期时间,辅服务器和主服务器在该时间内无联系,则放弃这个区域的数据;
minimum 等同于TTL值。
4 配置辅服务器的实验步骤
⑴/var/named/chroot/etc/named.conf //主配置文件
…
配置正向解析区域 zone "wtcjsj.com" {
该区域服务器为辅助服务器 type slave;
指定该辅助区域的正向解析文件 file "slaves/wtcjsj.com.zone";
指定传输数据主服务器地址masters {192.168.100.100;};
};
配置反向解析区域zone "100.168.192.in-addr.arpa" {
该区域服务器为辅服务器 type slave;
指定该辅助区域的反向解析文件 file "slaves/192.168.100.arpa";
指定传输数据主服务器地址 masters {192.168.100.100;};
};
⑵/var/named/chroot/var/named/named.ca //根域文件和主服务器相同,可从互联网下载。
5 测试结果
⑴主服务器和辅服务器的启动
#service named start
⑵打开辅服务器/var/named/chroot/var/named/slaves文件看下正向解析文件和反向解析文件是否已经传递过来,测试结果表明,正向解析文件wtcjsj.com.zone和反向解析文件192.168.100.arpa均可通过主服务器复制到辅服务器,辅助的DNS区域文件就完成了,辅服务器可以提供备份容错和均衡负载的功能。
⑶把客户端的DNS地址分别指向辅服务器的IP地址,使用ping或nslookup验证实验结果,经测试辅服务器的解析结果完全正确。
[参考文献]
[1]张栋.Red Hat Enterprise Linux服务器配置与管理.北京:人民邮电出版社,2009.
[2]张文库,朱志辉.企业网搭建及应用(第2版).北京:电子工业出版社,2011.
[3]王晓超.Linux服务器搭建完全技术宝典.北京:中国铁道出版社,2010.endprint
};
配置反向解析区域 zone "100.168.192.in-addr.arpa" {
该区域服务器为主服务器 type master;
指定该区域的反向解析文件 file "192.168.100.arpa";
指定允许传输的辅服务器 allow-transfer {192.168.100.150;};
};
⑵配置区域的正向解析文件、反向解析文件、根域文件
· /var/named/chroot/var/named/wtcjsj.com.zone //正向解析文件
· /var/named/chroot/var/named/192.168.100.arpa//反向解析文件
· /var/named/chroot/var/named/named.ca //根域文件
TTL为生存周期,表示解析的地址在数据库中缓存的时间;
SOA为起始授权记录,定义了全局参数,进行整个域的管理设置;
Serial为版本号,一般情况下可以用日期做版本号;
Refresh为更新时间,即主辅服务器隔多久进行一次数据复制;
Retry为重试时间,即主辅服务器数据复制失败后隔多久重发;
Expiry为过期时间,辅服务器和主服务器在该时间内无联系,则放弃这个区域的数据;
minimum 等同于TTL值。
4 配置辅服务器的实验步骤
⑴/var/named/chroot/etc/named.conf //主配置文件
…
配置正向解析区域 zone "wtcjsj.com" {
该区域服务器为辅助服务器 type slave;
指定该辅助区域的正向解析文件 file "slaves/wtcjsj.com.zone";
指定传输数据主服务器地址masters {192.168.100.100;};
};
配置反向解析区域zone "100.168.192.in-addr.arpa" {
该区域服务器为辅服务器 type slave;
指定该辅助区域的反向解析文件 file "slaves/192.168.100.arpa";
指定传输数据主服务器地址 masters {192.168.100.100;};
};
⑵/var/named/chroot/var/named/named.ca //根域文件和主服务器相同,可从互联网下载。
5 测试结果
⑴主服务器和辅服务器的启动
#service named start
⑵打开辅服务器/var/named/chroot/var/named/slaves文件看下正向解析文件和反向解析文件是否已经传递过来,测试结果表明,正向解析文件wtcjsj.com.zone和反向解析文件192.168.100.arpa均可通过主服务器复制到辅服务器,辅助的DNS区域文件就完成了,辅服务器可以提供备份容错和均衡负载的功能。
⑶把客户端的DNS地址分别指向辅服务器的IP地址,使用ping或nslookup验证实验结果,经测试辅服务器的解析结果完全正确。
[参考文献]
[1]张栋.Red Hat Enterprise Linux服务器配置与管理.北京:人民邮电出版社,2009.
[2]张文库,朱志辉.企业网搭建及应用(第2版).北京:电子工业出版社,2011.
[3]王晓超.Linux服务器搭建完全技术宝典.北京:中国铁道出版社,2010.endprint