使用ntbind架设Windows下的DNS服务器

原文参考: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命令,需要再去学习学习。

你可能感兴趣的:(dns)