构建主从DNS服务器

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介:

                           构建主从DNS服务器

实验背景:


 公司注册了DNS区域tarena.com,准备使用两台RHEL5服务器构建主、从域名系统,其中任何一台都能够解析tarena.com域内的主机地址。


1.主DNS服务器:svr5.tarena.com,192.168.4.5 。


2.从DNS服务器:svr6.tarena.com,192.168.4.6 。


3.负责解析以下站点:


网站:www.tarena.com ? 192.168.4.100

邮件:mail.tarena.com ? 192.168.4.25

FTP:是www的别名

4.为*.tarena.com提供泛域名解析:192.168.4.100 。



实验方案:

 使用2台RHEL 5虚拟机,其中一台作为主DNS服务器(192.168.4.5)、另外一台作为从DNS服务器(192.168.4.6),两台RHEL 5虚拟机及Windows真机都可作为DNS客户机执行测试。


实验实现:

1.认识Linux中的bind域名服务软件包


BIND不是唯一能够提供域名服务的DNS服务程序,却是应用最为广泛的,BIND可以运行在大多数UNIX/Linux主机中。其官方站点位于https://www.isc.org/。


1)安装bind相关的软件包


RHEL 5系统光盘自带了BIND服务的安装文件,主要包括以下软件包:


bind-9.3.6-20.P1.el5_8.5.x86_64.rpm

bind-chroot-9.3.6-20.P1.el5_8.5.x86_64.rpm

bind-libs-9.3.6-20.P1.el5_8.5.x86_64.rpm

bind-utils-9.3.6-20.P1.el5_8.5.x86_64.rpm

caching-nameserver-9.3.6-20.P1.el5_8.5.x86_64.rpm


#rpm -ivh bind-9.3.6-20.P1.el5_8.5.x86_64.rpm bind-chroot-9.3.6-20.P1.el5_8.5.x86_64.rpm caching-nameserver-9.3.6-20.P1.el5_8.5.x86_64.rpm //安装三个软件包

2)了解bind、bind-chroot的配置路径


# rpm -qc bind

/etc/dbus-1/system.d/named.conf /etc/logrotate.d/named /etc/named.conf                     //域名服务主配置文件 /etc/rc.d/init.d/named

/etc/rndc.conf

/etc/rndc.key

/etc/sysconfig/named                 //服务程序named的选项配置文件 /usr/share/dbus-1/services/named.service


# grep "^ROOTDIR" /etc/sysconfig/named //查看真正的配置根目录ROOTDIR=/var/named/chroot

 从上述定义可看出,服务程序named的主配置文件最好存放到/var/named/chroot/etc目录下,文件名为named.conf:


3)

# chkconfig --list named                 //设置服务开机自启动


2.搭建主DNS服务器(192.168.4.5)


1)构建主配置文件named.conf

直接用vim编辑器新建,存放到/var/named/chroot/etc/目录下:

#cd /var/named/chroot/etc

#cp -p named.caching-nameserver.conf named.conf//复制模板,保留权限不变

# vim ./etc/named.conf


2.options {                                 //定义全局选项

3.directory "/var/named";             //区域数据文件的默认存放位置

4.allow-transfer { 192.168.4.6; };     //授权从DNS服务器

5.};

6.zone "tarena.com" IN {                     //定义正向解析区域

7.type master;                         //类型为主区域

8.file "tarena.com.zone";             //本区域的地址数据文件

9.};

10.zone "4.168.192.in-addr.arpa" IN {     //设置反向解析区域(不是必需的,可选)

11.type master;

12.file "192.168.4.arpa";

13.};

2)建立区域地址文件(正向域tarena.com)

直接用vim编辑器新建,存放到/var/named/chroot/var/named/目录下:

#cd ..//回到上一级目录chroot

#cd ./var

#cp named.local tarena.com.zone

#vim /var/named/chroot/var/named/tarena.com.zone

2.$TTL 86400                                 //有效记录的生存周期

3.@ IN SOA tarena.com. admin.tarena.com. ( //@表示当前tarena.com,

admin.tarena.com 表示邮箱,@变成了点.

4.2013101601                                 //更新序号

5.3H                                         //刷新时间

6.15M                                         //重试间隔

7.1W                                         //失效时间

8.1D                                         //无效记录的生存周期

9.)

10.@         IN NS         svr5.tarena.com.         //本域的DNS服务器地址

11.            IN NS         svr6.tarena.com.         //本域的DNS服务器地址

12.            IN MX 10    mail.tarena.com.         //本域的邮件服务器地址

13.            IN A         192.168.4.100             //本域的默认IP地址

14.svr5     IN A         192.168.4.5             //A主机记录

15.svr6     IN A         192.168.4.6

16.www         IN A         192.168.4.100

17.mail        IN A         192.168.4.25

18.ftp         IN CNAME    www                         //CNAME别名记录

19.*         IN A        192.168.4.100             //*泛域名解析

3)建立区域地址文件(反向域4.168.192.in-addr.arpa)

#cp -p tarena.com.zone 192.168.4.arpa

#vim 192.168.4.arpa//这里编辑的还是/var/named/chroot/var/named/192.168.4.arpa


2.$TTL 86400

3.@ IN SOA tarena.com. admin.tarena.com. (

4.2013101601                                 //更新序号

5.3H                                         //刷新时间

6.15M                                         //重试间隔

7.1W                                         //失效时间

8.1D                                         //无效记录的生存周期

9.)

10.@         IN NS svr5.tarena.com.

11.        IN NS svr6.tarena.com.

12.5         IN PTR svr5.tarena.com.

13.6         IN PTR svr6.tarena.com.

14.25         IN PTR mail.tarena.com.

15.100         IN PTR www.tarena.com.//反向解析

4)检查配置文件是否正确



# named-checkconf etc/named.conf //没有错误不提示

# named-checkzone tarena.com var/named/tarena.com.zone //没有错误提示ok

# named-checkzone 4.168.192.in-addr.arpa var/named/192.168.4.arpa

5)启动named服务,并在本机测试DNS解析是否符合预期



# service named restart                 //重启named服务

# vim /etc/resolv.conf //修改本机的DNS设置文件:


nameserver 192.168.4.5                             //首选DNS指向主DNS服务器

测试正向解析,都与预期的结果一致:

1.[root@svr5 ~]# host svr5.tarena.com

2.svr5.tarena.com has address 192.168.4.5

3.[root@svr5 ~]# host svr6.tarena.com

4.svr6.tarena.com has address 192.168.4.6

5.[root@svr5 ~]# host mail.tarena.com

6.mail.tarena.com has address 192.168.4.25

7.[root@svr5 ~]# host www.tarena.com

8.www.tarena.com has address 192.168.4.100


测试反向解析(抽查),也都与预期的结果一致:

1.[root@svr5 ~]# host 192.168.4.5

2.5.4.168.192.in-addr.arpa domain name pointer svr5.tarena.com.

3.[root@svr5 ~]# host 192.168.4.25

4.25.4.168.192.in-addr.arpa domain name pointer mail.tarena.com.



测试泛域名解析(查询几个不存在的域名),也都正确给出结果:


1.[root@svr5 ~]# host abc.tarena.com

2.abc.tarena.com has address 192.168.4.100

3.[root@svr5 ~]# host xxyyzz.tarena.com

4.xxyyzz.tarena.com has address 192.168.4.100



3.搭建从DNS服务器(192.168.4.5)


1)构建主配置文件named.conf

在从DNS服务器上,主配置文件named.conf的内容大部分与主DNS服务器上相同,因此只要复制过来稍加改动即可,建议采用scp远程复制:

# cd /var/named/chroot/etc/     //切换到主配置目录

# scp root@192.168.4.5:/var/named/chroot/etc/named.conf ./

//远程复制,保留到当前目录下


2)  对复制过来的named.conf进行修改——去掉主DNS配置的allow-transfer授权,将正、反向区域的类型改为slave,并添加masters配置指定主DNS服务器:


# vim /var/named/chroot/etc/named.conf


2.options {

3.directory "/var/named";

4.#allow-transfer { 192.168.4.6; };         //移除此行授权配置

5.};

6.zone "tarena.com" IN {

7.type slave;                                 //区域类型改为slave

8.file "slaves/tarena.com.zone";             //改为保存到slaves/子目录下

9.masters { 192.168.4.5; };                 //指定主DNS服务器的地址

10.};

11.zone "4.168.192.in-addr.arpa" IN {

12.type slave;                                 //区域类型改为slave

13.file "slaves/192.168.4.arpa";             //指定主DNS服务器的地址

14.masters { 192.168.4.5; };                 //改为保存到slaves/子目录下

15.};

 因为named服务程序的默认运行身份是named用户,当从DNS服务器自动从主DNS服务器下载区域地址数据文件后,需要有本地写入权限才能保存成功。默认情况下,子目录是专为主从同步准备的,named用户有权限写入:这里的权限错误页容易出错,需要注意


2)建立区域地址文件

对于从DNS服务器来说,此步骤不需要做(因为会自动从主DNS服务器下载)。

在从DNS服务器的named服务未启动之前,没有(也不需要有)区域地址文件:


3)启动named服务,确认已成功从主DNS服务器下载区域地址文件


# service named restart                 //重启named服务

 检查slaves/目录,可发现已自动下载正、反向区域地址文件:


#ls -l /var/named/chroot/var/named/slaves/


 如果前面忘记将存放位置改成slaves/目录下,则极可能因为无权限写入而导致区域文件下载失败,此时检查从DNS的日志应发现类似下列的提示:

dumping master file: tmp-MoaX2hDvPO: open: permission denied                                     //导出文件到本地时被拒绝

Oct 16 15:54:39 svr6 named[16371]: transfer of 'tarena.com/IN' from 192.168.4.5#

53: failed while receiving responses: permission denied

                                               //最终反馈:访问被拒绝


 只要修正存放位置或解决named用户的写入权限问题,故障就会解决了。


4)在从DNS服务器本机测试DNS解析是否符合预期


  测试操作与前面类似,使用host或nslookup都可以。

修改本机的DNS设置文件:


# vim /etc/resolv.conf //此处容易忘记修改从服务器的dns配置文件,不修改时解析不出来的

抽查正向解析,与预期结果一致:


1.[root@svr6 ~]# host www.tarena.com

2.www.tarena.com has address 192.168.4.100

3.[root@svr6 ~]# host svr5.tarena.com

4.svr5.tarena.com has address 192.168.4.5

抽查反向解析,与预期结果一致:

1.[root@svr6 ~]# host 192.168.4.5

2.5.4.168.192.in-addr.arpa domain name pointer svr5.tarena.com.

3.[root@svr6 ~]# host 192.168.4.25

4.25.4.168.192.in-addr.arpa domain name pointer mail.tarena.com.



测试泛域名解析,也能正确得出结果(192.168.4.100):

1.[root@svr6 ~]# host abc.tarena.com

2.abc.tarena.com has address 192.168.4.100

3.[root@svr6 ~]# host xxyyzz.tarena.com

4.xxyyzz.tarena.com has address 192.168.4.100



4.主、从DNS解析整体测试


1)修改客户机的DNS服务器指向


在主机192.168.4.5上,指定首选、辅助DNS服务器:

# vim /etc/resolv.conf

2.search localdomain

3.nameserver 192.168.4.5                             //首选DNS服务器

4.nameserver 192.168.4.6                             //辅助DNS服务器

在主机192.168.4.5上,也指定首选、辅助DNS服务器:

1.[root@svr6 ~]# vim /etc/resolv.conf

2.search localdomain

3.nameserver 192.168.4.6                             //首选DNS服务器

4.nameserver 192.168.4.5                             //辅助DNS服务器






实验总结:


1  此实验中尤其需要注意路径,本实验的各种路径都是在/var/named/chroot/下的var和etc目录下操作的

,在切换路径的时候习惯性的在前面加上/ ,这样就切换到根下了,是不正确的。

2  正向解析式最后的tarena.com. 后面的.不要忘记  


3  要解析出dns服务器,还不要忘记修改/etc/resolve.conf文件,添加本机的namesearch


4  如果还是解析不出来,可以查看/var/log/message 查看日志,日志中有的会提醒...denied 表示文件的  属性改变了,配置文件和区域配置文件的所属组应该是named,查看这几个文件的权限,如果是boot该为 named

例:chgrp named /var/named/chroot/etc/named.conf

 chgrp named /var/named/chroot/var/named/tarena.com.zone

chgrp named /var/named/chroot/etc/192.168.4.arpa

5 named.conf 的检查命令是:named-checkconf ./etc/named.conf

 区域文件的检查命令是: named-checkzone tarena.com ./var/named/tarena.com.zone

named-checkzone tarena.com ./var/named/192.168.4.arpa

 每次配置完,用检查命令接着检查下,刚刚配置的是否正确

6。在设置别名的时候,IN之后的A改为CNAME,去掉A不要保留着,这里自己容易忘记删除A

7.从dns服务器要想从主服务器上获取信息,首先要保证他们2个之间是能ping通的,解析不出也有可能是2个服务器之间不能ping通


8.在编辑各个配置文件的时候要注意标点符号的遗漏,像; ,在}外有;,不要遗漏

9 要学会用日志来检查出错信息,要留意出错时的错误提示信息,根据提示信息去找出错误并改正。


10 DNS使用端口  tcp/udp 53


11DNS负载均衡--同一个域名对应多个ip地址

12泛域名解析中有规律时的设置:

$GENERATE 1-200 station$ IN192.168.4.$//正向解析

$GENERATE 1-200$INAstation$.tarena.com.//反向解析




      本文转自Jx战壕  51CTO博客,原文链接:http://blog.51cto.com/xujpxm/1370848,如需转载请自行联系原作者


相关文章
|
12天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU服务器全解析_GPU价格收费标准_GPU优势和使用说明
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等场景。作为亚太领先的云服务商,阿里云GPU云服务器具备高灵活性、易用性、容灾备份、安全性和成本效益,支持多种实例规格,满足不同业务需求。
|
25天前
|
关系型数据库 API 数据库
后端开发的艺术:从零到一构建高效服务器
在数字化时代,后端开发是支撑现代互联网应用的基石。本文旨在探讨后端开发的核心概念、关键技术以及如何构建一个高效的服务器。我们将从基础的编程语言选择开始,逐步深入到数据库设计、API开发和性能优化等关键领域。通过实际案例分析,我们将揭示后端开发的复杂性和挑战性,同时提供实用的解决方案和最佳实践。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和启发。
|
25天前
|
存储 弹性计算 NoSQL
"从入门到实践,全方位解析云服务器ECS的秘密——手把手教你轻松驾驭阿里云的强大计算力!"
【10月更文挑战第23天】云服务器ECS(Elastic Compute Service)是阿里云提供的基础云计算服务,允许用户在云端租用和管理虚拟服务器。ECS具有弹性伸缩、按需付费、简单易用等特点,适用于网站托管、数据库部署、大数据分析等多种场景。本文介绍ECS的基本概念、使用场景及快速上手指南。
69 3
|
29天前
|
监控 网络协议 安全
DNS服务器故障不容小觑,从应急视角谈DNS架构
DNS服务器故障不容小觑,从应急视角谈DNS架构
52 4
|
29天前
|
监控 安全 Java
构建高效后端服务:微服务架构深度解析与最佳实践###
【10月更文挑战第19天】 在数字化转型加速的今天,企业对后端服务的响应速度、可扩展性和灵活性提出了更高要求。本文探讨了微服务架构作为解决方案,通过分析传统单体架构面临的挑战,深入剖析微服务的核心优势、关键组件及设计原则。我们将从实际案例入手,揭示成功实施微服务的策略与常见陷阱,为开发者和企业提供可操作的指导建议。本文目的是帮助读者理解如何利用微服务架构提升后端服务的整体效能,实现业务快速迭代与创新。 ###
63 2
|
1月前
|
存储 固态存储 安全
阿里云服务器X86计算架构解析与X86计算架构云服务器收费价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中X86计算是用户选择最多的一种架构,本文将深入探讨阿里云X86计算架构的云服务器,包括其技术特性、适用场景、性能优势以及最新价格情况。
|
26天前
|
存储 运维 监控
运维技术深度解析:构建高效、稳定的运维体系
【10月更文挑战第22天】运维技术深度解析:构建高效、稳定的运维体系
124 0
|
26天前
|
人工智能 运维 监控
运维技术深度解析:构建高效、稳定的IT基础设施
【10月更文挑战第22天】运维技术深度解析:构建高效、稳定的IT基础设施
52 0
|
26天前
|
机器学习/深度学习 边缘计算 运维
运维技术深度解析:构建高效、稳定的IT基础设施
【10月更文挑战第22天】运维技术深度解析:构建高效、稳定的IT基础设施
44 0
|
28天前
|
人工智能 关系型数据库 双11
2024年阿里双十一活动解析:助力大家优惠上云!云服务器79元1年起
2024年阿里云双十一活动已启动,提供云服务器79元1年起等特惠,涵盖云数据库、对象存储、无影云电脑等140余款产品免费试用,企业用户还可申请百万补贴金及5亿算力补贴,助力优惠上云。

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
    下一篇
    无影云桌面