BIND是Berkeley Internet Name Domain Service的简写,由Kevin Dunlap为伯克利的4.3 BSD Unix操作系统编写。BIND是目前最为常见的DNS实现,是迄今为止最流行的DNS系统。它已经被移植到大多数Unix变种上,并且被作为许多供应商的Unix标准配置封装在产品中。BIND甚至已经被移植到微软的indows NT上 了但是版本较低很多功能不能够实现,所以今天把新的bind移植到window下实现其更强大的功能。
1、什么是智能域名服务器,有什么用?
简单的说,就是域名服务器能够按照请求用户的网络地址范围,做出不同的地址解析。(使用BIND9做智能DNS,自动根据客户端IP来判断,网通的用户解析出网通的IP,电信的解析出电信IP测试做的域名)
智能域名服务器在中国的主要作用是解决中国电信和中国网通间存在的问题 -- 当你设置一个服务器在电信的网络上,这个时候网通的用户访问往往很慢,而如果设置在网通则电信访问很慢,要解决这个问题有很多方法,比较容易采用的是:在电信和网通都设置服务器,而后让用户使用不同的域名访问,如电信用户用,而网通用户用 www2.xxx.com访问,但是这样带来的问题是要用户自己判断,并且还需要输入不同域名导致麻烦。
这个时候自然希望能够让用户输入的时候,能够由域名服务器自动判断用户的网络情况,而后提供不同的地址解析,即:当网通的用户访问的时候,域名服务器判断(通过访问的域名服务器IP地址范围)到该用户来自网通,则给出设置在网通的机器IP,而如果来自电信则给出电信的。
推而广之,你不仅仅可以作为这个用途,还可以按照网络的情况进行优化,按照不同的IP范围(代表不同的网络区域),将用户带到不同的服务器节点上。
2、如何设置基于Windows 2000/2003平台下的智能域名服务器
Windows 2000/2003本身带有内置的域名服务器系统,但是好像没有找到方法进行这样的设置,因此只好另外找替代方案。
现在我们就要用新的bind9来实现此功能。
首先要到网站上下载bind 当前最新版是 下载bind9 windows版,解压后,执行安装程序,会提示存放目录,比如放在c:\bind 而后运行 BINDInstall.exe 使用默认named用户安装好后先不启动服务(系统会自动创建named用户,在2008下需要使用复杂密码),因为会出现1067错误,要先进入bin目录,运行rndc-confgen -a 会在etc目录生成一个rndc.key文件这个时候可以用net start "ISC BIND"启动bind服务,有可能还会出现出现1067错误这时候应该是bind目录权限不够给named用户权限就可以了。先下载或直接用dig生成named.root
dig > ../etc/named.root
在etc目录下分别配置相应文件比如:(1)test.com.zone
$TTL 2d
@ IN SOA test.com.tw. root.test.com. (
20061205 ; serial 20091010
3h ; refresh
1h ; retry
1w ; expiry
1d ) ; minimum
test.com. IN NS test.com.
www IN A 172.16.14.182
(2)named.root
(3)named.conf
include "c:\bind\etc\rndc.key";
zone "." {
type hint;
file "c:\bind\etc\named.root";#注意路径问题和linux下配置有区别
};
zone "abc.com" {
type master;
file "c:\bind\etc\abc.com.dns";#注意路径问题和linux下配置有区别
};
zone "test.com" {
type master;
file "c:\bind\etc\test.com.zone";
};
最简单的dns就配置好了
全部配置完成后,可以进入Windows 服务管理器,找到那个叫 ISC Bind的服务,而后选择启动,如果出现错误,请打开你的事件查看器,到应用程序部分看看什么错误。如果没有问题,则已经运行起来了。
3 测试
使用 windows 自带的 nslookup 测试,进入Dos,而后输入: nslookup - 域名服务器IP,而后输入域名看看测试不同的地方不同的结果
测试不同的地方不同的结果:
1、只需要用notepad打开 acl.conf ,加上一行: 你指定的IP地址,例如 172.16.14.182/24 (一定记住加上/24);保存,重新将ISC Bind 停止/启动一次,在你刚才输入IP地址的那台机器上使用nslookup -域名服务器IP来查看,看看给你的这台机器的地址是否已经是网通的了? 而在不是这个IP的机器上测试,则会给你电信的IP。
*如果你的Windows 系统开启了防火墙,请配置一个特例,以便DNS服务可以被访问, UDP/Port:53
阅读(2059) | 评论(0) | 转发(0) |