项目七:配置与应用DNS服务
项目七:配置与应用DNS服务
[项目说明]:
DNS(Domain Name System)用于组织到域层次结构中的计算机和网络服务。在Internet上域名与ip地址之间是一对一的,域名虽然便于人们记忆,但机器之间只能相互认识ip地址,它们之间的转换工作称为域名解析,域名解析需要有专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。DNS 命名用于Internet等TCP/IP网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入DNS名称时,DNS可以将此名称解析为与之相关的其他信息,如ip地址。在上网时输入的网址通过域名解析系统解析找到相对应的ip地址,这样才可以连接网络。其实,域名最终指向ip地址。
linux下架设DNS服务器通常使用bind实现,是世界上广泛使用的DNS服务器软件。
本次项目的主要任务是理清DSN服务器的概念、工作原理以及熟练配置DNS服务器。
[项目实施]:
任务一:安装于配置基本DNS服务器
任务二:搭建辅助作用域DNS服务器
任务三:搭建转发与委派DNS服务器
任务一:安装于配置基本DNS服务器
[任务说明]:
配置一台DNS服务器,设置该区域的SOA记录,主域名服务器为ns.yhy.com。维护该区域的管理员邮箱地址为[email protected],当前区域信息的版本号,刷新时间的为默认值。
该区域的ns记录:主机名为ns.yhy.com。
该区域的A记录:主机名为ns,对应的解析ip为192.168.10.100。
该区域的A记录:主机名为web1,对应的解析ip为192.168.10.100。
该区域的A记录:主机名为web2,对应的解析ip为192.168.10.100。
该区域的别名记录:别名为mail, 对应的主机为ns。
该区域的别名记录:别名为wwww,对应的主机为ns。该区域的别名记录:别名为FTP,对应的主机为ns。并对应做反向解析。
【任务实施】:
第1步:设置服务器的IP地址
DNS服务器需要为客户机提供域名解析服务,为了让客户机能够定位到自己,DNS需要一个固定的IP地址。
使用【setup】命令配置IP地址,或使用【vim /etc/sysconfig/network-scripts/ifcfg-eth0】命令直接修改网卡的配置文件来配置DNS服务器的IP地址。配置完成后,需要通过【service network restart】重启网路服务。
第2步:安装DNS服务软件
配置好yum源,挂载CentOS6.5光盘,使用【yum install -y bind】命令安装DNS主常程序bind软件。使用【yum install -y bind-chroot】命令安装DNS权限管理辅助软件bind-chroot。
安装好以后,通过命令【rpm -qa|grep bind】命令即可查询如下的几个软件:
第3步:备份主要配置文件
【cp -p /etc/named.conf /etc/named.conf.bak】cp加参数-p,d代表权限不变的复制。
第4步:编辑主要配置文件
虽然具有chroot的环境,不过由于centos 6.5已经通过脚本帮我们进行文件与目录的挂载链接,所以直接修改/etc/named.conf,不用在修改/var/named/chroot/etc/named.conf。在这个文件中,主要是定义跟服务器环境有关的设定,以及各个zone(区域)的领域及数据库所在文件名。因为使用了forwarding机制,所以这个服务器没有区域,所以只需要设置跟服务器有关的设定即可。
使用【vim /etc/named.conf】命令修改/etc/named.conf配置文件,具体配置的地方如下图:
参数说明:
listen-on port 53{any;};jie接听该服务器的哪个接口。预设是监听localhost,即只有本机可以对DNS服务进行查询,那当然很不合理。所以要将大括号内的数据改成any。因为可以监听多个接口,因此any后面要加上分号才算结束。另外,这个项目没有写也没有关系,因为默认是对整个主机系统的所有接口进行监听。
listen-on port 53{any;};jie接听该服务器的哪个接口。预设是监听localhost,即只有本机可以对DNS服务进行查询,那当然很不合理。所以要将大括号内的数据改成any。因为可以监听多个接口,因此any后面要加上分号才算结束。另外,这个项目没有写也没有关系,因为默认是对整个主机系统的所有接口进行监听。
allow-query{any;};是针对客户端的设置,是确认谁可以对DNS服务提供查询请求。原本的文件内容预设是针对localhost开放,这里改成对所有用户开放,防火墙也得放行,不过默认DNS就是对所有用户开放,所以这个设定值可以不写。
forwarders{114.114.114.114;}指定上层进行传递的DNS服务器。
第5步:备份与编辑定义区域文件
使用【cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak】命令备份源配置文件,一定要加参数-p。使用【vim /etc/named.rfc1912.zones】命令编辑区域配置文件。
复制并粘贴最后12行然后编辑成如下图:定义区域名称为yhy.com的正向查找区域文件yhy.z以及反向查找区域文件yhy.f。
第6步:建立正向查找区域文件
使用【cd /var/named/】命令进入配置文件目录。使用【cp -p named.localhost yhy.z】命令复制样本区域文件,一定要加参数-p连同权限一起复制。使用【vim yhy.z】命令编辑正向查找区域文件。
正向的区域文件的定义如下图示:
第7步:建立反向查找区域
使用【cp -p yhy.z yhy.f】命令复制建立反向区域文件,一定要加入参数-p。使用【vim yhy.f】命令编辑反向区域文件。
反向区域文件的定义图如下:
第8步:重新启动服务
【service named restart】重新启动DNS服务。
【chkconfig named on】设置DNS服务开机时服务自动启动。
第9步:客户机验证
在客户机中配置DNS服务器,使用【vim /etc/resolv.conf】命令配置客户机的DNS,在文档末端添加如下内容:
nameserver 192.168.10.254
通过nslookup测试工具测试DNS是否正常解析。
以下是正向区域的验证结果,如下图:
以下是反向区域的查找验证结果,如下图:
任务二:搭建辅助作用域DNS服务器
【任务说明】:
DNS辅助服务器是一种容错设计,考虑的是一旦DNS主服务器出现故障或因负载太重无法及时响应客户机请求,辅助服务器将为服务器解决故障。辅助服务器的区域数据都是从都是从主服务器复制而来,因此辅助服务器的数据都是只读的。当然,如果有必要,可以将辅助服务器升级为主服务器。
辅助域名服务器的好处有如下:
(1)辅助DNS服务器提供区域 冗余,能够在这个区域的主服务器停止响应的情况下为客户端解析这个区域的DNS名称。
(2)创建辅助DNS服务器可以减少DNS网络通信量,采用分布式结构,在低速广域网链路中添加辅助DNS服务器能有效地管理和减少网络通信量。
(3)辅助服务器可以减少区域的主服务器的负载。
本次任务的主要工作是为企业搭建一台辅助DNS服务器,具体的配置参数如下:域名为yhy.coom;主区域服务器IP为192.168.10.254;辅助区域IP为192.168.10.253。
【任务实施】:
第1步:设置服务器的IP地址
DNS服务器需要为客户机提供域名解析服务,为了让客户机能够定位到自己,DNS服务器需要有一个固定的IP地址。配置完成后,需要使用【service network restart】命令重启网络服务。
第2步:安装DNS服务软件
配置好yum源,挂载centos光盘,采用如下命令安装相关软件。
【yum install -y bind】安装DNS主程序bind软件。
【yum install -y bind-chroot】安装DNS权限管理辅助软件bind-chroot。
第3步:备份主要配置文件
【cp -p /etc/named.conf /etc/named.conf.bak】cp 加参数-p,代表权限不变的复制。
第4步:编辑主要配置文件
使用【vim /etc/named.conf】命令修改/etc/named.conf配置文件,具体配置如下图所示:
通过allow-transfer语句指定辅助服务器的IP地址。
第5步:备份与编辑区域文件
使用【cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak】命令备份将要修改的配置文件。
使用【vim /etc/named.rfc1912.zones】命令编辑区域定义文件,复制并粘贴最后12行,然后编辑如下内容:定义区域名称为yhy.com正向查找区域文件为yhy.z以及反向查找区域文件为yhy.f。
第6步:建立正向区域查找文件
使用【cp -p named.localhost yhy.z】命令根据样本建立正向区域文件,一定要加参数-p。
使用【vim yhy.z】命令编辑正向区域文件如下图所示:为了能够及时看到,可以修改刷新时间及重试时间。
第7步:完成主服务器DNS的服务的配置,重启服务
修改配置文件后,需要重启相关服务。使用【service network restart】重启DNS服务器,使最新修改的配置生效。
第8步:配置辅助服务器的区域文件
辅助服务器的区域文件/etc /named.conf基本和主服务器的配置一样区别就是不需要再option块中加allow-transfer{}。
在辅助服务器上使用【vim /etc/named.conf】命令编辑/etc/named.conf文件,文件内容如下图示:
第9步:编辑辅助服务器上的named.rfc1912.zones文件
编辑辅助服务器上的named.rfc1912.zones文件在文档最后添加以下内容。
备注:一定要将默认的【allow-update{none;}】项删除;文件的存放位置默认在slaves目录下,也可以存放在其他目录中,但必须保证存放的目录的所有者和所属组是named,否则bind将无法从主要区域传输DNS信息写入文件中。
第10步:查看辅助服务器的复制结果
在辅助服务器上使用【service network restart】重启DNS服务,使用【cd /var/named/slaves】命令进入相应的目录,然后使用【ll】命令查看系统自动生成的文件具体操作如下图示:(会看到在/var/named/slaves下生成了yhy.z文件,此文件是从DNS主服务器上复制来的,但有不完全一样,注意其值的大小,与后面还要做比较)
第11步:在主服务器上修改区域配置文件,以作更新测试
现在在主区域文件中添加几条记录,如下图示:观察辅助DNS的相关变化。注意:主要区域每次修改完其中的数据后,需要将SOA记录中的***增大,否则辅助区域将无法得知主要区域中记录已经发生变化。修改主服务器的正向查找区域文件内容如下图示:
第12步:客户机测试
客户机的DNS设为辅助DNS服务器的IP地址:192.168.10.253。用nslookup测试,发现新添加的记录并没有正确解析这与DNS的刷新时间有关,在刷新时间过后就可以看到/var/named/slaves/下的yhy.z文件已经增大而且已经添加到辅助区域的文件内,打开辅助区域的配置文件,可以看到添加到主服务的记录已经跟新,如下图示:
任务三:搭建转发与委派DNS服务器
【任务说明】:若某公司的北京,主域名为qq.com,北京的子域bj.qq.com也建在主域的DNS服务器上,而要想远在上海的子域sh.qq.com也能够解析主区域的域名,则需要通过转发来实现,而在北京的主机想通过主DNS查询到子域的域名则需要通过委派来实现具体的拓扑图如下:
备注:
(1)转发可分为完全转发可条件转发
完全转发:将客户端所有DNS查询一递归的方式转发到指定的DNS服务器。
条件转发:将指定DNS扩展名的查询转发到最大的DNS服务器。
(2)委派:在bind中可以将某个子域的查询工作委派给另一个DNS服务器完成。
【任务实施】:
第1步:修改主配置文件
如任务一中一样修改DNS主配置文件/etc/named.conf使其能够对外提供DNS查询服务。
第2步:定义正向区域查找文件
在named.rfc1912.zones文件中添加如下图所示内容用以定义主域qq.com的区域的正向查找区域文件bj.qq.z。
第3步:新建区域文件
使用【vim /var/named/qq.z】命令新建北京主域qq.com的正向查找区域文件,如下图示:
使用【vim /var/named/bj.qq.z命令新建北京子域正向查找区域文件,如下图所示:
第4步:重启DNS服务
【service network restart】重启DNS服务,使最新修改的配置生效。
第5步:为子域设置转发
以下为上海子域DNS的配置。
在子域设置转发,在主配置文件named.conf中添加:“forwareders{192.168.142.2;};语句实现完全转发,具体内容如下图示:
也可以在named.rfc1912.zones中添加如下内容,实现条件转发:
zone"qq.com"IN{
type forward;
forwarders{192.168.142.2;};
}
第6步:子域的测试配置修改测试机B的IP为192.168.142.6/24,DNS改为92.168.142.20,即子域的DNS服务器的IP地址,具体配置如图7-22所示。
第7步:子域的查询测试在DOS仿真窗口下运行【nslookup】命令,进行验证,验证结果如图7-23所示。
第8步:委派配置在主区域的正向查找文件内添加如图7-24所示的内容,即将对sh.qq.com域的查询委派给上海子域192.168.142.20。
第9步:委派测试设置修改测试机A的IP为192.168.142.5,DNS为主区域DNS为192.168.142.2,其具体设置如图7-25所示。
第10步:测试机测试在cmd下用nslookup来测试,如图7-26所示。测试正常,至此任务结束。