BIND智能DNS解析和转发
一、 首先这里实现的是不同的IP访问同一个域名时解析到不同的IP地址的智能解析
1、 在这里以abc.com为例:我现在有两台机器,IP分别为A:192.168.1.30、B192.168.1.31。
这里以A机器作为DNS。
2、 首先我们要安装bind 在这里我使用的是yum安装
yum install bind caching-nameserver (bind-chroot可选,这里我没有安装)
bind:提供了域名服务器的主要程序及相关文件
caching-nameserver:为配置bind作为缓存域名服务器提供必要的默认配置文件,这些文件在配置主、从服务器是作为参考
bind-chroot:为bind做了一个别名隐藏了bind的默认目录,配置完以后bind的配置文件会在(/var/named/chroot/)下面。
3、 安装完成以后我们来配置bind主配置文件。默认的named.conf是不存在,我们可可以复制named.caching-nameserver.conf也可以自己建立named.conf。在这里我是自己新建的
[root@dns ~]#vim /etc/named.conf
options { directory \"/var/named\"; };
view \"one\" { match-clients {192.168.1.30;}; zone \"abc.com\" {
type master;
file \"abc.com.zone.one\"; };
};
view \"two\" {
match-clients {192.168.1.31;};
zone \"abc.com\" {
//全局配置
//设置区域数据库文件的默认位置
//分离不同的IP
//匹配不同的IP地址
//指定1.30用户的数据库文件
type master;
file \"abc.com.zone.two\";
};
};
4、 配置区域数据库文件
[root@dns ~]# vim /var/named/abc.com.zone.one
$TTL 86400
@ IN SOA abc.com. admin.abc.com. (
42
3H
15M
1W
1D )
IN NS abc.com.
www IN A 10.0.0.100
hat IN A 10.0.0.100
[root@dns ~]# vim /var/named/abc.com.zone.two
$TTL 86400
@ IN SOA abc.com. admin.abc.com. (
42
3H
15M
1W
1D )
IN NS abc.com.
www IN A 10.0.0.101
hat IN A 10.0.0.101
5、这样基本就OK了,重启named服务 把1.30和1.31的DNS配置成1.30然后进行测试
(1)[root@dns ~]# nslookup
> www.abc.com
Server: 192.168.1.30
Address: 192.168.1.30#53
Name: www.abc.com
Address: 10.0.0.100
(2)C:\\Users\\Administrator>nslookup
默认服务器: bogon
Address: 192.168.1.30
> www.abc.com
服务器: bogon
Address: 192.168.3.37
名称: www.abc.com
Address: 10.0.0.101
到这里DNS的智能解析就OK了,其实就这么简单。
二、 接下来我们讲一下bind的只能DNS转发
其实智能转发和智能解析差不多,但是我在做智能转发的时候纠结了很长时间。
因为我要测试,但是我刚装完DNS配置完成上面的步骤后不但可以解析abc.com还可以解析外网的地址(我的机器是能上网的),所以我很纠结,我还没有做转发就可以解析外网的郁闷
后来经过了解知道bind在默认情况下是允许递归查询的,当他在你的DNS上找不到域名的时候就会递归到公网上面的跟区域去查询。当然,这个步骤有点慢,所以在公司里面还是做一下转发比较好。
1、 我们还是以上面的A、B机器为例。目的是把A、B机器访问公网是分别解析到电信和联通的DNS
2、 [root@dns ~]# vim /etc/named.conf
options {
directory \"/var/named\";
forward only; //只进行转发
};
view \"one\" {
match-clients {192.168.1.30;};
forwarders {xxx.xxx.xxx.xxx;}; //xxx.xxx.xxx.xxx为电信DNS
};
view \"two\" {
match-clients {192.168.1.31;};
forwarders {xxx.xxx.xxx.xxx;}; //xxx.xxx.xxx.xxx为联通DNS
};
你们也可以在view下面添加zone 这里我只做一下简单的转发介绍
3、 然后测试一下看看是不是把A、B机器访问百度是转发到了不同的DNS。
这是我刚测试过的,共同学习,共同进步。
因篇幅问题不能全部显示,请点此查看更多更全内容