实验四
一、基于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服务器是否做递归查询,