DNS

[root@linux ~]# rpm -qa | grep bind    //查看以RPM方式安装的bind程序
bind-utils-9.3.6-4.P1.el5_4.2
[root@linux ~]# cd /media/RHEL_5.5\ i386\ DVD/Server/   //切换目录
[root@linux Server]# rpm -ivh bind-9.3.6-4.P1.el5_4.2.i386.rpm  //安装
warning: bind-9.3.6-4.P1.el5_4.2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:bind                   ########################################### [100%]
[root@linux Server]# rpm -ivh bind-chroot-9.3.6-4.P1.el5_4.2.i386.rpm
warning: bind-chroot-9.3.6-4.P1.el5_4.2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:bind-chroot            ########################################### [100%]
[root@linux Server]# rpm -ivh caching-nameserver-9.3.6-4.P1.el5_4.2.i386.rpm
warning: caching-nameserver-9.3.6-4.P1.el5_4.2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:caching-nameserver     ########################################### [100%]
与BIND域名服务相关的几个重要软件
bind-9.3.6-4.P1.el5_4.2
bind-utils-9.3.6-4.P1.el5_4.2
bind-chroot-9.3.6-4.P1.el5_4.2
caching-nameserver-9.3.6-4.P1.el5_4.2
bind,提供了域名服务的主要程序及相关文件
bind-utils,提供了对DNS服务器的检测工具程序(nslookup dig等)。
bind-chroot,为bind提供一个伪装的根目录以增强安全性,(将“/var/named/chroot/文件夹作为BIND的根目录”)。
caching-nameserver,为配置BIND作为缓存域名服务提供必要的默认配置文件,这些文件在配置主,从域名服务器是也可以作为参考。

 BIND的配置文件
使用BIND软件构件域名服务时,主要涉及两种类型的配置文件,主配置文件和区域数据库配置文件。 主配置文件用于设置named服务的全局选项,注册区域及访问控制等参数,区域数据库配置文件用于白村特定DNS区域解析记录。
 named服务的主配置文件为named.conf一般位于“/etc”目录中,如果使用了bind-chroot功能,则可能位于“/var/named/chroot/etc/”目录中。
 主配置文件中主要包括全局配置和区域配置部分,全局配置参数包括在形如“options { };”的大括号中, 而每个DNS区域配置参数使用“zone……….{ };”的形式提供,注意在每个配置行末尾要添加分号“;”。配置文件中以“#”号或“//”开始的部分表示注释信息,如果有大段的文件还可以使用“/*……......*/”的注释格式。
[root@linux Server]# cd /var/named/chroot/etc/   //切换目录
[root@linux etc]# vim named.conf      //建立主配置文件
options {
        listen-on port 53 { 192.168.1.1; };  //设置named监听的端口号IP地址
        directory       "/var/named";  //设置区域数据文件的默认存放位置
 allow-query { 192.168.1.0/24; 172.16.1.0/16; };  //允许DNS查询的客户端地址
        recursion yes;       //设置允许递归查询
 };
 在以上配置内容中除了directory项通常保留以外,其他的配置项都可以省略掉,若不指定listen-on配置项,named默认在所有可用的IP地址上监听服务。服务器处理客户端的DNS解析请求时,如果在named.conf文件中找不到相匹配的区域,将会向根域服务器或者由forwarders项指定其他DNS服务器提交查询。
区域配置部分最常见的配置项
zone "." IN {   //设置根区域
        type hint;  //设置区域类型(hint表示根域,master表示主域,slave表示从域等)
        file "named.ca";  //设置对应的根域地址数据库文件
 };
zone "benet.com.zone" IN {  //设置正向DNS域名称
        type master;
        file "benet.com.zone";  //设置对应的正向区域地址数据库文件
        allow-transfer { 192.168.1.2; };  //设置允许下载区域数据库信息的从域名服务器地址
        allow-update { none; };  //设置允许动态更新的客户端地址(none为禁止)
 };
zone "1.168.192.in-addr.arpa" IN {   //设置反向DNS区域名称
        type master;
        file "192.168.1.arpa";   //设置对应的方向区域地址数据库文件
 };
 在以上配置内容中,有几地方需要注意
1, 每个zone区域都是可选的(包括根域,回环域,反向域)具体根据实际需要而定zone配置部分的“IN”关键字可以省略。
2, 反向区域的名称由倒序的网络地址和“.in-addr-arpa”组合而成,例如对于192.168.1.0/24网段,其反向区域名为“1.168.192.in-addr.arpa”
3, file配置项后边的文件名由管理员自行设置,只要实际的地址数据库文件各与其保持一致即可。
4, 区域设置中的一部分配置内容(如allow-transfer,allow-update等)也可以放在全局配置设置里。
[root@linux etc]# named-checkconf /var/named/chroot/etc/named.conf
 修改完主配置文件已后,可以执行named-checkconf命令对named.conf文件进行语法检查。如果文件没有语法错误,将不会给出任何提示,反之,如果发现有错误的地方,则会给出相应的提示信息,只要根据出错提示修正文件中的错误即可,带“-z”选项的named-checkconf命令还可以尝试加载主配置文件对应的区域数据库文件,并检查是否存在问题。

 

 


区域数据库配置文件
 区域数据库配置文件位于“/var/named/”目录中如果使用了bind-chroot功能,则位于“/var/named/chroot/var/named/”目录中。根域“.”的数据库文件比较特殊,文件名称通常为named.ca或者named.root。
全局TTL配置项及SOA记录
[root@linux named]# cp localdomain.zone benet.com.zone  //使用正向解析模板
[root@linux named]# cp named.local 192.168.1.arpa    //使用反向解析模板
[root@linux named]# chown named.named benet.com.zone   //改变文件的属主 属组
[root@linux named]# chown named.named 192.168.1.arpa   //改变文件的属主 属组
[root@linux named]# vim benet.com.zone     //修改区域数据库配置文件
$TTL    86400  //设置有效地址解析记录的默认缓存时间
@               IN SOA  benet.com. admin.benet.com. ( //设置SOA标记 域名 域管理邮箱
                                        42              ; serial (d. adams)
更新序号,用于标记地址数据库变化,可以是10 位以内的整数
                                        3H              ; refresh
//刷新时间,从域名服务器更新该地址数据库文件的间隔时间
                                        15M             ; retry
//重试延时,从域名服务器更新地址数据库失败以后,等待多长时间再次尝试
                                        1W              ; expiry
//失败时间,超时该时间仍无法更新地址数据库,则不在尝试
                                        1D )            ; minimum
//设置无效时间地址解析记录,(改数据库中不存在的地址)的默认缓存时间
@              IN NS           dns1.benet.com.
                IN NS           dns2.benet.com.
                IN MX 10        mail.benet.com.
dns1            IN A            192.168.1.1
dns2            IN A            192.168.1.2
www           IN A            192.168.1.100
mail            IN A            192.168.1.200
ftp             IN CNAME        www
 在上述配置项中,时间参数的默认单位为秒,也可以使用以下单位(M分)(H时)(W周)(D天);从域名服务器根据更新序列号决定是否需要重新下载地址数据库,如果发现序号与上一次的相同,则不会下载地址数据库,文件中的“@”符号表示当前的DNS区域名,相当于“benet.com.”,“admin.benet.com.”表示域管理员的电子邮箱(由于“@”符号已有其他含义,因此将邮件地址中的“@”用“.”代替)。
 上述配置项中,涉及以下四种常用的地址解析记录
NS域名服务器(Name Server)记录,用于设置当前域的DNS服务器的域名地址
MX邮件交换(Mail Exchange)记录,用于设置当前域的邮件服务器名地址,数字“10”表示(当有多个MX记录时)选择邮件服务器的优先级,数字越大优先级越低
A地址(Address)记录,用于记录正向域名解析,“www IN A 192.168.1.1”表示域名“www.benet.com.”对应的IP地址为192.168.1.1
CNAME别名(Canonical Name)记录,“ftp IN CNAME www”表示域名ftp.benet.com是地址www.benet.com的别名
 其中,NS MX记录行首的“@”符号可以省略(默认继承SOA记录行的@信息)但是必须保留一个空格或者制表位。
[root@linux named]# vim 192.168.1.arpa
$TTL    86400
@       IN      SOA     benet.com. admin.benet.com.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
        IN NS           dns1.benet.com.
        IN NS           dns2.benet.com.
1       IN PTR          dns1.benet.com.
2       IN PTR          dns2.benet.com.
100     IN PTR          www.benet.com.
200     IN PTR          mail.benet.com.
 使用PTR记录时,第一列中只要需要指明对应IP地址的“主机地址”部分即可,如“1”“2”“100”等,系统在查找地址记录时会自动当前反向域的网络地址作为前缀。例如上述文件中的“100 IN www.benet.com.”,表示IP地址为“192.168.1.100”的主机的域名是“www.benet.com.”
 在区域数据库配置文件中,凡是不以点号“.”结尾的主机地址,系统在查找地址记录是都会自动将当前的域名作为后缀。例如 若当前的dns域为“benet.com”则在文件中的主机地址“www”相当于www.benet.com如果需要使用完整的FQDN地址,记得在末尾加上点号“.”
 修改完区域数据库配置文件以后,可以执行named.checkzone命令对该文件进行语法检查,需要一次指定区域名称,是数据库文件名作为参数,如果文件中没有语法错误,将给出“OK”的提示信息
[root@localhost named]# named-checkzone benet.com benet.com.zone
zone benet.com/IN: loaded serial 42
OK
[root@localhost named]# named-checkzone benet.com 192.168.1.arpa
zone benet.com/IN: loaded serial 1997022700
OK
[root@localhost named]#
 基于DNS的解析的负载均衡
[root@localhost named]# vim benet.com.zone  //添加dns解析的负载均衡
movie           IN A            192.168.1.151
movie           IN A            192.168.1.152
movie           IN A            192.168.1.153
movie           IN A            192.168.1.154
movie           IN A            192.168.1.155
 泛域名解析
当同一个IP地址的服务器对应有相同域内大量不同的域名时(时IDC的虚拟主机服务器 提供个人站点空间服务器等),可以通过dns区域数据库文件使用泛域名解析,只需要添加一条主机地址为“*”的A地址记录即可(作用类似于通配符)记录如下
*  IN  A  192.168.1.120
 子域授权(或称为子域委派)
当dns 区域内层次较多,域名数量巨大时,就可以使用子域授权,将某个子域内各域名的解析工作交给另一台服务器来完成,例如,在“net.cn”域的主dns服务器中,将“.jv.net.cn”子域授权给JV公司的DNS服务器来完成,这样一来,lnternet中的用户向“.net.cn”域名服务器也可以解析到域名“mail.jv.net.cn”的IP,当然,实际的权威数据来自于“.jv.net.cn”域的DNS服务器。
root@localhost named]# vim benet.com.zone
dnsc.jv.benet.com. IN A          192.168.1.210

缓存域名服务器
缓存域名服务器主机位于局域网内,IP 192.168.1.1
局域网内的PC机将首选DNS服务器设为192.168.1.1
缓存域名服务器本身应能够访问了lnternet中的其他DNS服务器
缓存域名服务器代为处理客户端DNS解析请求,并缓存查询结果
 安装好caching-nameserver软件包以后,将会提供有相关配置文件的范本,用户只需要稍加修改即可完成大部分配置。在主配置范本文件“named.caching-nameserver.conf”中,包含了默认的缓存配置项,并通过“include”方式包含了文件“named.rfc1912.zones”中的基本区域设置(如根域 回环域等)。
[root@localhost ~]# cd /var/named/chroot/etc/
[root@localhost etc]# cp named.caching-nameserver.conf named.conf
[root@localhost etc]# vim named.conf
options {
        listen-on port 53 { 192.168.1.1; };
        directory "/var/named";
        dump-file "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_stats.txt";
        query-source port 53;
        allow-query { 192.168.1.0/24; };
        recursion yes;
 };
zone "." IN {
        type hint;
        file "named.ca";
 };

[root@localhost etc]# named-checkconf named.conf
[root@linux ~]# service named start
启动 named:                                               [确定]

 有时候为了提高解析效率,也可以不向根域查询,而是将用户端解析请求转发给特定的DNS服务器,(如洛阳网通的公共DNS服务器),受到返回的查询结果后再传递给客户端。只要去掉“zone  “.” {…….};”的设置,并在全局配置中正确设置forwarders参数即可实现该功能。
[root@localhost ~]# cd /var/named/chroot/etc/
[root@localhost etc]# vim named.conf
forwarders { 202.102.224.68; 202.102.227.68; };

 确认根域地址数据库文件named.ca
根域的地址数据库直接使用范本文件及可,范本文件记录了lnternet中13台根服务器的IP地址相关信息。
[root@localhost ~]# grep -v "^;" /var/named/chroot/var/named/named.ca
A.ROOT-SERVERS.NET.     3600000 IN      A       198.41.0.4
A.ROOT-SERVERS.NET.     3600000 IN      AAAA    2001:503:ba3e::2:30
B.ROOT-SERVERS.NET.     3600000 IN      A       192.228.79.201
C.ROOT-SERVERS.NET.     3600000 IN      A       192.33.4.12
D.ROOT-SERVERS.NET.     3600000 IN      A       128.8.10.90
E.ROOT-SERVERS.NET.     3600000 IN      A       192.203.230.10
F.ROOT-SERVERS.NET.     3600000 IN      A       192.5.5.241
F.ROOT-SERVERS.NET.     3600000 IN      AAAA    2001:500:2f::f
G.ROOT-SERVERS.NET.     3600000 IN      A       192.112.36.4
H.ROOT-SERVERS.NET.     3600000 IN      A       128.63.2.53
H.ROOT-SERVERS.NET.     3600000 IN      AAAA    2001:500:1::803f:235
I.ROOT-SERVERS.NET.     3600000 IN      A       192.36.148.17
J.ROOT-SERVERS.NET.     3600000 IN      A       192.58.128.30
J.ROOT-SERVERS.NET.     3600000 IN      AAAA    2001:503:c27::2:30
K.ROOT-SERVERS.NET.     3600000 IN      A       193.0.14.129
K.ROOT-SERVERS.NET.     3600000 IN      AAAA    2001:7fd::1
L.ROOT-SERVERS.NET.     3600000 IN      A       199.7.83.42
M.ROOT-SERVERS.NET.     3600000 IN      A       202.12.27.33
M.ROOT-SERVERS.NET.     3600000 IN      AAAA    2001:dc3::35

案例构建主域名服务器
主域名服务器通常架设在lntrtnet环境中,主要目标是为客户端提供本域内主机名与IP地址的解析。
 主域服务器位于lnternet中IP地址为10.1.1.1。主机名为dns1.benet.com 所负责的DNS域为“benet.com”为以下服务器提供正向解析
网站服务器“www.benet.com” IP地址为10.1.1.100
 邮件服务器“mail.benet.com” IP地址为10.1.1.100
 在线培训站点服务器“study.benet.com”IP地址为10.1.1.150
 主域名服务器“dns1.benet.com”IP地址为10.1.1.1
 从域名服务器“dns2.benet.com”IP地址为10.1.1.2
为上述服务器提供反向解析
为“benet.com”域内的其他主机提供泛域名解析,对应的IP为10.1.1.100
 确定本机的主机名IP地址
将服务器的IP地址设为10.1.1.1主机名设为dns1.benet.com通过修改“/etc/sysconfig/network”文件的方式进行。需要重启服务器。或临时的用命令“hostname dns1.benet.com”修改需要重启bash
为了提高域名解析效率可以将两个DNS服务器的地址映射直接写入到“/etc/host”文件中,同时在“/etc/resolv.conf”文件中指定服务器地址
[root@dns1 ~]# vim /etc/hosts
10.1.1.1        dns1.benet.com  dns1
10.1.1.2        dns2.benet.com  dns2
[root@dns1 ~]# vim /etc/resolv.conf
search  benet.com
nameserver 10.1.1.1
nameserver 10.1.1.2
建立主配置文件named.conf
 如果仅需要提供“benet.com”域内主机地址解析,可以不添加根域
如果该区域没有从域名服务器,则可以不设置“allow-transfer”语句
[root@dns1 ~]# vim /var/named/chroot/etc/named.conf
options {
        directory "/var/named";
 };
zone "benet.com" IN {
        type master;
        file "benet.com.zone";
        allow-transfer { 10.1.1.2; }; //允许从域名服务器下载该区域的地址数据库
 };
zone "1.1.10.in-addr.arpa" IN {
        type master;
        file "10.1.1.arpa";
        allow-transfer { 10.1.1.2; };
 };
建立区域数据库文件
 根据named.conf中的zone设置,分别建立对应的正向,反向区域数据库文件
[root@dns1 ~]# cd /var/named/chroot/var/named/
[root@dns1 named]# cp localdomain.zone benet.com.zone
[root@dns1 named]# cp named.local 10.1.1.arpa
[root@dns1 named]# chown named.named benet.com.zone
[root@dns1 named]# chown named.named 10.1.1.arpa
[root@dns1 named]# vim benet.com.zone
$TTL    86400
@               IN SOA  benet.com. admin.benet.com. (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
@               IN      NS      dns1.benet.com.
                IN      NS      dns2.benet.com.
                IN      A       10.1.1.1
                IN      MX 10   mail.benet.com.
dns1            IN      A       10.1.1.1
dns2            IN      A       10.1.1.2
mail            IN      A       10.1.1.100
www             IN      A       10.1.1.100
study           IN      A       10.1.1.150
*               IN      A       10.1.1.100  //泛解析地址
[root@dns1 named]# vim 10.1.1.arpa
$TTL    86400
@       IN      SOA     benet.com. admin.benet.com.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
        IN      NS      dns1.benet.com.
        IN      NS      dns2.benet.com.
1       IN      PTR     dns1.benet.com.
2       IN      PTR     dns2.benet.com.
100     IN      PTR     www.benet.com.
100     IN      PTR     mail.benet.com.
150     IN      PTR     study.benet.com.
[root@dns1 ~]# service named reload
重新载入 named:                                           [确定]
[root@dns1 ~]# nslookup study.benet.com   //验证一般正向解析结果
Server:         10.1.1.1
Address:        10.1.1.1#53

Name:   study.benet.com
Address: 10.1.1.150

[root@dns1 ~]# nslookup ftp.benet.com    //验证别名记录解析结果
Server:         10.1.1.1
Address:        10.1.1.1#53

ftp.benet.com   canonical name = www.benet.com
Name:   www.benet.com
Address: 10.1.1.100

[root@dns1 ~]# nslookup other.benet.com   //验证泛域名记录解析结果
Server:         10.1.1.1
Address:        10.1.1.1#53

Name:   other.benet.com
Address: 10.1.1.100

[root@dns1 ~]# nslookup 10.1.1.150   //验证反向记录解析结果
Server:         10.1.1.1
Address:        10.1.1.1#53

150.1.1.10.in-addr.arpa name = study.benet.com.
构建从域名服务器
从域名服务器作为主机服务器的沉余备份,可以与主域名服务器一起,同时提供本域内主机名与IP地址的解析,从域名服务器的地址数据库需要从主域名服务器中定期更新。
 基本的系统网络环境如下
从域名服务器的IP地址为10.1.1.2。主机名为dns2.benet.com
客户端将DNS服务器地址分别设置为 10.1.1.1, 10.1.1.2,当主域名服务器因故障中断服务时,由从域名服务器继续处理客户端的DNS解析请求
 确定本机的主机名,IP地址
从域名的IP地址设置为10.1.1.2,主机名设为dns2.benet.com
安装rpm软件包
[root@dns2 ~]# vim /var/named/chroot/etc/named.conf
options {
        directory "/var/named";
 };
zone "benet.com" IN {
        type slave;
        masters { 10.1.1.1; };
        file "slaves/benet.com.zone";
 };
zone "1.1.10.in-addr.arpa" IN {
        type slave;
        masters { 10.1.1.1; };
        file "slaves/10.1.1.arpa";
 };
~                  
[root@dns2 ~]# service named start
启动 named:                                               [确定]
执行service named start 命令启动named服务,如果配置无误,named将会自动从主域名服务器下载区域数据库文件,并保存到“slaves”子目录中
 在系统日志文件中可以看到下载区域数据库文件的记录
[root@dns2 ~]# tail /var/log/messages
Jan 13 15:23:58 dns2 named[4788]: zone benet.com/IN: sending notifies (serial 42)
Jan 13 15:23:58 dns2 named[4788]: client 10.1.1.2#9530: received notify for zone 'benet.com'
Jan 13 15:23:58 dns2 named[4788]: zone benet.com/IN: refused notify from non-master: 10.1.1.2#9530
Jan 13 15:23:58 dns2 named[4788]: zone 1.1.10.in-addr.arpa/IN: Transfer started.
Jan 13 15:23:58 dns2 named[4788]: transfer of '1.1.10.in-addr.arpa/IN' from 10.1.1.1#53: connected using 10.1.1.2#57949
Jan 13 15:23:58 dns2 named[4788]: zone 1.1.10.in-addr.arpa/IN: transferred serial 1997022700
Jan 13 15:23:58 dns2 named[4788]: transfer of '1.1.10.in-addr.arpa/IN' from 10.1.1.1#53: end of transfer
Jan 13 15:23:58 dns2 named[4788]: zone 1.1.10.in-addr.arpa/IN: sending notifies (serial 1997022700)
Jan 13 15:23:59 dns2 named[4788]: client 10.1.1.2#19198: received notify for zone '1.1.10.in-addr.arpa'
Jan 13 15:23:59 dns2 named[4788]: zone 1.1.10.in-addr.arpa/IN: refused notify from non-master: 10.1.1.2#19198
[root@dns2 ~]# ls -lh /var/named/chroot/var/named/slaves/
总计 8.0K
-rw-r--r-- 1 named named 463 01-13 15:23 10.1.1.arpa
-rw-r--r-- 1 named named 475 01-13 15:23 benet.com.zone
 验证从域名服务器
对于客户端来说,从域名服务器与主域名服务器并没有什么区别,通过主域名服务器能查询到的信息,通过从域名服务器也同样能够查询到

构建分离解析的域名服务器
 分离解析的域名服务器实际上也还是主域名服务器,这里所说的分离解析,主要的指根据不同的客户端提供不同的域名解析记录。例如,当DNS服务器面向lnternet和企业内部局域网同时提供服务时,可能需要将基于网用户访问公司公共域名(www.benet.com ,mail.benet.com)的数据,直接发往于内网的网站,邮件服务器,以减轻网关服务器的地址转换负担
域名服务器架设在企业内部,防火墙上设置UDP 53 转发给内部的DNS服务器192.168.1.10,防火墙的内网IP地址为192.168.1.254 外网IP地址为10.1.1.10
所负责的DNS解析为“benet.com”在lnternet中的公共域名“www.benet.com,mail.benet.com”均解析为网关的公网IP的地址10.1.1.10
公司的网站,邮件服务器均位于局域网内, 两台主机的IP地址为192.168.1.100 和192.168.0.200
局域网的192.168.1.0/24内的主机均将DNS服务器地址设为192.168.1.10当内网用户访问地址www.benet.com和mail.benet.com 时分别解析内网服务器的IP地址192.168.1.100和192.168.1.200
将DNS的网关指向192.168.1.254,所有192.168.1.0/24的客户端的DNS指向192.168.1.10
安装rpm软件包,建立主配置文件named.conf
在named.conf文件中,主要是用view配置语句和match-clients配置项,根据不同的客户端地址将对“benet.com”域的查询对应到不同的地址数据库文件,从而由不同的数据库文件提供不同的解析结果
[root@linux ~]# vim /var/named/chroot/etc/named.conf
options {
        directory "/var/named";
 };
view "LAN" {       //设置面向内网用户的视图
        match-clients { 192.168.1.0/24; }; //匹配条件为来自内网的客户端地址
        zone "benet.com" IN {
        type master;
        file "benet.com.zone.lan";  //指定面向内网用户的地址数据库文件
        };
 };
view "WAN" {      //设置面向外网用户的视图
        match-clients { any; };  //匹配条件为“any”任意地址
        zone "benet.com" IN {
        type master;
        file "benet.com.zone.wan"; //指定面外网用户的地址数据库文件
        };
 };
 注意将包含“match-clients { any; }”的“view”配置段放在文件中最后一部分,否则会导致其后的“view”配置段失效(找到一个匹配结果后即不再继续向下匹配)。
 分别建立对外,对内解析区域数据库文件
[root@linux ~]# cd /var/named/chroot/var/named/
[root@linux named]# cp localdomain.zone benet.com.zone.lan
[root@linux named]# cp localdomain.zone benet.com.zone.wan
[root@linux named]# chown named.named benet.com.zone.lan
[root@linux named]# chown named.named benet.com.zone.wan
[root@linux named]# vim benet.com.zone.lan
$TTL    86400
@               IN SOA  benet.com. admin.benet.com. (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
@               IN      NS      dns1.benet.com.
                IN      MX 10   mail.benet.com.
dns1            IN      A       192.168.1.10
www             IN      A       192.168.1.100
mail            IN      A       192.168.1.200
[root@linux named]# vim benet.com.zone.wan
$TTL    86400
@               IN SOA  benet.com. admin.benet.com. (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
@              IN      NS      dns1.benet.com.
                IN      MX 10   mail.benet.com.
dns1            IN      A       10.1.1.1
www           IN      A       10.1.1.1
mail            IN      A       10.1.1.1
~                                    
[root@linux ~]# chkconfig --level 35 named on
[root@linux ~]# chkconfig --list named
named           0:关闭  1:关闭  2:关闭  3:启用  4:关闭  5:启用  6:关闭
[root@linux ~]#

内网客户机
[root@linux5 ~]# nslookup www.benet.com
Server:         192.168.1.10
Address:        192.168.1.10#53

Name:   www.benet.com
Address: 192.168.1.100   
外网客户机
[root@linux5 ~]# nslookup wwww.benet.com
Server:         10.1.1.10
Address:        10.1.1.10#53

** server can't find wwww.benet.com: NXDOMAIN