Dns服务搭建文档

Contents

1     工作原理... 2

1.1      DNS 查询的过程... 2

1.2      DNS数据库的记录:ZONE、正解、反解。... 3

1.3      Master/Slave. 3

2     软件安装... 3

3     配置文件... 4

3.1      注意事项... 4

3.2      正向解析... 4

3.3      反向解析... 5

3.4      Master/Slave架构... 6

3.5      视图功能... 8

3.6      子域授权... 9

1      工作原理

1.1     DNS 查询的过程

DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工作。

1、在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。

2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。

3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/ip参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。

4、如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。

5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(qq.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找qq.com域服务器,重复上面的动作,进行查询,直至找到www.qq.com主机。

6、如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。不管是本地DNS服务器用是是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。

1.2    DNS数据库的记录:ZONE、正解、反解。

ZONE:DNS服务器内记录信息的文件我们成为数据库,而在数据库里针对每个要解析的域就称为一个区域zone。不管是正解还是反解,每个域的记录就是一个zone.

正解:从主机名查询到IP的流程

正解文件的ZONE主要记录了主机名查询到的IP,通常有以下几个标志

SOA:开始验证Start of Authority 的缩写

NS: 名称服务器 name server的缩写,后面记录的数据是DNS服务器

A:地址address的缩写,后面记录的是IP的对应

反解:从IP反向解析到主机名的流程

反解的zone主要记录ip对应的主机名。标志有 SOA NS 和PTR

PTR:指向PoniTeR的缩写,记录的数据就是反解到主机名。

1.3   Master/Slave

Master:里面的所有主机名相关信息都要手动去修改和配置

Slave:同步master的数据,master和slave必须互相搭配。

2      软件安装

准备两台centOS6.5的linux机器

Ip 10.10.10.58  和 10.10.10.59

其中 10.10.10.58为主服务器

10.10.10.59为从服务器

分别安装 bind  和 bind-chroot

命令:yum installbind bind-chroot –y

安装bind-chroot的原因是早期的BIND默认将程序启动在var/named当中,但是该程序可以在根目录下的其他目录到处转移,因此若BIND的程序有问题时,则该程序会造成整个系统的危害,为了避免这个问题,我们将某个目录制定为BIND 程序的根目录,由于已经是根目录,所以BIND便不离开该目录,若该程序被攻击了,影响的是该特定目录。CentOS6.x默认将BIND锁定在/var/named/chroot目录中。

由于安装了bind-chroot,将/etc/下 named* 相关文件都拷贝到 /var/named/chroot/etc    cp –a/etc/name*  /var/named/chroot/etc

由于安装了bind-chroo,还要把/var/named下的部分文件拷贝到/var/named/chroot/var/named下 cd/var/named 然后  cp –a  data/ dynamic/  slaves/ named.* chroot/var/named/

3      配置文件

3.1    注意事项

排查故障时,可以通过日志来定位问题,日志位置  /var/log/messages

编辑/var/named/chroot/etc路径下的 named.conf这个文件,这个是dns的主配置文件

Options dns全局选项,会影响整个dns的配置。每行后面用分号来结束。

3.2    正向解析

需求:实现正向解析

在主服务器10.10.10.58上named.conf配置如下

listen-on port 53 { any; };

allow-query     { any; };

ZONE “ rhce.cc” IN {

Typemaster;

File“rhce.cc.zone”;

};

然后再 /var/named/chroot/var/named下创建rhce.cc.zone这个文件

$TTL 1D

@   IN  SOA  server.rhce.cc.[email protected](

201111

1D  //(每隔1天就要发送一次请求和主dns来同步)

1H  //(当从服务器向主服务器发送请求,如果主服务器不回复,每隔1小时重新连接一次)

1W   //   (多次连接,一周后还是不成功,就不会再去连接了)

3H   //(缓存时间)

)

@  IN  NS server.rhce.cc.

Server.rhce.cc.  IN A   10.10.10.58

www.rhce.cc. IN  A   10.10.10.30

ftp.rhce.cc.  IN   A    10.10.10.31

保存配置后退出

注意rhce.cc.zone这个文件的所有组要改成 named,否则启动不成功.到这里,服务器就已经配置完成了。

开启防火墙53端口

Iptables  -I INPUT 1 –p tcp –dport 53 –j  ACCEPT

Iptables  -I INPUT 1 –p udp –dport 53 –j  ACCEPT

Service iptables save

然后再把dns 设置为自己 文件 /etc/resolv.conf ,添加语句 namesever 127.0.0.1.

重启dns服务 service named restart

验证  host –l rhce.cc 。查看到域里的服务器对应的ip.

在 windows 里的cmd 进行验证  输入 nslookup  。然后  server 192.168.40.128   在输入  www.rhce.cc看看是否会输出我们再rhce.cc.zone里填写的ip 192.168.40.51.即是否和host -l得出的结果一致,一致则dns正向解析服务成功。

3.3    反向解析

需求:实现反向解析

/var/named/chroot/etc下配置 named.conf

Zone “10.10.10.in-addr.arpa”   IN {

type master;

file “rhce.cc.arpa”

};

然后再/var/named/chroot/var/named下创建rhce.cc.arpa这个文件 其中这个文件不用完成手动创建,可以通过拷贝模板来修改,如 该路径下 cp -p named.localhost rhce.cc.arpa.(刚才那个rhce.cc.zone这个文件也是一样可以拷贝修改)

当然,也可以直接用写好的正向解析文件 rhce.cc.zone 作为模板来修改更直接  cp -p  rhce.cc.zone rhce.cc.arpa

@    IN SOA  server.rhce.cc.  root(

201111

1D

1H

1W

3H

)

@  IN NS server.rhce.cc.

58          IN  PTR  server.rhce.cc.

30         IN     PTR   www.rhce.cc.

31        IN      PTR   ftp.rhce.cc.

重启dns服务 service named restart

验证:host10.10.10.30查看是否有输出结果对应www.rhce.cc

同时也可用 tcpdump –ieth0 dst 53来抓dns相关包验证

反向解析完成。

3.4    Master/Slave 架构

需求:实现从服务器拷贝主服务器的zone file文件

辅助10.10.10.59服务器上Named.conf配置

Zone “rhce.cc” IN {

Type slave;

File “slaves/aa.zone”;

Masters { 10.10.10.58; };

};

重启服务器后生效

为了防止任何一台服务器都可以从主服务器获得配置,在主服务器的配置文件上添加

All-transfer { 10.10.10.59; }; //允许拷贝信息的机器ip

重启服务器后生效

机密安全性:

为了防止有其他机器冒充辅助服务器的ip来获取配置,在主从服务器上通过添加秘钥来保证安全性

Dnssec-keygen  -a HMAC-MD5 –b 128 –n HOST xx

生成一个key.

在主服务器10.10.10.58上添加如下的配置

Allow-transfer {  key xx; };//(这里的xx可以随意命名,只要接下来配置一样即可)

Server 10.10.10.59 {

Keys { tt; };

};

Key xx {

Algorithmhmac-md5;

Secret “//生成的加密信息”;

};

在辅助服务器10.10.10.59上添加如下的信息:

Server 10.10.10.58 {

Keys { tt; };

};

Key xx {

Algorithmhmac-md5;

Secret “//生成的加密信息”;

};

Zone “rhce.cc” IN {

Type slave;

File “slaves/xx.zone”;

Masters { 10.10.10.58; };

};

Zone “10.10.10.in-addr.arpa” IN {

Type slave;

File “slaves/xx.zone.arpa”;

Masters { 10.10.10.58; };

};

重启服务器即可生效.

注意,当服务器的时间不同步的时候,会导致复制不成功,需要同步服务器时间,命令:ntpdate time.nist.gov.

验证:在辅助的服务器上,/var/named/chroot/var/named/slaves文件夹下如果有生成xx.zone和xx.zone.arpa两个配置文件,则配置成功。

3.5    视图功能

不同的机器查询同一台dns服务器的时候,获得不同的解析ip,如内网访问解析出私有地址,外网访问,解析出公有地址。

修改10.10.10.58的named.conf上配置,通过acl定义主机,并通过view来match相关的视图。

配置如下:

Acl aa { 10.10.10.59; };

Acl bb { 10.10.10.2; };

View “xx”{

Match-clients  { aa; };

Zone “.” IN {

Type hint;

File “name.ca”;

};

Zone “rhce.cc” IN {

Type master;

File “rhce.cc.zone”;

};

};

View “xx”{

Match-clients  { bb; };

Zone “.” IN {

Type hint;

File “name.ca”;

};

Zone “rhce.cc” IN {

Type master;

File “rhce.cc.zone1”;

};

};

重启服务器生效。

测试:rhce.cc.zone和 rhce.cc.zone1上的www.rhce.cc对应的ip不同在 10.10.10.59 和 10.10.10.2上通过host www.rhce.cc.查看是否解析出zone和zone1上不同的ip。

3.6    子域授权

在10.10.10.58服务器上的rhce.cc.zone文件上 添加子域的关系

aa.rhce.c IN  NS test.aa.rhce.cc

test.aa.rhce.cc IN A  10.10.10.59

在10.10.10.59子域服务器上的配置文件named.conf上添加

Farwards { 10.10.10.58; }; (主服务器上的机器)

重启服务器后可生效。

验证:在子域服务器上解析主服务器的文件的配置的主机。

如 host www.rhce.cc。如果可以得到主服务器的文件的配置上的ip即可。

时间: 2024-10-24 15:16:39

Dns服务搭建文档的相关文章

生产环境轻量级dns服务器dnsmasq搭建文档

dnsmasq搭建文档 一.生产环境域名解析问题 之前生产环境设备较少,是通过维护master(192.168.1.1)设备的hosts文件实现的.每次新增设备后,需要在master的hosts文件中新增ip和主机名,再将master的hosts文件批量拷贝到生产所有已部署设备和新增设备.设备少时维护比较简单,随时设备越来越多,维护起来变得很繁琐,批量拷贝也非常消耗精力. 为了减轻维护成本,和提高维护效率,在生产环境搭建一台dns服务器非常有必要. 进过筛选,dnsmasq这个轻量级的dns服务

openvpn搭建文档

# openvpn搭建文档 ## 安装相关包文件 ### 安装openssl和lzo包,lzo包用于压缩通讯数据加快传输速度 ``` yum -y install openssl openssl-devel yum -y install lzo ``` ### 安装openvpn和easy-rsa ``` yum -y install openvpn easy-rsa ``` ## 服务器端生成相关文件 ### 修改vars文件 ``` cd /usr/share/easy-rsa/2.0/ v

centos DNS服务搭建 第三十节课

centos  DNS服务搭建     第三十节课 上半节课 下半节课 一. DNS原理相关DNS 为Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种服务机制.其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析. DNS使用TCP和UDP, 端口号都是53, 但它主要使用UDP,服务器之间备份使用TCP.全世界只有13台“根”服务器,1个主根服务器放在美国,其他12台为辅根服务器,DN

DNS系列- 2.dns服务搭建(bind编译安装)

DNS系列- 2.dns服务搭建(bind编译安装) 目录     一.安装bind         1.yum安装         2.编译安装     二.服务搭建         1.编辑DNS主配置文件         2.添加解析     三.测试         1.正向解析测试         2.反向解析测试 一.安装bind Bind(kerkeley Internet Name Deamon) 是现今互联网使用最广泛的DNS服务器软件,使用BIND作为服务器软件的DNS服务器

环境搭建文档——Windows下的Python3环境搭建

前言 背景介绍: 自己用Python开发了一些安卓性能自动化测试的脚本, 但是想要运行这些脚本的话, 本地需要Python的环境. 测试组的同事基本都没有安装Python环境, 于是乎, 我就想直接在网上找一篇Python环境搭建的文章, 但是没有找到让我觉得简洁又满意的搭建文档,所以我就直接用虚拟机的环境去记录一次Python环境的搭建文档 说明: 此次搭建的是Windows下的Python3的环境, Python2的环境应该也可以参照这篇文章(建议大家使用Python3的环境, Python

Centos 基本DNS服务搭建

定义: DNS:根据一个域名和IP地址相互映射的一个分布式数据库.通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析). 通常 Internet 主机域名的一般结构为:主机名.三级域名.二级域名.顶级域名. 资源记录:rr(resource record),常见的资源记录的类型: SOA: Start Of Authority, 起始授权记录,一个区域文件只能有一个: NS:Name Server MX: Mail eXchange, 邮件交换器,MX记录有优先级属性(0

DNS服务搭建

※DNS基础知识: DNS(Domain Name Service):域名解析服务,应用层协议. BIND:实现DNS服务的一种软件. DNS监听的端口:53/TCP,53/UDP DNS查询类型:递归查询,迭代查询 DNS的两种解析方式:正向解析(FQDN ---> IP),反向解析(IP --->FQDN) 区域解析库:由众多资源记录组成: 资源记录(RR)类型: SOA:Start Of Authority,起始授权记录:一个区域解析库有且仅能有一个SOA记录,而必须为解析库的第一条记录

DNS服务搭建及基本介绍

一.DNS服务的安装 安装好windows server 2012 后打开服务器管理器,选则添加角色和功能 单机下一步 (默认选择基于角色或基于功能的安装)不需要更改 直接下一步 勾选DNS服务器,会弹出如下图所示的选择框,添加功能--确定--下一步 提示为找到静态IP地址是否继续,(因为我们之前没有给网卡设置IP地址,不用理会,之后我们配置网卡IP) 一直下一步直到DNS服务安装完成 二.DNS(域名解析服务)基本介绍 DNS(Domain Name System,域名系统),因特网上作为域名

iSCSI服务部署文档

文档目的 部署iSCSI服务 基础知识 传统的SCSI小型计算机系统接口(Small Computer System Interface)技术是存储设备最基本的标准协议,但通常需要设备互相靠近并用SCSI总线链接,因此受到了物理环境的限制. iSCSI小型计算机系统接口(即Internet Small Computer System Interface)则是由IBM公司研究开发用于实现在IP网络上运行SCSI协议的新存储技术,即能够让SCSI接口与以太网技术相结合,使用iSCSI协议基于以太网传