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