Linux网络服务_DNS子域授权-Redhat Enterprise 5.9


实验环境:server1、server2、cli1------都为RedhatEnterprise 5.9 Linux系统

server1为父DNS服务器:解析tarena.com域中的主机

server2为子DNS服务器:解析bj.tarena.com域中的主机


目的:正常情况下,server1只能解析tarena.com域中的主机,通过子域授权,使server1可以解析bj.tarena.com域中的主机。


具体步骤:分三部分...


第一部分:配置服务器server1,使其能够成功解析tarena.com域中的主机


1,安装dns必须的软件:bind、bind-chroot、caching-nameserver

挂载光盘,进入Server目录,使用rpm -ivh安装三个软件包:

[root@server1 Server]# rpm -ivh bind-9.3.6-20.P1.el5_8.5.x86_64.rpm
[root@server1 Server]# rpm -ivh bind-chroot-9.3.6-20.P1.el5_8.5.x86_64.rpm
[root@server1 Server]# rpm -ivh caching-nameserver-9.3.6-20.P1.el5_8.5.x86_64.rpm


2,修改dns的配置文件

/var/named/chroot/etc/named.conf和/var/named/chroot/etc/named.rfc1912.zones

注:该文件是从named.caching-nameserver.conf文件拷贝过来的,注意拷贝的时候加选项p,否则会出现权限问题,导致无法启动named服务。

具体配置内容如下:

[root@server1 ~]# cd /var/named/chroot/etc/
[root@server1 etc]# cp -p named.caching-nameserver.conf named.conf
[root@server1 etc]# vim named.conf  //编辑配置文件,内容修改如下
[root@server1 etc]# cat named.conf
options {
        listen-on port 53 { 192.168.1.1; }; //指定监听端口ip为主机ip地址
        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_mem_stats.txt";
        allow-query     { any; };       //修改为any,同意任何ip的解析请求
        allow-query-cache { any; }; //将localhost修改为any
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
view localhost_resolver {
        match-clients      { any; };    //相当于一个开关,同意任何ip地址通过
        match-destinations { any; };    //同上
        recursion yes;
        include "/etc/named.rfc1912.zones";
};
[root@server1 etc]# vim named.rfc1912.zones
[root@server1 etc]# tail named.rfc1912.zones    //只需添加下面内容即可
zone "tarena.com" IN {
        type master;
        file "tarena.com.zheng";        //定义了正向解析文件名
};
zone "1.168.192.in-addr.arpa" IN {
        type master;
        file "tarena.com.fan";      //定义了反向解析文件名
};
[root@server1 etc]#


3,修改区域配置文件

/var/named/chroot/var/named/tarena.com.zheng

和/var/named/chroot/var/named/tarena.com.fan

注:tarena.com.zheng文件是由/var/named/chroot/var/named/下的named.local文件拷贝过来的,注意,拷贝的时候需要加选项-p,避免权限引起的错误。


具体配置如下:

[root@server1 etc]# pwd
/var/named/chroot/etc
[root@server1 etc]# cd ../var/named/
[root@server1 named]# pwd
/var/named/chroot/var/named     //注意配置文件的位置
[root@server1 named]# cp -p named.local tarena.com.zheng
[root@server1 named]# vim tarena.com.zheng
[root@server1 named]# cp -p tarena.com.zheng tarena.com.fan
[root@server1 named]# vim tarena.com.fan
[root@server1 named]# ll tarena.com.*       //注意两个文件的所属组为named
-rw-r----- 1 root named 489 03-05 19:39 tarena.com.fan
-rw-r----- 1 root named 483 03-05 19:38 tarena.com.zheng
[root@server1 named]# cat tarena.com.zheng
$TTL    86400
@       IN      SOA     tarena.com. root.tarena.com.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
        IN      NS      server1.tarena.com.     //域名服务器的名字
server1 IN      A       192.168.1.1     //正向解析域名服务器地址
www     IN      A       192.168.1.80        //正向解析www服务器的地址
mail    IN      A       192.168.1.23        //正向解析mail服务器的地址
[root@server1 named]# cat tarena.com.fan
$TTL    86400
@       IN      SOA     tarena.com. root.tarena.com.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
        IN      NS      server1.tarena.com. //指定域名服务器的名称
1       IN      PTR     server.tarena.com.  //反向解析域名服务器的地址
80      IN      PTR     www.tarena.com.     //反向解析www服务器
23      IN      PTR     mail.tarena.com.        //反向解析mail服务器
[root@server1 named]#


4,启动named服务

[root@server1 named]# service named start
启动 named:                                               [确定]
[root@server1 named]# service named restart
停止 named:                                               [确定]
启动 named:                                               [确定]
[root@server1 named]#


5,并在客户端上验证是否能够解析tarena.com中的主机

在客户机cli1上测试是否能成功解析,如下所示,可以成功解析。

注:在测试的时候,需要修改cli1的dns地址为192.168.1.1,也就是/etc/resolv.conf文件

[root@cli1 ~]# cat /etc/resolv.conf     //指定客户机的dns地址为192.168.1.1
search tarena.com
nameserver 192.168.1.1
[root@cli1 ~]# host www.tarena.com
www.tarena.com has address 192.168.1.80
[root@cli1 ~]# host 192.168.1.23
23.1.168.192.in-addr.arpa domain name pointer mail.tarena.com.
[root@cli1 ~]#


第二部分:配置服务器server2,使其能够成功解析bj.tarena.com域中的主机


1,和第一部分的第一步相同,安装bind、bind-chroot、caching-nameserver软件包


2,修改dns配置文件

/var/named/chroot/etc/named.conf和/var/named/chroot/etc/named.rfc1912.zones


具体内容如下:

[root@server2 etc]# cat named.conf
options {
        listen-on port 53 { 192.168.1.2; };     //此处修改
#       listen-on-v6 port 53 { ::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_mem_stats.txt";
        allow-query     { any; };           //此处修改
        allow-query-cache { any; };         //此处修改
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
view localhost_resolver {
        match-clients      { any; };        //此处修改
        match-destinations { any; };        //此处修改
        recursion yes;
        include "/etc/named.rfc1912.zones";
};
[root@server2 etc]# tail named.rfc1912.zones    //下面的内容添加到该文件内即可
zone "bj.tarena.com" IN {
        type master;
        file "bj.tarena.com.zheng";
};
zone "1.168.192.in-addr.arpa" IN {
        type master;
        file "bj.tarena.com.fan";
};
[root@server2 etc]#


3,修改区域配置文件

/var/named/chroot/var/named/bj.tarena.com.zheng

和/var/named/chroot/var/named/bj.tarena.com.fan


具体配置如下:

[root@server2 named]# cp -p named.local bj.tarena.com.zheng
[root@server2 named]# vim bj.tarena.com.zheng
[root@server2 named]# cp -p bj.tarena.com.zheng bj.tarena.com.fan
[root@server2 named]# vim bj.tarena.com.fan
[root@server2 named]# ll bj.tarena.com.*
-rw-r--r-- 1 root named 355 03-05 19:56 bj.tarena.com.fan
-rw-r--r-- 1 root named 339 03-05 19:55 bj.tarena.com.zheng
[root@server2 named]# cat bj.tarena.com.zheng
$TTL 86400
@               IN SOA  bj.tarena.com. root.bj.tarean.com. (
                                2014030401 ; serial
                                28800      ; refresh (8 hours)
                                14400      ; retry (4 hours)
                                3600000    ; expire (5 weeks 6 days 16 hours)
                                86400      ; minimum (1 day)
                                )
                        NS      server2.bj.tarena.com.
server2                 A       192.168.1.2
www                     A       192.168.1.180
mail                    A       192.168.1.123
[root@server2 named]# cat bj.tarena.com.fan
$TTL 86400
@               IN SOA  bj.tarena.com. root.bj.tarean.com. (
                                2014030401 ; serial
                                28800      ; refresh (8 hours)
                                14400      ; retry (4 hours)
                                3600000    ; expire (5 weeks 6 days 16 hours)
                                86400      ; minimum (1 day)
                                )
                NS      server2.bj.tarena.com.
2               PTR     server2.bj.tarena.com.
180             PTR     www.bj.tarena.com.
123             PTR     mail.bj.tarena.com.
[root@server2 named]#


4,启动named服务

[root@server2 named]# service named start
启动 named:                                               [确定]
[root@server2 named]# service named restart
停止 named:                                               [确定]
启动 named:                                               [确定]
[root@server2 named]#


5,在客户端上验证是否能够解析bj.tarena.com中的主机

修改cli1的dns地址,然后测试,可以看到,能够成功解析。


[root@cli1 ~]# cat /etc/resolv.conf
search tarena.com
nameserver 192.168.1.2
[root@cli1 ~]# host www.bj.tarena.com
www.bj.tarena.com has address 192.168.1.180
[root@cli1 ~]# host mail.bj.tarena.com
mail.bj.tarena.com has address 192.168.1.123
[root@cli1 ~]# host 192.168.1.123
123.1.168.192.in-addr.arpa domain name pointer mail.bj.tarena.com.
[root@cli1 ~]#


第三部分:修改server1的dns配置文件,实现---客户端cli1的dns地址指向server1,能够解析bj.tarena.com域中的主机。


1,修改server1的dns区域配置文件的正向解析文件

/var/named/chroot/var/named/tarena.com.zheng

具体配置如下:

[root@server1 named]# pwd
/var/named/chroot/var/named
[root@server1 named]# vim tarena.com.zheng
[root@server1 named]# cat tarena.com.zheng
$TTL    86400
@       IN      SOA     tarena.com. root.tarena.com.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
        IN      NS      server1.tarena.com.
bj.tarena.com.  IN      NS      server2.bj.tarena.com.
server2.bj.tarena.com.  IN      A       192.168.1.2
server1 IN      A       192.168.1.1
www     IN      A       192.168.1.80
mail    IN      A       192.168.1.23
[root@server1 named]# service named restart
停止 named:                                               [确定]
启动 named:                                               [确定]
[root@server1 named]#


2,在客户端下验证,指定server1为客户端cli1的dns服务器,测试是否能够成功解析

www.bj.tarena.com域中的主机


[root@cli1 ~]# vim /etc/resolv.conf
[root@cli1 ~]# cat /etc/resolv.conf
search tarena.com
nameserver 192.168.1.1
[root@cli1 ~]# host www.bj.tarena.com
www.bj.tarena.com has address 192.168.1.180
[root@cli1 ~]# 


:由于只修改了server1的正向解析文件,所以,只能cli1只能进行正向解析,如果需要,可以修改server1的反向文件,也能实现反向解析。


扩展:配置子域服务器,使其能够解析主DNS服务器tarena.com域中的主机


1,修改子域服务器server2的配置文件named.conf

option字段中添加 forwarders {192.168.1.1; };


2,重启named服务:service named restart


3,在客户端验证

[root@cli1 ~]# vim/etc/resolv.conf
[root@cli1 ~]# cat/etc/resolv.conf
search tarena.com
nameserver 192.168.1.2
[root@cli1 ~]# host www.tarena.com
www.tarena.com has address 192.168.1.80