转自http://charlee.li/build-dns-server-on-win32.html

64位系统system32目录更换为SysWOW64

---------------------------------------------------------------------

相信有很多人都想架设自己的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          ; Serial30800               ; Refresh7200                ; Retry604800              ; Expire300 )               ; MinimumIN      NS      localhost.localhost.        IN      A       127.0.0.1

localhost.rev:针对127.0.0.1的反向解析。

$TTL    1D@       IN      SOA    localhost.    root.localhost. (2007091701          ; Serial30800               ; Refresh7200                ; Retry604800              ; Expire300 )               ; MinimumIN      NS      localhost.
1           IN      PTR     localhost.

example.com.zone:是我们为自己的域的正向解析配置。

example.com.    IN  SOA   ns1.example.com.  root.example.com. (2007091701         ; Serial30800              ; Refresh7200               ; Retry604800             ; Expire300 )              ; MinimumIN    NS        ns1.example.com.*       IN    A         192.168.0.2    ; 将所有域名都泛解析到192.168.0.2上

OK,这几个配置文件写好之后,启动命令行,输入以下命令:

C:\> named -f -g -d 1

即可在控制台启动named。如果不能启动请仔细观察输入结果并自行查找错误。

然后你可以用dig命令来测试返回结果是否正确。

C:\> dig www.google.com
C:\> dig www.sina.com.cn

你也可以打开浏览器,看看能否正常上网。另外因为我们配置了 example.com 的域,所以 abc.example.com 应该能访问你架设在 192.168.0.2 上的 Web 服务器。

一切正常访问之后,我们还有一件事情要做:配置使用 rndc 命令来控制bind。请执行以下命令: C:> cd C:\Windows\system32\dns\etc C:\Windows\system32\dns\etc> rndc-confgen > rndc.conf

即可在 C:\Windows\system32\dns\etc 下生成 rndc.conf 文件。编辑这个文件,并将该文件的后半部分剪切到 named.conf 末尾,配置即完成。

重启 named,然后在命令行输入 rndc reload,应该能在named的控制台看到重新加载配置文件的信息,说明配置成功。

最后一步,利用srvany将named安装为服务,即大功告成。(srvany需要安装Windows 2003 Server Resource Kit)

instsrv ntbind C:\Windows\system32\dns\bin\named.exe

参考文献

  • Replace ms dns with bind9
  • DNS HOWTO, 4.forwarding
  • 内部向けDNSサーバの構築
  • 名前解決の仕組みとゾーンファイルの設定

Windows下架设自己的DNS服务器相关推荐

  1. 在Windows下安装BIND作为DNS服务器

    1.下载BIND     http://ftp.isc.org/isc/bind9/9.4.3/BIND9.4.3.zip 2.安装下载回来是zip的压缩包,解压以后直接双击BINDInstall.e ...

  2. Windows Server 2008 R2 搭建DNS服务器(转)

    Windows Server 2008 R2 搭建DNS服务器 将本机IP设为首选DNS服务器的地址 在dos 下分别输入 nslookup www.mydns.com 和 nslookup 192. ...

  3. Linux下的主辅DNS服务器同步

    Linux下的主辅DNS服务器同步 一.系统环境介绍 二.辅助DNS搭建 1.安装yum包 2.设置服务自启 3.编辑dns主配置文件 4.编辑区域文件 5.配置正向文件 6.配置反向文件 7.重启服 ...

  4. Windows下使用TeamViewer连接远程服务器,以及解决“远程桌面关闭后TeamViewer不能连接”的问题

    Windows下使用TeamViewer连接远程服务器,以及解决"远程桌面关闭后TeamViewer不能连接"的问题 参考文章: (1)Windows下使用TeamViewer连接 ...

  5. 在windows下架设openssh实现资源共享

    本来来说.这种用途是十分罕见的.window之间的共享自身有自己的协议.linux与windows共享也不会哪个傻B想到要在windows下来进行安装.怎么说也是装在linux方便啦.不过确实这种傻B ...

  6. Windows下通过VNC远程访问Linux服务器,并实现可视化

    前言 最近因部门需要,老大想让我在公司Linux服务器上弄个Oracle,以用作部门测试环境的数据库服务器,经过一番折腾后,成功完成了任务.因公司Linux服务器是无图形界面的,本人接触Linux不多 ...

  7. windows下启动/关闭Sybase数据库服务器

    启动.关闭Sybase数据库服务器 一.启动Sybase服务器 在windows下介绍两种方法启动Sybase数据库服务器. 1.通过服务器管理器 依次打开控制面板>管理工具>服务 管理窗 ...

  8. MongoDB学习1——Windows 下配置及启动mongodb服务器

    1.下载mongodb程序:http://lt1.cr173.com/soft2/mongodb.zip 2.解压程序 3.在解压后的mongodb文件夹中创建 data.logs.conf文件夹 4 ...

  9. 转:Windows下WSH/JS实现SVN服务器钩子脚本阻止提交空日志信息和垃圾文件

    http://blog.csdn.net/caikanxp/article/details/8279921 如何强制用户在提交SVN时填写日志信息? 如果用户使用的都是TortoiseSVN客户端,可 ...

最新文章

  1. python filter函数_Python列表的8个实用技巧
  2. python代做收入-代写CSE205留学生程序 代做Python实验程序
  3. json lib java_Json-lib 进行java与json字符串转换之二
  4. 重磅发布!阿里云云效《阿里巴巴DevOps实践指南》
  5. 微信小程序 事件点击后如何动态增删class类名(自用,没毛病)
  6. Java Web学习(三)数据加密方式详解
  7. 12个超炫数据可视化工具_Python5个数据可视化工具
  8. 为什么objc_msgSend必须用汇编实现
  9. adb echo shell 覆盖_一次写shell脚本的经历记录
  10. 在MFC中调用DLL .
  11. lrzsz离线安装方法
  12. CentOS 6.x x86_64 编译安装gcc 4.8.2
  13. CSS | 使用 PostCSS 插件让 Web 应用支持暗黑模式
  14. impala日期格式转换
  15. GB2312编码理解
  16. 深入浅出带你了解磁共振成像基本原理
  17. 让火狐firefox朗读文本
  18. 【shell】笔记|去重复行|删除匹配行|反选删除|反向显示|加减乘除
  19. 如何计算地球球面上两个坐标点之间的弧度
  20. NVM 安装node.js后没有npm

热门文章

  1. CSP-J CSP-S 初赛相关的书籍
  2. 服务端返回中文乱码的分析和解决办法
  3. JAVA 操作BLOB
  4. 如何在保持营养均衡的同时不长肉
  5. 需求疲软?Apple Face ID供应商大幅削减收入预测
  6. 2019年高压电工作业安全生产模拟考试题库及答案
  7. 手把手教你构建 C 语言编译器(8)- 表达式
  8. 基于51单片机的温度监测控制系统仿真程序原理图设计
  9. PHP 生成随机号段的电话号码,PHP手机号正则(多号段)
  10. 笔记本电脑用久了卡顿解决方法