利用bind实现智能DNS

智能DNS简介:

智能DNS是域名频道在业界首创的智能解析服务。能自动判断访问者的IP地址并解析出对应的IP地址,使网通用户会访问到网通服务器,电信用户会访问到电信服务器。智能DNS就是根据用户的来路,自动智能化判断来路IP返回给用户,而不需要用户进行选择。解决南北互联问题。

软件及环境:

系统:Redhat 5.5 ×32

软件:bind9.3

主:172.16.170.233;192.168.1.1

安装配置:

1.rpm包安装

rpm �Civh bind-9.3.6.i386.rpm

2.基础配置文件生成

cp /usr/share/doc/bind-9.3.6/sample/named.conf /etc/named.conf

当然也可以自己创建一个name.conf一般我都是自己创建的,我个人建议那样做,因为无论什么事情都是自己动手做才记忆深刻。

vim /etc/na med.conf201807280.jpg

view lt {

match-clients{ “cnc”}; //定义了来源的IP。如果请求IP在lt的acl中,那调用此view配置。
}

view dx {
match-clients
{ “tel”}; //定义了来源的IP。如果请求IP在dx的acl中,那调用此view配置。
}

3.域名文件目录

lt区域文件: /var/named/liantong.com.zone

acl/var/named/lt_IP.conf

dx 区域文件:/var/named/dianxin.com.zone

acl:/var/named/dx_IP.conf

cat liantong.com.zone

201940284.jpg

cat dianxin.com.zone

201957690.jpg

view视图会根据定义顺序在定义的acl列表查找,将相应结果返回请求者。这次测试分为两部分,网通、电信。

4.检查配置文件以及启动服务

named-checkconf //检查DNS主配置文件正确性

named-checkzone +域名 /var/named/liantong.com.zone //后面这个是域文件存放路径根据情况更改即可。

检查一切都ok没问题之后就可以启动named服务了

默认日志存放在/var/log/message/下,如遇到问题可以根据其中报错来排查

已知问题:

会有报错如下

202023191.jpg

每次都会出现些莫名奇妙的ip地址或者ipv6地址,这些都是从根服务器上面过来的。

问题原因:本机的两个网卡地址不能在一个网段,另外最好不要在本机上面测试。

如果出现ipv6地址可以输入:

cat >> /etc/modprobe.conf<< EOFNTP

alias net-pf-10 off

alias ipv6 off

options loop max_loop=256

EOFNTP

输入这些命令就可以把自动解析ipv6的关闭了。

测试方法:

由于我是基于虚拟机内网,可以分别修改联通和电信的acl,把172.16.170.0/24添加到lt_IP.conf里面,把192.168.1.0/24添加到dx_IP.conf里面。用其他内网机器nslookup测试结果,正常可以得到不同的解析结果。我这里用了两个机器测试的,一个ip为192.168.1.2来测试电信的,一个ip为172.16.170.234来测试联通的。


202043910.jpg

202045979.jpg




你可能感兴趣的:(bind,智能dns,实现智能DNS)