DNS服务正向、反向解析区域,主/从区域数据库复制,子域授权及基本安全控制

DNS是应用层的协议,默认使用UDP的53端口,也会用到TCP的53端口。

DNS名称解析方式:

名称 --> IP:正向解析

第一段这种方式叫递归查询,只发出去一次请求,就给它返回答案;第二段这种方式就迭代查询,要发出多次请求,需要自己查询不同域名,最后才返回答案;这就是DNS的查询类型。

一般内网递归,外网迭代。

IP --> 名称:反向解析

每一层服务器都有各自的数据库,来存储各自负责的网段,这与正向解析的数据库是两个各自独立的数据库。

一次完整的查询请求经过的流程:

Client --> hosts文件 --> DNS Local Cache --> DNS  Server (recursion) --> 分两种情况:

(1)自己负责解析的域:直接查询数据库并返回答案

(2)不是自己负责解析域:Server Cache --> iteration(迭代)

主-辅DNS服务器:

主DNS服务器:维护所负责解析的域数据库的那台服务器;读写操作均可进行

从DNS服务器:从主DNS服务器那里或其它的从DNS服务器那里“复制”一份解析库;但只能进行读操作

在linux系统上实现DNS服务的程序是bind,安装bind程序,而bind程序安装后运行的进程名为named;

]# yum install bind

主配置文件:/etc/named.conf、/etc/named.rfc1912.zones

解析库文件/var/named/目录下,以区域名字命名:ZONE_NAME.zone

正向解析库文件:/var/named/named.localhost

反向解析库文件:/var/named/named.loopback

注意:根区域解析库文件named.ca、正向解析库文件named.localhost、反向解析库文件named.loopback都不是程序提供的,而是rpm包制作者提供的。

配置主DNS服务器

正向区域:

第一步:定义正向区域zone

]# vim /etc/named.con

修改内容:

listen-on port 53 { 127.0.0.1; 172.18.252.23; };

dnssec-enable no

//allow-query  { localhost; };

添加本地主机地址;把dnssec都改为no;关闭仅允许本地查询即加//注释:

]# vim /etc/named.rfc1912.zones

添加内容:

zone "magedu.com" IN {

type master;

file "magedu.com.zone";

};

注意:在区域中定义的这个file指明的magedu.com.zone区域数据库文件还不存在,需要自己创建,如果在上面配置文件的file中定义的是相对路径,默认为在/var/named/目录下创建,且这个目录默认是不存在的。

第二步:建立正向区域解析数据库文件(主要记录为A或AAAA记录)

一般默认在/var/named目录下建立,为magedu.com.zone区域创建编辑一个正向区域数据库文件,创建正向区域数据库文件,自己取名为magedu.com.zone。

区域数据库文件除了宏定义外,都是资源记录,第一条必须为soa记录。

]# vim /var/named/magedu.com.zone

$TTL 3600:单位是秒;

$ORIGIN magedu.com.

@       IN      SOA     ns1.magedu.com.     403868144.qq.com. (

2016041001

1H

10M

3D

1D )

IN      NS      ns1

IN      NS      ns2

IN      MX   10 mx1

IN      MX   20 mx2

ns1     IN      A       172.18.11.2

ns2     IN      A       172.18.11.3

mx1     IN      A       172.18.11.4

mx2     IN      A       172.18.11.5

www     IN      A       172.18.11.2

web     IN      CNAME   www

bbs     IN      A       172.18.11.2

第三步:修改正向区域数据库文件的权限为其它不可读,属组为named

]# chown :named magedu.com.zone

]# chmod o= magedu.com.zone

第四步:语法检查

]# named-checkconf

]# named-checkzone magedu.com /var/named/magedu.com.zone

查看区域信息

]# rndc status

注意:正向区域名一定要与在/etc/named.rfc1912.zones文件中的zone定义的正向区域名一致;但zone中的区域名后的.可省略。

第五步:让服务器重载配置文件和区域数据文件

]# rndc reload

第六步:测试DNS服务器是否能解析

]# dig -t A www.magedu.com @172.18.250.131

]# host -t A bbs.magedu.com @172.18.11.2

]# dig -t NS magedu.com @172.18.11.2

]# host -t MX magedu.com @172.18.11.2

配置反向区域,配置步骤同配置正向解析区域相同

第一步:定义反向区域

]# vim /etc/named.rfc1912.zones

zone "11.18.172.in-addr.arpa" IN {

type master;

file "172.18.11.zone";

};

第二步:定义反向区域解析库文件(主要记录为PTR)
一般默认在/var/named目录下建立;反向区域解析库文件自己取名为172.18.250.zone。

]# vim 172.18.11.zone

$TTL 3600

$ORGIN 250.18.172.in-addr.arpa.设置自动补上完整IP的内容;

@   IN  SOA     ns1.magedu.com.  403868144.qq.com. (

2016041001

1H

10M

3D

12H )

IN  NS      ns1.magedu.com.

2 IN  PTR     ns1.magedu.com.

3 IN  PTR     ns2.magedu.com.

4 IN  PTR     mx1.magedu.com.

5 IN  PTR     mx2.magedu.com.

2 IN  PTR     www.magedu.com.

2 IN  PTR     bbs.magedu.com.

2 IN  PTR     bbs.magedu.com.

第三步:修改反向区域数据库文件的权限为其它不可读,属组为named

]# chgrp named 172.18.11.2.zone

]# chmod o= 172.18.11.2.zone

第四步:检查语法

]# named-checkconf

]# named-checkzone 11.18.172.in-addr.arpa /var/named/172.18.11.zone

注意:反向区域名一定要与在/etc/named.rfc1912.zones文件中的zone定义的反向区域名一致;但zone中的区域名后的.可省略。

第五步:让服务器重载配置文件和区域数据文件

]# rndc reload

第六步:测试DNS服务器是否能反向解析

]# dig -x 172.18.11.2

以上配置为主DNS服务器配置过程。

配置从DNS服务器:

首先配置正向区域的从,再配置反向区域的从。

在从服务器上配置:

第一步:定义从区域

]# vim /etc/named.conf

listen-on port 53 { 127.0.0.1; 172.18.252.23; };

dnssec-enable no

//allow-query  { localhost; };

第二步:配置从服务器为正向区域的DNS服务器

]# vim /etc/named.rfc1912.zones

zone "magedu.com"       IN {

type slave;

file "slaves/magedu.com.zone";

masters { 172.18.11.2; }

};

第三步:检查语法

]# named-checkconf

第四步:在主服务器上配置

]# vim /var/named/magedu.com.zone

ns2     IN      A       172.18.11.3

提示:添加一条ns记录,例如可以为NS2,这个名字和从服务器的自身主机名没关系,但是NS2要有一条A记录,指向从服务器主机即172.18.11.3是从服务器的IP地址;这条记录必须得有。

第五步:检查主服务器区域文件语法

]# named-checkzone magedu.com /var/named/magedu.com.zone

第六步:重载配置文件

]# rndc reload

第七步:在从服务器上操作,重载配置文件

]# rndc reload

测试从DNS服务器正向解析

]# dig -t A www.magedu.com @172.18.11.3

验证从服务器能同步到正向解析数据库文件

在主服务器区域文件中新增一条pop3的记录,并递增序列号;

2016041003:系列号递增;

pop3    IN      A       172.18.11.6:添加pop3的A记录;

]# rndc reload

在从服务器上查看是否收到更新的区域数据库文件

]# dig -t A pop3.magedu.com @172.18.11.3

配置从服务器为反向区域的DNS服务器

第一步:在从服务器上主配置文件中添加反向区域

]# vim /etc/named.rfc1912.zones

zone "11.18.172.in-addr.arpa" IN {

type slave;

file "slaves/172.18.11.zone";

masters { 172.18.11.2; };

};

第二步:检查主配置文件语法

]# named-checkconf

第三步:在主服务器的反向区域数据库文件中要确保有一条NS记录必须要有,还可以有ns对应的ptr记录

]# vim /var/named/172.18.11.zone

2016041002

IN  NS      ns2.magedu.com.

3   IN  PTR     ns2.magedu.com.

第四步:检查反向区域文件语法

]# named-checkzone 11.18.172.in-addr.arpa /var/named/172.18.11.zone

第五步:重载

]# rndc reload

第六步:从服务器重载

]# rndc reload

查看从服务器是否同步到反向解析数据库文件

]# ls /var/named/slaves

测试从DNS服务器反解析

]# dig -x 172.18.11.2 @172.18.11.3

子域授权方法:

第一步:在父域的主DNS服务器上的正向区域数据库文件/var/named/magedu.com.zone上授权子域

]# vim /var/named/magedu.com.zone

2016041004

ops     IN      NS      ns1.ops

ns1.ops IN      A       172.18.11.4

第二步:重载

]# rndc reload

在子域服务器(172.18.11.4)上操作

第一步:编辑主配置文件

]# vim /etc/named.conf

listen-on port 53 { 127.0.0.1; 172.18.11.4; };

dnssec-enable no

//allow-query  { localhost; };

第二步:启动named程序

]# systemctl start named.service

第三步:配置172.18.11.4的服务器为ops.magedu.com子域的主服务器

]# vim /etc/named.rfc1912.zones

zone "ops.magedu.com" IN {

type master;

file "ops.magedu.com.zone";

};

第四步:在var/named/目录下创建file中指明的ops.magedu.com.zone正向区域数据库文件

]# vim var/named/ops.magedu.zone

$TTL 3600

$ORIGIN ops.magedu.com.

@   IN  SOA       ns1.ops.magedu.com.   403868144.qq.com. (

2016041101

1H

10M

1D

2H )

IN  NS          ns1

ns1 IN  A           172.18.11.4

www IN  A           172.18.11.4

第五步:修改正向区域数据库文件权限为其它没有写权限,属组为named

]# chmod o= ops.magedu.zone

]# chgrp named ops.magedu.zone

第六步:语法检查

]# named-checkzone ops.magedu.com ops.magedu.com.zone

第七步:重载

]# rndc reload

第八步:测试正向解析

]# dig -t A www.ops.magedu.com @172.18.11.4

在子域服务器上定义转发区域:

第一步:编辑主配置文件

]# vim /etc/named.rfc1912.zones

zone "magedu.com" IN {

type forward;

forward only;

forwaders { 172.18.11.2; 172.18.11.3; };

};

第二步:检查语法

]# named-checkconf

第三步:重载

]# rndc reload

第四步:测试

在父域服务器上解析子域

]# dig -t A www.ops.magedu.com @172.18.11.2

在子域服务上解析父域

]# dig -t A www.magedu.com @172.18.11.4

在子域服务器上定义全局转发:

第一步:编辑主配置文件

]# vim /etc/named.conf

在options段编辑:

forward only;

forwarders { 172.18.11.2; };

第二步:重载

]# rndc reload

第三步:测试baidu

]# dig -t A www.baidu.com @172.18.11.4

安全相关的配置

在子域服务器上,应该仅设定为允许从服务器区域传送

在主服务器上配置:仅允许从服务器区域传送;访问控制列表allow-transfer

]# vim /etc/named.rfc1912.zones

zone "magedu.com" IN {

type master;

file "magedu.com.zone";

allow-transfer { slaves; };

};

在主服务器上配置访问控制列表:

编辑/etc/named.conf配置文件,在options段前添加slaves访问控制列表:

]# vim /etc/named.conf

acl slaves {

172.18.11.3;

127.0.0.1;

};

检查语法:

]# named-checkconf

重载:

]# rndc reload

在非从服务器上测试:

]# dig -t axfr magedu.com @172.18.11.2

设置成功。

在从服务器上测试区域传送:

]# dig -t axfr magedu.com @172.18.11.2

在主服务器上测试:

]# dig -t axfr magedu.com @172.18.11.2

]# dig -t axfr magedu.com @127.0.0.1

均显示区域传送失败;因为,使用本机172.18.11.2这个地址,在访问控制列表中没有定义所以不能传送;而127.0.0.1这个地址即使在访问控制列表中定义了,但因为没有在options段定义监听的地址,所以也不能进行区域传送;

修改主服务器配置文件/etc/named.conf,

]# vim /etc/named.conf

添加监听127.0.0.1:

listen-on port 53 { 127.0.0.1; 172.18.11.2; };

重启服务:

]# systemctl restart named.service

即可;

配置访问控制列表中的递归,仅允许为本地客户端做递归

修改主服务器配置文件/etc/named.conf,添加递归访问控制列表;

]# vim /etc/named.conf

添加:

acl mynet {

127.0.0.0/8;

};

仅允许本地127网段做递归查询;

(把recursion yes;改为:)allow-recursion { mynet; };

重载:

]# rndc reload

因此,使用其它主机做递归都拒绝,如使用子域服务器递归查询baidu

]# dig -t A www.baidu.com @172.18.11.4

递归查询失败;

当在主服务器配置文件/etc/named.conf,添加172.18.11.4到递归访问控制列表即可实现递归;

]# vim /etc/named.conf

acl mynet {

172.18.11.4/16;

127.0.0.0/8;

};

重载:

]# rndc reload

此时,使用子域服务器递归查询baidu;

]# dig -t A www.baidu.com @172.18.11.4

成功递归;

对于从服务器,也要修改主配置文件/etc/named.rfc1912.zones,设定区域传送和递归查询的访问控制列表;

]# vim /etc/named.rfc1912.zones

zone "magedu.com"  IN {

type slave;

file "slaves/magedu.com.zone";

masters { 172.18.11.2; };

allow-transfer { none; };

allow-update { none; }; 禁止进程动态更新,跟区域传送没关系;

};

zone "11.18.172.in-addr.arpa" IN {

type slave;

file "slaves/172.18.11.zone";

masters { 172.18.11.2; };

allow-transfer { none; };

allow-update { none; };

};

在子域服务器上测试是否能通过从服务器对magedu.com域进行区域传送;

]# dig -t axfr magedu.com @172.18.11.3

显示失败;

]# dig -t axfr ops.magedu.com @172.18.11.4:子域可以为自己进行传送区域;因为子域没有做访问控制;

正常情况下,每一个域名服务器,只要没有从服务器,allow-transfer都应该是none,有从服务器,allow-transfer应该仅指向从服务器;而且每一个区域都应该是allow-update设为none,除非使用DDNS。

时间: 2024-08-09 13:27:16

DNS服务正向、反向解析区域,主/从区域数据库复制,子域授权及基本安全控制的相关文章

DNS服务之反向解析&子域&区域转发

测试环境说明        主DNS服务器:CentOS 6.8    192.168.1.6/24    10.1.154.97/16 zmingbo.com        从DNS服务器:CentOS 6.8    192.168.1.8/24    10.1.154.94/16        子域:CentOS 6.8  10.1.110.54/16 tech.zmingbo.com DNS检测命令 dig命令: dig [-t type ] [ -x addr ] [name] [@se

搭建DNS服务,反向解析ip

反向解析:根据ip地址解析为相对应的域名.域名的反向解析不是很常见,只在一些特殊场合使用,如垃圾邮件的验证. 配置文件: 主配置文件:作用于服务器本身/etc/named.conf 区域配置文件:作用于相关的域名 /etc/named.rfc1912.zones 区域数据配置文件:作用于相关域名的解析/var/named/named.localhost bind软件包的安装,bind软件包安装完成之后,会增加一个名为named的系统服务,首先对主配置文件/etc/named.conf进行编辑修改

DNS服务之反向解析

DNS反向解析就是把IP地址转换成域名. vim /etc/named.rfc1912.zones进入区域数据配置文件中修改它的反向解析配置文件如下图所示 修改完后复制刚才正向解析过的模板过来修改它的配置文件如下图所示 修改完后重启DNS服务后测试如下图所示 到这里DNS反向解析就解析成功了. 原文地址:http://blog.51cto.com/13706698/2141916

Linux之DNS正向反向解析以及主从复制、子域授权、转发和view功能

关于DNS服务器我想大家并不陌生,通常情况下我们都只知道DNS服务器是域名解析用的,如果我们没有DNS服务器那么我们想要访问互联网上的网站什么的就不得不去记忆这些网站的IP地址了.对于我们而言众多的IP地址是很难记忆的而且也不方便.所以就出现过了DNS服务器.主要实现把主机名解析成IP地址,这样就方便我们在网上通信. 通常情况下我们之用到了DNS服务器的正向解析功能,而DNS还有方向解析功能,就是把IP地址解析成主机名的. 那么接下来就来跟大家分享一下DNS的工作方式. DNS是基于C/S架构的

DNS正向反向解析与主从复制

DNS正向反向解析与主从复制 环境:   VMware Workstation 12 pro, 配置相同的2台CentOS 7.4 1708,bind 9.9.4,关闭selinux清空iptable规则,主从配置要注意时间同步,否则无法复制.基础知识:   DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过域名,最终得到该域名对应的IP地址的过程叫做域名解析

DNS服务正向、反向解析以及主从同步实操(有图有字,易做易懂)

DNS解析大体实操分为:1.DNS正向解析2.DNS反向解析3.DNS主从同步 一.DNS正向解析 1.安装bind工具包通过在线yum库进行安装bind软件包,构建DNS服务.2.修改全局配置文件 只需要修改两个选项:(1)将listen-on后面的IP地址修改为自身IP,作用为监听本机53端口.无论是谁通过本机DNS服务进行域名解析,都能够监听到:(2)将allow-query后面更改为any--这里允许任何人使用本机的DNS服务 3.修改区域配置文件 添加域名和区域数据文件名的文件,在zo

DNS正向反向解析bind服务

1yum源安装bind服务#yum install bind-chroot.x86_64修改配置文件#vi /etc/named.conf更改11 和 17 行 改为any,允许所有人都可以对服务器发送dns查询请求options {listen-on port 53 { any; };listen-on-v6 port 53 { ::1; };directory "/var/named";dump-file "/var/named/data/cache_dump.db&qu

DNS之缓存服务器和正向+反向解析的构建

构建一个DNS服务器 fade.com  网段为192.168.139.0/24 NS服务器为 ns1.fade.com 192.168.139.11 www.fade.com 为 192.168.139.12 和 192.168.139.13 mail.fade.com 为 192.168.139.14 ftp.fade.com 别名为www.fade.com [[email protected] ~]# yum install bind bind-libs bind-utils [[emai

DNS正向反向解析

DNS正向解析将域名解析为IP地址,反之为反向解析.