欢迎光临散文网 会员登陆 & 注册

bind for Windows的安装、配置和运行

2023-07-18 11:54 作者:WMProject1217  | 我要投稿

bind for Windows的安装、配置和运行

用过Windows DNS服务器的都知道Windows DNS服务器占用较多RAM,且功能比bind少得多。


某些时候,我们必须在Windows系统上配置DNS服务器,此时选择bind for Windows是建议的。

安装、配置和运行bind for Windows

首先打开ftp://ftp.isc.org/isc/bind9/,从中找一个比较新的版本文件夹打开,此处选择的是9.17.9版本。


下载其中的BIND9.17.9.x64.zip。

使用你最喜欢的压缩文件管理器打开此文件,你会看到其中包含以下内容。


其中BINDInstall.exe是自带的安装程序,但是由于各种原因,本教程不会使用此程序。

在你喜欢的,不包含特殊字符的目录里创建bind文件夹,此处使用的是X:\WMSystem\lib\,然后在其中创建bin和etc文件夹。


将BIND9.17.9.x64.zip像这样完全解压到bind\bin文件夹中。


打开注册表编辑器,切换到到HKEY_LOCAL_MACHINE\SOFTWARE\ISC\BIND(没有就创建),创建字段InstallDir,数据为你bind目录的位置,此处为X:\WMSystem\lib\bind。


然后打开bind\etc文件夹,新建文本文档,然后重命名为named.conf。


使用Visual Studio Code/Visual Studio Codium/Atom/vim/nano或者其他任何可以编辑UTF-8文本文档而不会留下BOM头的文本编辑器打开named.conf,然后写入以下内容。

 

options {

    # 你的bind\etc文件夹完整路径

    directory "X:\WMSystem\lib\bind\etc";

 

    # 如果bind无法解析,会向以下DNS服务器发送查询请求。

    # 可以在下面的IP地址位置上填写ISP的DNS地址。

    forwarders {

        10.1.1.1;

        10.0.1.1;

        8.8.8.8;

        8.8.4.4;

    };

 

    # 允许哪些IP查询。

    # 此处允许了本机和一个A类局域网,如果你要在C类局域网上使用,添加的内容可能为192.168.1.0/24;。

    allow-query {

        127.0.0.1;

        10.0.0.0/8;

    };

};

 

# 根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";

};

 


就像Linux上的bind一样,此处指定了一些域的zone文件和反向解析的rev文件,应该在bind\etc下创建这些文件。


此处文件内容如下。

 

## example.com.zone

$TTL 1D

 

@       IN      SOA     example.com.      root. example.com. (

        2007091701          ; Serial

        30800               ; Refresh

        7200                ; Retry

        604800              ; Expire

        300 )               ; Minimum

 

        IN      NS      example.com.

 

example.com.        IN      A       10.0.10.10

www.example.com.        IN      A       10.0.10.10

*       IN    A         10.0.10.10

 

## 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.

 

## named.root

.                    480717    IN    NS   d.root-servers.net.

.                    480717    IN    NS   b.root-servers.net.

.                    480717    IN    NS   l.root-servers.net.

.                    480717    IN    NS   k.root-servers.net.

.                    480717    IN    NS   f.root-servers.net.

.                    480717    IN    NS   h.root-servers.net.

.                    480717    IN    NS   m.root-servers.net.

.                    480717    IN    NS   c.root-servers.net.

.                    480717    IN    NS   a.root-servers.net.

.                    480717    IN    NS   g.root-servers.net.

.                    480717    IN    NS   i.root-servers.net.

.                    480717    IN    NS   e.root-servers.net.

.                    480717    IN    NS   j.root-servers.net.

 

然后回到bind\bin,新建文本文档,然后重命名为start.cmd,用记事本打开,写入以下内容。

cd /d %~dp0

named -f -g -d 1

pause


用管理员权限执行此脚本,等待一段时间后,你将看到以下窗口,这说明bind已经启动。

如果需要停止bind,仅需关闭这个命令行窗口。


其它

配置rndc

按下Windows+X,然后按下A,使用管理员权限打开cmd,并 cd /d 到bind\bin目录。

输入rndc-confgen –a,按下Enter。

输入rndc-confgen > rndc.conf,按下Enter。


执行后应存在bind\etc\rndc.key和bind\bin\rndc.conf这两个文件。

如果不存在,请在网络上搜索错误代码,依照网络上的教程来试图处理此错误。

named.root的生成

其实named.root可以自动生成,这要求本地计算机网络畅通。

按下Windows+X,然后按下A,使用管理员权限打开cmd,并 cd /d 到bind\bin目录。

输入dig > ../etc/named.root,按下Enter。

执行后应存在bind\etc\named.root。

报错

按照本文的"安装、配置和运行bind for Windows"节来检查,如果没有问题,请按以下步骤修改文件夹安全设置。

右键文件夹属性,切换到"安全"选项卡,单击"高级"。

单击"所有者"旁边的更改按钮,输入Everyone,按下确定。


选中"替换子容器和对象的所有者"。


单击窗口下半部分的"禁用继承"按钮,选择"从此对象中删除所有已继承的权限"。


单击"添加",选择主体,输入Everyone,确定。


在基本权限中勾选完全控制。


勾选"使用可从此对象继承的权限项目替换所有子对象的权限项目",按下确定。


出现的所有提示框都按"是"。


此时权限已经被更新。

如果仍然报错,请在网络上搜索错误代码,依照网络上的教程来试图处理此错误。


bind for Windows的安装、配置和运行的评论 (共 条)

分享到微博请遵守国家法律