网上很多关于Linux下搭建BIND的教程,关于Windows的很少,而且也有各种问题没解决,有的给的解决办法也不行..

自己搭建摸索了一下,分享下经验.

BIND下载地址:http://ftp.isc.org/isc/

选择你需要的版本,最好是9.x.x以后的版本,之前的好像对Windows支持不是很好,我选择的是9.13.4,下载地址:http://ftp.isc.org/isc/bind9/9.13.4/BIND9.13.4.x64.zip

网上的教程都是教你默认安装在C盘,估计大部分人都跟我一样,不喜欢往C盘塞东西,我默认装在了D:\dns.如下图:


BIND默认给的用户名是named,然后输入你的密码,网上很多教程是基于Windows7搭建的,我不知道他们的权限是如何放的,我在这里尝试N次不成功以后,于是手动在Windows2008的控制面板里新建了一个用户(非管理员),然后安装成功.

安装过程中需要先安装VC2012运行库,安装程序已经集成如果你确定系统中已经安装过,可以跳过此步骤.如图:

安装成功以后的图如下:

然后开始生成key文件.进入DOS,进入你的安装目录的BIN文件夹,然后用rndc-config.exe -a生成rndc.key,生成的rndc.key会在你的安装目录的etc文件夹下.

接下来在你的etc目录开始手动创建named.conf

options { 
 // zone文件的位置 
 directory "C:\Program Files\ISC BIND 9\etc"; 
 // 无法解析的域名就去查询ISP提供的DNS 
 // 在下面的IP地址位置上填写ISP的DNS地址 
 forwarders { 
 //这里是你本机IP或者127.0.0.1 
 127.0.0.1;
 }; 
 // 仅允许本机与192.168.0.0网段内的机器查询 
 allow-query { 
 127.0.0.1; 
 192.168.0.0/24; 
 }; 
}; 
// 根DNS 
zone "." { 
 type hint; 
 file "root.zone"; 
}; 
// localhost 
zone "localhost" IN { 
 type master; 
 file "localhost.zone"; 
 allow-update { none; }; 
}; 
// localhost的反向解析 
zone "0.0.127.in-addr.arpa" { 
 type master; 
 file "localhost.rev"; 
}; 
// 123.com是我们为自己的域的正向解析配置
zone "123.com" IN { 
 type master; 
 file "123.com.zone"; 
};

然后去下载named.rootroot.zone两个文件放到你的etc目录,下载地址:ftp://ftp.rs.internic.net/domain/ 看图:

然后开始创建localhost.zone来进行正向解析

$TTL 1D 
@ IN SOA localhost. root.localhost. ( 
 2007091701 ; Serial 
 30800 ; Refresh 
 7200 ; Retry 
 604800 ; Expire 
 300 ) ; Minimum 
 IN NS localhost. 
localhost. IN A 127.0.0.1

接着创建localhost.rev来进行反向解析

$TTL 1D 
@ IN SOA localhost. root.localhost. ( 
 2007091701 ; Serial 
 30800 ; Refresh 
 7200 ; Retry 
 604800 ; Expire 
 300 ) ; Minimum 
 IN NS localhost. 
1 IN PTR localhost.

然后给安装目录放权,赋予权限的用户就是你安装BIND时候的用户.如图:

接下来启动BIND,网上都是教你在DOS窗口启动,但是我尝试以后启动不了,研究了下还是权限问题,可能Windows2008的权限策略更为严格,有一个简单的办法解决,在Windows系统服务里找到ISC
BIND服务,然后用管理员权限登录服务即可,同样可以启动BIND.经过我测试,没任何问题.如图

OK,搞定,可以创建域名zone文件进行解析了,至于具体怎么弄请自行百度,如果你创建域名zone都不会的话,看到这里也没什么意义.