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
|