您的当前位置:首页正文

bind智能DNS解析和转发

2022-10-04 来源:好走旅游网


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。

这是我刚测试过的,共同学习,共同进步。

因篇幅问题不能全部显示,请点此查看更多更全内容