实验四

一、基于view的智能化DNS服务器

1、cd /var/named/chroot/etc/进入目录,修改配置文件

vi named.rfc1912.zones

删除test.com域的配置以及所有范例

添加两个访问列表文件

include "/etc/north.cfg";

include "/etc/south.cfg";

配置如图:

2、 切换到/var/named/chroot/etc/目录,添加并编辑north.cfg,south.cfg这两个文件。

(1)vi north.cfg

acl语句专门声明访问控制列表

(2)vi south.cfg

3、vi named.rfc1912.zones

添加view south配置

view "south" {

zone "." IN {

type hint;

file "named.ca";

};

zone "afu.com" IN {

type master;

file "south/afu.com.zone";

//allow-transfer { 192.168.1.180; };

};

我们现在不需要同步,所以//注释掉

allow-transfer { 192.168.1.180; };这行

添加view north配置

view "north" {

zone "." IN {

type hint;

file "named.ca";

};

zone "afu.com" IN {

type master;

file "north/afu.com.zone";

//allow-transfer { 172.16.252.206; };

};

添加view other

view "other" {

match-clients { any; };

zone "." IN {

type hint;

file "named.ca";

};

zone "afu.com" IN {

type master

file "other/afu.com.zone";

};

match-clients 这个语句专门用来声明什么用户符合这个域的

配置如图

现在bind的配置部分已经完成

3、接下来配置zone文件部分

cd /var/named/chroot/var/named/

创建目录

mkdir south north other

4、修改权限

5、将afu.com.zone文件分别拷贝到south/,north/,other/目录下

6、进入south/,编辑afu.com.zone

修改如下

7、

配置如图

改成192.168.1.161区别标识

8、

配置如图

改成192.168.1.162区别标识

9、修改权限

10、重启bind服务

11、检测

vi /etc/resolv.conf 确保nameserver改为本机IP

nslookup

12、切换到另外一台设备

vi /etc/resolv.conf 确保nameserver使用我们配置的DNS服务

器192.168.1.150

执行nslookup

二、view中主从同步

因为从服务器只有一个ip,所以只能取到主服务器中的一个view文件中的信息。所以在从服务器上再添加一个虚拟ip。

1、首先slave服务器需要有两个IP地址

执行ifconfig eth0:0 172.16.252.230 netmask 255.255.255.0

添加一块虚拟网卡

2、使用ping命令测试是否连通

现在的配置重启后失效,如果持续生效,将ifconfig eth0:0 192.168.1.130 netmask 255.255.255.0命令添加

/etc/rc.d/rc.local文件中。

现在slave服务器已经有两个IP地址

3、

原理:

1)改写slave的配置文件,写成view的形式;

2)slave明确使用哪个IP地址取得的信息放在哪个view中;

3)master明确IP地址分别属于哪一个view,并且明确配置出来。

4、首先配置master

vi named.rfc1912.zones

slave机上有192.168.1.130和192.168.1.180这两个IP地

址;我们设置130获取south的view,180获取north的view;

然后编辑:

match-clients { south; 192.168.1.180; !192.168.1.130; };

由于south控制列表中指定的IP是192.168.1.180,所以这里可

以省略

match-clients { north; 192.168.1.130; !192.168.1.180; };

最终配置如图

现在master端设置完成;

现在mater配置完成。

5、slave配置

1)编辑named.rfc1912.zones文件

可以使用scp(ssh管道复制)命令从192.168.1.150远程复制到本机

scp 192.168.1.150:/var/named/chroot/etc/named.rfc1912.zones

./

同时将控制列表文件复制到slave

2)查看文件权限,因为other有r的权限,所以可以不用修改文件权限。

3)然后再编辑named.rfc1912.zones文件

将type类型改为slave;

指定slave通过哪个IP地址获取view;

在south域中输入

transfer-source 192.168.1.180;

指定salve服务器通过192.168.1.180(这个地址是slave机的两个IP地址之一)这个IP地址获取master服务器上的zone文件,并且将取得的数据保存在该域内。

在north域中输入

transfer-source 192.168.1.130;

并添加

masters { 192.168.1.150; };

配置如图

6)创建north,south,other目录,并修改权限

由于创建的权限是755,我们的slave机需要往配置目录写入数据,所以将拥有者改为named

7、进入/var/named/chroot/var/named/north/目录下,现在查看为

空;

重启服务,查看已经获取到的文件

如果没有获取到文件,查看iptables和selinux的设置。

8、安全设定

master中的named.efc1912.zone文件通过

allow-transfer { 192.168.1.180; };语句控制哪一台

机器可以同步master;

slave中named.efc1912.zone文件是通过

allow-update { 192.168.1.150; };指定哪一台master

服务器来更新这台slave。

9、如果在做缓存DNS服务器时,一般再加一条参数来保证取得相应域名的解析结果。

recursion 配置当前的DNS服务器是否做递归查询,