[root@ns1 ~]# yum install bind [root@ns2 ~]# yum install bind
# 编辑named主区域配置文件,注释不需要配置
# 在/etc/named.rfc1912.zones文件中添加区域配置信息
[root@ns1 ~]# tail -8 /etc/named.rfc1912.zones
zone "test.com" IN {
type master;
file "test.com.zone";
};
zone "21.16.172.in-addr-arpa" IN {
type master;
file "172.16.21.zone";
};
#编辑test.com及"21.16.172.in-addr-arpa"的区域配置文件,内容如下
[root@ns1 ~]# cat /var/named/test.com.zone
$TTL 3600
@IN SOA test.com. admin.test.com. (
2014080501
3H
15M
5D
1D)
@IN NSns1.test.com.
IN MX 10mail.test.com.
ns1IN A172.16.21.1
mailIN A172.16.21.100
wwwIN A172.16.21.10
[root@ns1 ~]# cat /var/named/172.16.21.zone
$TTL 3600
@IN SOA test.com. admin.test.com. (
2014080501
3H
15M
5D
1D)
@IN NSns1.test.com.
IN MX 10 mail.test.com.
1IN PTRns1.test.com.
100IN PTRmail.test.com
10IN PTRwww.test.com验证:
#编辑主配置文件,将不需要选项加以注释
#编辑/etc/named.rfc1912.zones,添加如下内容
[root@ns2 named]# tail -5 /etc/named.rfc1912.zones
zone "test.com" IN {
type slave;
file "slave/test.com.zone";
masters { 172.16.21.1; };
};
#在ns1服务器上编辑/etc/named.rfc1912.zones文件,在区域test.com的配置中添加以下内容,用于支持区域传送
allow-transfer { 172.16.21.2; };
#在ns1服务器上的test.com.zone配置文件中把ns2添加为DNS服务器
@ IN NS ns2.test.com.
ns2 IN A 172.16.21.2验证:
#在ns1的/var/named/test.com.zone文件中添加ns的胶水记录
tech IN NS ns.tech.test.com.
ns.tech IN A 172.16.21.2
#在ns2的/etc/named.rfc1912.zones中添加tech.test.com区域,内容如下
[root@ns2 named]# tail -5 /etc/named.rfc1912.zones
zone "tech.test.com" IN {
type master;
file "tech.test.com.zone";
};
#编辑tech.test.com.zone区域配置文件
[root@ns2 named]# vim tech.test.com.zone
$TTL 3600
@ IN SOA tech.test.com. admin.tech.test.com. (
2014080501 ; serial
3H ; refresh
15M ; retry
5D ; expire
1D ) ; minimum
IN NS ns
ns IN A 172.16.21.2
www IN A 172.16.21.22
#修改tech.test.com.zone 属组为named
chgrp named tech.test.com.zone#在实验过程当中遇到一个问题,父域的DNS总是无法解析子域中的名称,错误信息如下
#Aug 4 22:09:15 wh1 named[3294]: error (no valid DS) resolving ‘ns.tech.test.com/A/IN‘: 172.16.21.2#53
经过各种google,百度,终于找到解决方法
#####################################
dnssec-enable no;
dnssec-validation no;
#####################################
验证:
#现在虽然使用父域的DNS可以解析到子域的服务器地址,但是子域却会去根下查找其父域的域名,由于没有在互联网上注册,所以肯定无法查找到,所以需要在子域上配置子域转发
#配置子域转发,在/etc/named.rfc1912.zones中添加如下内容
[root@ns2 named]# tail -5 /etc/named.rfc1912.zones
zone "test.com" IN {
type forward;
forward only;
forwarders { 172.16.21.1; };
};
#重启服务验证:
#修改配置文件,将原有的区域配置均移动到view neiwang { }; 中,并在其中添加:
match-clients { 172.16.0.0/16; };
#并在下方再定义一个新的视图,内容如下:
view waiwang {
match-clients { any; };
zone "test.com" IN {
type master;
file "test.com.zone.waiwang";
allow-transfer { any; };
};
};验证:
当客户端IP为172网段时,结果如下:
将客户端IP改为192.168网段,再进行解析,结果如下:
可见,视图功能已经配置成功,当我们在双线接入服务器以及当服务器面向内网及外网时,也可以减轻DNS服务器为外网解析其他域IP地址而消耗多余的资源.
本文出自 “淡淡” 博客,请务必保留此出处http://dddbk.blog.51cto.com/6837943/1536557
原文地址:http://dddbk.blog.51cto.com/6837943/1536557