原文参考:http://www.68idc.cn/help/notebook/bind/20150106161073.html
提到DNS服务器估计多数技术人员首先想到的是Bind,这也没错,Bind的强大自不用细说。Bind入门不难,但要想架设一个实用环境的DNS服务器即使对于专业的运维人员也比较繁琐。对一般企业的网管来说使用Linux架设一台DNS服务器不是那么容易的一件事,也许在windows下他们更能顺手一些。
Google了下发现Bind很早就有了windows下的版本叫ntbind,网上也有了些教程教网友怎么做一个简单的DNS服务器。只是这些教程好像只有一个作者,然后其它人都是复制粘贴了下,连原作者写的两处错误代码也一样复制了过来,这两个小错误对老鸟来说很容易就能搞定,但对新手来说恐怕要头疼半天才行,所以我把原教程重新梳理了下,希望能帮到一些刚学做DNS服务器的网友。
首先要做的自然是下载软件ntbind,现在最新版本是9.11.0,不过我测试使用的版本是9.11.0。下载、解压、安装自不用说,默认安装路径为”C:\Program Files\ISC BIND 9”。
注:一些老的文章里面都是9.3以下版本,在windows7上不能运行的。windows7上就用最新版本的,2016-09-27发布的。世界上最好的dns服务器是bind,windows下叫ntbind。下载:http://ftp.isc.org/isc/bind9/9.11.0rc3/ 下载最新版。
安装完成后进入 “C:\Program Files\ISC BIND 9\etc” 目录建立配置文件named.conf,内容如下:
options {
// zone文件的位置
directory "C:\Program Files\ISC BIND 9\etc";
// 无法解析的域名就去查询ISP提供的DNS
// 在下面的IP地址位置上填写ISP的DNS地址
forwarders {
//这里是Alibaba DNS,可以替换成自己的
223.5.5.5;
223.6.6.6;
};
// 仅允许本机和子网内的机器查询
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";
};
// example.com
zone "example.com" IN {
type master;
file "example.com.zone";
};
然后逐个建立named.conf中提到的不能就Bind服务启动必须的几个文件(后缀zone的文件)。
named.root: 点此直接下载
创建文件 localhost.zone:针对localhost的正向解析。代码如下:
$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: 针对localhost的反向解析。代码如下:
$TTL 1D
@ IN SOA localhost. root.localhost. (
2007091701 ; Serial
30800 ; Refresh
7200 ; Retry
604800 ; Expire
300 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
这个就是我的域名,你把example.com修改成自己的就好了。
创建文件 example.com.zone:是我们为自己的域的正向解析配置。代码如下
example.com. IN SOA ns1.example.com. root.example.com. (
2007091701 ; Serial
30800 ; Refresh
7200 ; Retry
604800 ; Expire
300 ) ; Minimum
IN NS ns1.example.com.
* IN A 127.0.0.1
这样我们配置文件建立完毕,此时可以启动服务了。进入”C:\Program Files\ISC BIND 9\bin” (添加此目录到环境变量就可以直接运行)目录然后命令行运行:
named -f -g -d 1
安装时有服务的,建议使用服务启动:
启动服务
net start named
停止服务
net stop named
这样无论访问aaa.aaa.example.com还是bbb.example.com都会指向你设置的IP127.0.0.1。
这是一个 使用ntbind架设Windows下DNS服务器的新手教程,至于如何使用srvany将named安装为服务和利用 rndc 命令来控制bind网友可以查阅其它资料。
至于dig命令,需要再去学习学习。