日期:2014-05-17  浏览次数:21241 次

Windows下架设自己的DNS服务器 NTBind
Windows下架设自己的DNS服务器
发表于 2007-09-17 由 charlee 相信有很多人都想架设自己的DNS服务器。我们知道世界上最好用的DNS服务器软件就是BIND;但是我辈使用Windows操作系统的人就无福享用这Unix下的顶级软件了。

或者可以用Windows Server自带的DNS服务器试试?需要安装Server版的Windows不说,麻烦的配置和令人迷惑的图形界面就够受的了。

难道就没有一个解决方案了吗?

柳暗花明又一村,突然发现BIND居然有Windows版,这这这………… 赶快下载下来试一下,居然成功地配好了DNS。


BIND的Windows版叫做ntbind,在isc的ftp上有下载。我下载的是ntbind-9.2.5版。解压之后运行安装程序,默认安装到C:\Windows\system32\dns下。

装好之后就是配置工作了,不过在这之前建议先将 C:\Windows\system32\dns\bin 添加到 PATH 环境变量中,这样配置时就可以用 dig工具来代替难用的 nslookup了。然后再将自己机器的DNS地址改为 127.0.0.1。注意修改DNS时别忘记ISP提供的DNS地址,过一会儿要用到。

打开 C:\Windows\system32\dns\etc 目录,建立配置文件 named.conf,内容如下:

named.conf

options {
    // zone文件的位置
    directory "C:\Windows\system32\dns\etc";

    // 无法解析的域名就去查询ISP提供的DNS
    // 在下面的IP地址位置上填写ISP的DNS地址
    forwarders {
        1.2.3.4;
        1.2.3.5;
    };

    // 仅允许本机和子网内的机器查询
    allow-query {
        127.0.0.1;
        192.168.0.0/24;
    };
};

// 根DNS
zone "." {
    type hint;
    file "named.root";
};

// 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";
};

# End of named.conf
然后逐个建立named.conf中提到的几个文件,都放在 C:\Windows\system32\dns\etc 下。

named.root:可以从ftp.rs.internic.net(匿名FTP)上下载。

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:针对127.0.0.1的反向解析。

$TTL    1D

@       IN      SOA    localhost.    root.localhost. (
        2007091701          ; Serial
        30800               ; Refresh
        7200                ;