Aristotle
发布于 2023-11-23 / 10 阅读 / 0 评论 / 0 点赞

windows下安装Bind9并配置

windows下安装Bind9并配置

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

参考:在Windows下安装BIND作为DNS服务器

参考:windows10个人版使用ntbind搭建dns服务

参考:DNS:使用 Bind 9 配置权威 DNS 服务器

参考:bind唯一额主配置文件(named.conf)

参考:ISC BIND9 - 最详细、最认真的从零开始的 BIND 9 - DNS服务搭建及其原理讲解 (Debian / Windows)

参考:DNS BIND之log日志

参考:构建企业级DNS系统(五)bind9日志记录

参考:DNS之BIND使用小结(Forward转发)

参考:使用BIND9-dev通过DNS Over TLs和DNS Over HTTPS

======================================================

遇到的问题:

1.安装遇到【bind install unable to install service using this account】,这是前面安装Bind失败后创建了named用户遗留下来的用户.需要删除掉。首先搜索出用户的主目录,删除掉。我使用everything搜索named,清理了所有named的目录和文件。

另外可以参考 如何从 Windows 10 中删除用户配置文件?

2.安装遇到【不能为这个账户创建服务】,这是是因为权限不够。使用管理员权限到开运行【BINDInstall.exe】。

3.cmd下不能运行【rndc-confgen.exe】,使用管理员权限运行cmd在cmd中运行【rndc-confgen.exe】。

3.在目录【C:\Program Files\ISC BIND 9\etc】不能创建创建文件,右键没菜单没有创建文本文件的菜单选项。修改【C:\Program Files\ISC BIND 9】目录的权限,给自己的账户和named账户访问此目录下所有目录和文件的所有权限,注意权限递归到里面的文件和目录。

4.创建密钥,创建配置文件,编辑配置文件。遇到的问题:文件named.conf中的这个节点的配置文件时named.root微信图片_20231123184222.png否则服务启动不起来。

5.运行服务。在开始运行框中输入services.msc服务管理窗口找到【ISC BIND】服务。可以手动启动,也可以设置为自动启动。也可以以管理员权限运行cmd,在cmd中 使用 [net start named]运行服务,使用[net stop named]停止服务

6.其他配置参考了那几个文档。注意配置log。

7.运行起来后,如果想要从外部访问而不是本机,注意防火墙的设置,要放行53端口来自外部的UDP流量。防火墙的设置。


微信图片_20231123225237.png

窗口方式查看的配置又时候不如命令行看起来简洁,如果要查看某一规则的放行情况可以使用这个命令:

netsh advfirewall firewall show rule 规则名称

微信图片_20231123230807.png

这个可以看到边缘遍历为否,开启方式如下。

微信图片_20231123225420.png

logging {
    channel query_log {
        file "query.log"versions 3 size 20m;
        severity info;
        print-time yes;
        print-category yes;
    };

    category queries {
        query_log;
    };
};


完整配置文件如下:


named.conf

options {
#listen-on port 53 {192.168.0.104;};
    directory "C:\Program Files\ISC BIND 9\etc";
    forwarders {
         8.8.8.8;
         8.8.4.4;
         1.1.1.1;
         233.5.5.5;
         233.6.6.6;
     };
 allow-query {
     any; //允许所有外来连接
 };
};
 
logging {
    channel query_log {
        file "query.log"versions 3 size 20m;
        severity info;
        print-time yes;
        print-category yes;
    };
    category queries {
        query_log;
    };
};
 
 // 根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";
};

// 123.com是我们为自己的域的正向解析配置
zone "123.com" IN {
   type master;
   file "123.com.zone";
};

// whalecloudvcenter.com是我们为自己的域的正向解析配置
zone "whalecloudvcenter.com" IN {
   type master;
   file "whalecloudvcenter.com.zone";
};

// whalecloudvcenter.com的反向解析
zone "100.168.192.in-addr.arpa" {
   type master;
   file "whalecloudvcenter.com.rev";
};  

/////自己配置的几个解析zone///
zone "dns.local.server" IN {
   type master;
   file "dns.local.server.zone";
};

zone "px.xxxx.eu.org" IN {
   type master;
   file "px.xxxx.eu.org.zone";
};

zone "hd.xxxx.eu.org" IN {
   type master;
   file "hd.xxxx.eu.org.zone";
};

zone "test.local" IN {
   type master;
   file "test.local.zone";
};

123.com.zone

123.com. IN SOA ns1.123.com. root.123.com. (

 2007091701  ; Serial

 30800  ; Refresh

 7200  ; Retry

 604800  ; Expire

 300 )  ; Minimum

 IN NS ns1.123.com.

* IN A  127.0.0.1


dns.local.server.zone

$TTL 1D
dns.local.server. IN SOA dns.local.server. admin.local.server. (
			      3		; Serial
			 604800		; Refresh
			  86400		; Retry
			2419200		; Expire
			 604800 )	; Negative Cache TTL
; 记录 NS 记录
@				IN			NS			dns.local.server.
; 记录 NS 记录对应的 IP 地址信息
dns.local.server.	IN			A			192.168.0.104
*                   IN			A			192.168.0.104

hd.xxxx.eu.org.zone

$TTL 1D
hd.xxxx.eu.org. IN SOA ns.localhost.server. admin.xxxx.eu.org. (
			      3		; Serial
			 604800		; Refresh
			  86400		; Retry
			2419200		; Expire
			 604800 )	; Negative Cache TTL
; 记录 NS 记录
@				IN			NS			ns.localhost.server.
; 记录 NS 记录对应的 IP 地址信息
ns.localhost.server. IN			A			192.168.0.104
hd.xxxx.eu.org.    IN			A			192.168.0.104


px.xxxx.eu.org.zone

$TTL 1D
px.xxxx.eu.org. IN SOA ns.localhost.server. admin.xxxx.eu.org. (
			      3		; Serial
			 604800		; Refresh
			  86400		; Retry
			2419200		; Expire
			 604800 )	; Negative Cache TTL
; 记录 NS 记录
@				IN			NS			ns.localhost.server.
; 记录 NS 记录对应的 IP 地址信息
ns.localhost.server. IN			A			192.168.0.104
px.xxxx.eu.org.    IN			A			192.168.0.104



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.


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


test.local.zone

$TTL 1D
test.local. IN SOA ns.localhost.server. admin.test.local. (
			      3		; Serial
			 604800		; Refresh
			  86400		; Retry
			2419200		; Expire
			 604800 )	; Negative Cache TTL
; 记录 NS 记录
@				IN			NS			ns.localhost.server.
; 记录 NS 记录对应的 IP 地址信息
ns.localhost.server.			IN			A			192.168.0.104
test.local.                     IN			A			127.0.0.1
a                               IN			A			127.0.0.1
b                               IN			A			127.0.0.1
*                               IN			A			127.0.0.1


whalecloudvcenter.com.rev

$TTL 1D

@ IN SOA whalecloudvcenter.com. root.whalecloudvcenter.com. (

 2007091701  ; Serial

 30800  ; Refresh

 7200  ; Retry

 604800  ; Expire

 300 )  ; Minimum

  IN NS whalecloudvcenter.com.

1  IN PTR whalecloudvcenter.com.


whalecloudvcenter.com.zone

whalecloudvcenter.com. IN SOA ns1.whalecloudvcenter.com. root.whalecloudvcenter.com. (

 2007091701  ; Serial

 30800  ; Refresh

 7200  ; Retry

 604800  ; Expire

 300 )  ; Minimum

 IN NS ns1.whalecloudvcenter.com.

* IN A  192.168.100.1