iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >DNS服务正向、反向解析区域,主/从区域数据库复制,子域授权及基本安全控制
  • 911
分享到

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

2024-04-02 19:04:59 911人浏览 安东尼
摘要

DNS是应用层的协议,默认使用UDP的53端口,也会用到tcp的53端口。DNS名称解析方式:名称 --> IP:正向解析第一段这种方式叫递归查询,只发出去一次请求,就给它返回答案

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

DNS名称解析方式:

名称 --> IP:正向解析

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

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

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


IP --> 名称:反向解析

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

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


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

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

$ORIGIN 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。





您可能感兴趣的文档:

--结束END--

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

本文链接: https://www.lsjlt.com/news/42292.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql拒绝访问怎么办
    mysql 出现拒绝访问的原因和解决方法:权限问题:授予用户适当的数据库或表访问权限。防火墙或安全组:允许对 mysql 端口(3306)的入站连接。密码错误:重置 mysql 密码或使...
    99+
    2024-05-16
    mysql
  • mysql怎么比较日期大小
    mysql 中比较日期大小的方法包括:直接比较两个日期,使用 、= 运算符。使用 date_format() 函数将日期转换为字符串,然后比较字符串大小。使用 str_to_date()...
    99+
    2024-05-16
    mysql
  • mysql怎么加锁
    mysql中加锁是一种确保数据并发访问一致性的机制。加锁方式有:表级锁(对整个表加锁)和行级锁(对特定行加锁)。加锁类型有共享锁(允许读取但禁止修改)、排他锁(禁止读取和修改)和意向锁(...
    99+
    2024-05-16
    mysql 并发访问
  • mysql误删数据怎么恢复
    mysql误删数据可通过以下步骤恢复:停止数据库服务,防止数据覆盖。若开启binlog日志,可从中提取删除语句,再重新执行后将数据恢复。使用恢复工具修复表文件或恢复事务。从备份中恢复数据...
    99+
    2024-05-16
    mysql
  • 怎么判断mysql安装成功
    成功安装 mysql 的方法:检查命令行界面版本号;连接到 mysql 服务器,输入 "mysql -u root -p";创建数据库,输入 "create database test;...
    99+
    2024-05-16
    mysql linux macos 防火墙配置
  • mysql怎么修改表名
    如何修改 mysql 表名:检查当前表名:show tables;运行 rename table 语句:rename table 旧表名 to 新表名;验证更改:show tables;...
    99+
    2024-05-16
    mysql
  • mysql删除的表怎么恢复
    mysql 中已删除表的恢复方法主要涉及以下步骤:检查 binlog 日志以获取删除事务信息;使用数据恢复工具扫描数据库文件;从备份还原表数据;或联系 mysql 支持寻求帮助。 My...
    99+
    2024-05-16
    mysql 数据丢失
  • mysql复合主键怎么写
    在 mysql 中编写复合主键:在 create table 语句中使用 primary key 约束并列出字段名称。复合主键的好处包括提高查询效率、保证数据完整性和强制数据顺序。注意选...
    99+
    2024-05-16
    mysql
  • 怎么查看mysql数据库版本
    如何查看 mysql 数据库版本?连接到数据库并执行查询:select version();检查命令行或 mysql workbench 中的服务器属性。 如何查看 MySQL 数据库...
    99+
    2024-05-16
    mysql linux
  • 怎么检测mysql安装成功
    要验证 mysql 安装是否成功,请执行以下步骤:检查系统服务是否正在运行。使用 mysql 命令行工具连接到服务器。创建一个测试数据库并使用它。在数据库中创建一个测试表。插入测试数据并...
    99+
    2024-05-16
    mysql linux
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作