windows下安装Bind9并配置
参考:windows10个人版使用ntbind搭建dns服务
参考:ISC BIND9 - 最详细、最认真的从零开始的 BIND 9 - DNS服务搭建及其原理讲解 (Debian / Windows)
参考:使用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否则服务启动不起来。
5.运行服务。在开始运行框中输入services.msc服务管理窗口找到【ISC BIND】服务。可以手动启动,也可以设置为自动启动。也可以以管理员权限运行cmd,在cmd中 使用 [net start named]运行服务,使用[net stop named]停止服务
6.其他配置参考了那几个文档。注意配置log。
7.运行起来后,如果想要从外部访问而不是本机,注意防火墙的设置,要放行53端口来自外部的UDP流量。防火墙的设置。
窗口方式查看的配置又时候不如命令行看起来简洁,如果要查看某一规则的放行情况可以使用这个命令:
netsh advfirewall firewall show rule 规则名称
这个可以看到边缘遍历为否,开启方式如下。
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