DNS服务器之子域授权

一、子域授权

在一个较大的生产环境中,一般还需要在公司内分多个部门,这些部门负责的域是整个公司所负责的域的子域,这时公司内除了需要主从DNS服务器彼此之间互相协调提供服务之外,还需要为每个子域授权并让各个子域分别管理各自部门的主机,以减轻公司所在域的系统管理员的负担,这就是子域授权。

假设公司内有两个部门,分别是dev和ops,对于itab.com这个域来说,需要分别为dev.itab.com和ops.itab.com这两个子域授权,而在这两个子域下还分别管理www.dev.itab.com和www.ops.itab.com这两台Web服务器。

各DNS服务器关系如下(一共四台主机):

负责管理公司所在域(itab.com)的DNS服务器:
(1)主DNS服务器:192.168.10.140    //主机名为: master
(2)从DNS服务器:192.168.10.128    //主机名为: slave

负责dev部门所在域(dev.itab.com)的DNS服务器:
(1)主DNS服务器:192.168.10.101    //主机名为: dev
(2)从DNS服务器:192.168.10.102    //主机名为: ops

负责ops部门所在域(ops.itab.com)的DNS服务器:
(1)主DNS服务器:192.168.10.102    //主机名为: ops
(2)从DNS服务器:192.168.10.101    //主机名为: dev

父域和子域的关系图:

这里dev部门所在域的DNS服务器作为ops部门所在域的DNS服务器的从服务器,而ops部门所在域的DNS服务器作为dev部门所在域的DNS服务器的从服务器。对于itab.com这个域来说,存在上层、下属关系,上层DNS所负责的域是.com,而下层DNS就是这里要授权的子域dev.itab.com和ops.itab.com.所有主机都已经安装了bind程序。

这里负责管理公司所在域(itab.com)的主从DNS服务器已经配置好,并且已经启动了DNS服务,具体如何配置在上一篇博客中《搭建DNS服务器:正向解析区域、反向解析区域、主从DNS》已经介绍。

子域授权步骤:


(1)在负责管理公司所在域(itab.com)的主DNS服务器上配置子域的NS记录和与之对应的A记录。

在192.168.10.140主机上

[[email protected] ~]# vim /var/named/itab.com.zone 
# 在针对itab.com这个域的区域数据库文件中添加如下内容。

dev     IN      NS      ns1.dev.itab.com.    //dev.itab.com这个域的主DNS服务器
dev     IN      NS      ns2.dev.itab.com.    //dev.itab.com这个域的从DNS服务器
ns1.dev IN      A       192.168.10.101
ns2.dev IN      A       192.168.10.102

ops     IN      NS      ns1.ops.itab.com.    //ops.itab.com这个域的主DNS服务器
ops     IN      NS      ns2.ops.itab.com.    //ops.itab.com这个域的从DNS服务器
ns1.ops IN      A       192.168.10.102
ns2.ops IN      A       192.168.10.101

# 注意:主DNS服务器修改区域数据库文件时要将serial增大!

配置完进行语法检测:

[r[email protected] ~]# named-checkconf 
[[email protected] ~]#

重载主DNS服务,让从DNS服务器进行同步:

[[email protected] ~]# rndc reload
server reload successful

(2)首先将ns1.dev.itab.com.和ns1.ops.itab.com.这两台服务器都配置为缓存DNS服务器,操作如下。

[[email protected] ~]# vim /etc/named.conf
# 修改配置文件named.conf中的全局配置段里的如下内容。

options {
    ... ...
    listen-on port 53 { any; };
    allow-query     { any; };
    dnssec-enable no;
    dnssec-validation no;
    ... ...
};

在ns1.ops.itab.com.这台DNS服务器(待配置)上做同样处理。

(3)在负责dev部门所在域(dev.itab.com)的主DNS服务器上(待配置),定义dev主区域,并为之配置区域数据库文件。在负责ops部门所在域(ops.itab.com)的主DNS服务器上(待配置),定义dev的从区域。

在192.168.10.101主机上

定义dev主区域:

[[email protected] ~]# vim /etc/named.rfc1912.zones
# 在配置文件named.rfc1912.zones中添加如下内容。

zone "dev.itab.com" IN {
    type master;
    file "dev.itab.com.zone";
    allow-transfer {
        192.168.10.140;
        192.168.10.128;
        192.168.10.101;
        192.168.10.102;
        127.0.0.1;
        localhost; };
};

为dev这个主区域配置区域数据库文件:

[[email protected] ~]# vim /var/named/dev.itab.com.zone

$TTL 3600
$ORIGIN dev.itab.com.
@       IN      SOA     ns1.dev.itab.com.       nsadmin.itab.com    (
                2017040201
                1H
                10M
                12H
                10H )
        IN      NS      ns1
        IN      NS      ns2
ns1     IN      A       192.168.10.101
ns2     IN      A       192.168.10.102
www     IN      A       1.1.1.1

分别检查bind配置文件和区域数据库文件是否有语法错误:

[[email protected] ~]# named-checkconf   
[[email protected] ~]# named-checkzone dev.itab.com /var/named/dev.itab.com.zone 
zone dev.itab.com/IN: loaded serial 2017040201
OK

在192.168.10.102主机上

在负责ops部门所在域(ops.itab.com)的主DNS服务器上(待配置),定义dev从区域:

[[email protected] ~]# vim /etc/named.rfc1912.zones
# 在配置文件named.rfc1912.zones中添加如下内容。

zone "dev.itab.com" IN {
    type slave;
    file "slaves/dev.itab.com";
    masters { 192.168.10.101; };
        allow-transfer {
        192.168.10.140;
        192.168.10.128;
        192.168.10.101;
        192.168.10.102;
        127.0.0.1;
        localhost; };
};

检查配置文件是否有语法错误:

[[email protected] ~]# named-checkconf 
[[email protected] ~]#

(4)在负责ops部门所在域(ops.itab.com)的主DNS服务器上(待配置),定义ops主区域,并为之配置区域数据库文件。在负责dev部门所在域(dev.itab.com)的主DNS服务器上(待配置),定义ops从区域。

在192.168.10.102主机上

定义ops主区域:

[[email protected] ~]# vim /etc/named.rfc1912.zones 
# 在配置文件named.rfc1912.zones中添加如下内容。

zone "ops.itab.com" IN {
    type master;
    file "ops.itab.com.zone";
        allow-transfer {
        192.168.10.140;
        192.168.10.128;
        192.168.10.101;
        192.168.10.102;
        127.0.0.1;
        localhost; };
};

为ops这个主区域配置区域数据库文件:

[[email protected] ~]# vim /var/named/ops.itab.com.zone

$TTL 3600
$ORIGIN ops.itab.com.
@       IN      SOA         ns1.ops.itab.com.       nsadmin.itab.com.   (
                2017040201
                1H
                10M
                12H
                10H )
        IN      NS          ns1
        IN      NS          ns2
ns1     IN      A           192.168.10.102
ns2     IN      A           192.168.10.101
www     IN      A           2.2.2.2

分别检查bind配置文件和区域数据库文件是否有语法错误:

[[email protected] ~]# named-checkconf 
[[email protected] ~]# named-checkzone ops.itab.com /var/named/ops.itab.com.zone 
zone ops.itab.com/IN: loaded serial 2017040201
OK

在192.168.10.101主机上

在负责dev部门所在域(dev.itab.com)的主DNS服务器上(待配置),定义ops从区域:

[[email protected] ~]# vim /etc/named.rfc1912.zones
# 在配置文件named.rfc1912.zones中添加如下内容。

zone "ops.itab.com" IN {
    type slave;
    file "slaves/ops.itab.com.zone";
    masters { 192.168.10.102; };
    allow-transfer {
        192.168.10.140;
        192.168.10.128;
        192.168.10.101;
        192.168.10.102;
        127.0.0.1;
        localhost; };
};

检查配置文件是否有语法错误:

[[email protected] ~]# named-checkconf 
[[email protected] ~]#

(5)启动ns1.dev.itab.com.和ns2.ops.itab.com.这两台DNS服务器,并开始提供服务,操作如下。

# systemctl start named.service

(6)查看日志,这一步省略。

这样就完成了子域授权操作了。接下来开始测试:

在192.168.10.140主机上

在负责管理公司所在域(itab.com)的主DNS服务器上使用dig工具测试:

[[email protected] ~]# dig -t NS dev.itab.com @192.168.10.140

;; ANSWER SECTION:
dev.itab.com.		3600	IN	NS	ns2.dev.itab.com.
dev.itab.com.		3600	IN	NS	ns1.dev.itab.com.

;; ADDITIONAL SECTION:
ns2.dev.itab.com.	3600	IN	A	192.168.10.102
ns1.dev.itab.com.	3600	IN	A	192.168.10.101
[[email protected] ~]# dig -t NS ops.itab.com @192.168.10.140

;; ANSWER SECTION:
ops.itab.com.		3600	IN	NS	ns2.ops.itab.com.
ops.itab.com.		3600	IN	NS	ns1.ops.itab.com.

;; ADDITIONAL SECTION:
ns2.ops.itab.com.	3600	IN	A	192.168.10.101
ns1.ops.itab.com.	3600	IN	A	192.168.10.102
[[email protected] ~]# dig -t A www.dev.itab.com @192.168.10.140

;; ANSWER SECTION:
www.dev.itab.com.	3600	IN	A	1.1.1.1
[[email protected] ~]# dig -t A www.ops.itab.com @192.168.10.140

;; ANSWER SECTION:
www.ops.itab.com.	3600	IN	A	2.2.2.2

验证子域主从DNS服务器轮循解析:

[[email protected] ~]# host -t NS dev.itab.com 192.168.10.140
Using domain server:
Name: 192.168.10.140
Address: 192.168.10.140#53
Aliases: 

dev.itab.com name server ns2.dev.itab.com.    //这一次由ns2.dev.itab.com.解析
dev.itab.com name server ns1.dev.itab.com.
[[email protected] ~]# 
[[email protected] ~]# 
[[email protected] ~]# host -t NS dev.itab.com 192.168.10.140
Using domain server:
Name: 192.168.10.140
Address: 192.168.10.140#53
Aliases: 

dev.itab.com name server ns1.dev.itab.com.    //这一次由ns1.dev.itab.com.解析
dev.itab.com name server ns2.dev.itab.com.

经过测试,子域配置完成,没有问题。

子域与转发功能(forwarding)

如果公司要想互联网上的主机能够访问公司内的服务器,就需要在公司内做DNS服务器,其负责的域是itab.com。对于itab.com这个域的上层DNS也一样,如果公司所负责域(itab.com)的DNS服务器要做到高可用,至少需要两台DNS服务做主从,需要在ISP提供的交互界面上填写两条NS记录以及与之对应的A记录。

而在公司内部,受itab.com这个域所管理的可以是子域或主机,每个子域交由一个部门负责管理。在这个例子中子域就是dev.itab.com和ops.itab.com,负责解析这两个子域的DNS服务器都做了主从,同样实现了高可用。

但这样会出现一个问题,在负责解析ops.itab.com这个域的主机上(192.168.10.102)解析itab.com域内的主机www.itab.com时,因为www.itab.com这台web服务器不受ops.itab.com这个域管理,因此会自动从根域开始迭代,大费周章。为了解决这一问题,可以在dev.itab.com和ops.itab.com这两个子域的DNS服务器上定义转发功能(forwarding)。做如下操作:

在192.168.10.101主机上

[[email protected] ~]# vim /etc/named.conf
# 在配置文件named.conf中定义全局转发。

options {
    ... ...
    forward only;
    forwarders { 192.168.10.140; 192.168.10.128; };
    ... ...
};

在192.168.10.102主机上

[[email protected] ~]# vim /etc/named.conf
# 在配置文件named.conf中定义全局转发。

options {
    ... ...
    forward only;
    forwarders { 192.168.10.140; 192.168.10.128; };
    ... ...
};

在这两台服务器上:

检查配置文件语法错误:

# named-checkconf

注释掉配置文件/etc/named.conf中的hint区域定义:

#zone "." IN {
#   type hint;
#   file "named.ca";
#};

两台DNS服务器分别重载配置文件:

# rndc reload

在ns1.ops.itab.com.这台DNS服务器(192.168.10.102)上测试:

[[email protected] ~]# dig -t NS itab.com @192.168.10.102

;; ANSWER SECTION:
itab.com.		3284	IN	NS	ns2.itab.com.
itab.com.		3284	IN	NS	ns1.itab.com.

经过测试,没有问题。

时间: 2024-10-10 07:46:09

DNS服务器之子域授权的相关文章

CentOS下dns服务器之授权

dns授权 dns授权分为两步 1]父域dns对子域dns实现授权, 2]子域对父域 1.改变根提示,把父域dns视为根 2.转发器 dns服务器的搭建请看dns服务器搭建 一.修改父域实现对子域的授权 修改dns服务器配置文件注释最后一行 [[email protected] chroot]# vim etc/named.conf options { listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; directory    

DNS服务器之主从复制和子域转发(二)

主从复制: DNS服务器类型: 主服务器:区域解析库手动创建 从服务器:区域解析库不能手动创建和修改,要从主服务器同步而来 从服务器从主服务器上拉取区域解析库用完全区域传送AXFR和不完全区域传送IXFR 完全区域传送是在从DNS服务器第一次从主服务器同步是用完全区域传送AXFR 1.配置主从DNS服务器需要时间同步 crontab: */3 * * * * /usr/sbin/ntpdate  172.16.0.1 &> /dev/null 每3分钟从时间服务器同步一次时间 2.从服务器B

DNS服务器之简单配置(一)

名词解释: 域名: 域名是域名系统名字空间中,从当前节点到根节点的路径上所有节点标记的点分顺序连接. 域: 域是指域名系统名字空间中的一个子集,也就是树形结构名字空间中的一颗子树.这个子树根节点的域名就是该域的名字, 域的级别: 顶级域(TLD, Top Level Domain)是指域名系统名字空间中根节点下最顶层的域.顶级域也称一级域,顶级域的下级就是二级域,二级域的下级就是三级域,以此类推.每个域都是其上级域的子域.最早的顶级域名,也是现在说的国际域名,按照用途分为的7个大类: .com:

linux下DNS服务器之视图和轮询

案例4 视图  viwer 拓扑图: 1.查看帮助 [[email protected] ~]# vim /usr/share/doc/bind-9.8.2/sample/etc/named.conf [[email protected] ~]# cd /var/named/chroot/etc 2.[[email protected] etc]# vim named.conf 添加视图: 36 view    "lan-view" 37 { 38 zone "."

DNS服务器之二:从服务器的实现

DNS从服务的搭建 一.安装  [[email protected]~]# yum install bind 二.修改主配置文件  [[email protected]~]# cat /etc/named.conf 将以下三行注释掉 //               listen-on port 53 { 127.0.0.1; }; //               listen-on-v6 port 53 { ::1; }; //               allow-query     {

学习笔记之dns正反向解析区域,主从服务,子域授权,安全

一.配置解析一个正向区域: 以bucktan.com域为例: 1.1 定义区域 在主配置文件中(/etc/named.conf)或主配置文件辅助配置文件(/etc/named.rfc1912.zones)中实现: zone  "ZONE_NAME"  IN  { type  {master|slave|hint(根服务器)|forward(转发)}; file  "ZONE_NAME.zone"; }; 注意:区域名字即为域名: eg:zone "buck

DNS主从复制、子域授权和转发及智能解析

实验环境:centos 7 程序版本:bind-9.9.4-29.el7.x86_64 安装方法:yum install -y bind (base仓库): 端口: TCP53:负责主从服务器的数据复制传输 UDP53:负责解析 主配置文件:/etc/named.conf 区域配置文件存放目录:/var/named/ 从服务器的区域配置文件存放目录:/var/named/slaves 主服务器:192.168.1.12 从服务器:192.168.1.13 主从配置: ~]# cp -p /etc

DNS服务器之bind

bind早期是有伯克利维护,后来交给了ISC进行维护,官方站点www.isc.org 在linux主机上提供可供选择的域名解析机制,在/etc/nssswitch.conf文件提供了域名解析的平台,里面可以定义多重解析域名的方法以及本主机采用优先采用哪种域名解析方法. hosts:      files dns 其中files表示优先使用本地hosts文件来解析域名 dns表示其次使用dns服务来解析域名,这两者的顺序即表示他们使用时的优先级 而在/usr/lib64目录下有以下三口库文件可以实

Linux DNS之二DNS主从、子域授权及视图

上一篇讲了DNS的基础相关以及一个简单的DNS搭建过程,今天更加深入的讲一讲DNS的主从复制.子域授权以及视图功能. 大纲 一.DNS主从复制 二.DNS子域授权 三.DNS视图 一.DNS主从复制 环境准备 主DNS    172.16.1.111    soysauce 从DNS    172.16.1.110    CentOS5 1.首先建立主DNS [[email protected] ~]# yum install -y "bind" "bind-utils&qu