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安装三个软件包:
1
2
3
|
[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服务。
具体配置内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
[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,避免权限引起的错误。
具体配置如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
[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服务
1
2
3
4
5
6
|
[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文件
1
2
3
4
5
6
7
8
|
[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
具体内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
[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
具体配置如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
[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服务:
1
2
3
4
5
6
|
[root@server2 named]
# service named start
启动 named: [确定]
[root@server2 named]
# service named restart
停止 named: [确定]
启动 named: [确定]
[root@server2 named]
#
|
5,在客户端上验证是否能够解析bj.tarena.com中的主机
修改cli1的dns地址,然后测试,可以看到,能够成功解析。
1
2
3
4
5
6
7
8
9
10
|
[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
具体配置如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
[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域中的主机
1
2
3
4
5
6
7
|
[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,在客户端验证
1
2
3
4
5
6
|
[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
|