网上很多关于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.root和root.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都不会的话,看到这里也没什么意义.