在Win2003中安装bind【部署智能DNS】

在Win2003中安装bind
部署智能DNS

前言:
搞LINUX的朋友都知道,bind是linux下的DNS服务软件,但很多人不清楚,它也可以运行在windows系统中,windows系统自带的dns,功能弱,是不能作智能DNS解析的,在windows 2008 R2版也没有解决这个问题,有些公司技术力量薄弱一些,一直在用windows系统,所以本文从windows出发,安装bind,利用它的view功能,做智能DNS,解决双线机房南北电信联通访问问题。

一、环境:
系统:Windows 2003 Enterprise Edition sp2
软件:Bind9.9.0( for windows)
设计解析的域名及IP地址:
www.qq.com 电信IP:119.145.254.1
www.qq.com 联通IP:112.90.180.1

二、下载并安装软件

2.1下载
bind官网地址:http://www.bind.com/
bind下载地址:ftp://ftp.isc.org/isc/bind9/9.9.0/BIND9.9.0.zip

2.2安装
将下载的BIND9.9.0.ZIP解压,进入到解压后的文件夹,运行 BINDInstall.exe,在弹出的安装窗口中输入一个密码,一直默认安装就行了,不需要更改什么设置。默认安装到 windows\system32\dns目录下。
在Win2003中安装bind【部署智能DNS】
在Win2003中安装bind【部署智能DNS】

在Win2003中安装bind【部署智能DNS】

在Win2003中安装bind【部署智能DNS】

三,DNS服务器配置

3.1目录赋权
我们在规划windows系统时,都会把C盘格式化为NTFS,根据第二步安装步骤,bind安装程序新建了一个named帐号,这个帐号是控制bind相关进程与配置文件的,它不隶属于任何部门,为安全性考虑,大家也不要把它加放到administrators组。我们刚把bind安装在默认的c:\windows\system32\dns目录中,所以我们必须给这个目录赋权给named帐号读写权限。
在Win2003中安装bind【部署智能DNS】

在Win2003中安装bind【部署智能DNS】
在Win2003中安装bind【部署智能DNS】

在Win2003中安装bind【部署智能DNS】

3.2 产生rhdc.key文件
打开DOS窗口,进dns目录,用rndc-config.exe程序生产rndc.key。
在Win2003中安装bind【部署智能DNS】

rndc-confgen -a (运行完成后会在etc目录下生成rndc.key)
rndc-confgen > ..etcrndc.conf

3.3 新建named.conf主配置文件
Linux系统安装好bind,会有一个named.conf模块,而windows系统下,并没有这个文件,所以不熟悉bind的朋友,建议参考linux下的格式进行编写。
进入etc目录,用记事本(notepad) 建 named.conf 内容如下:


  1. acl"trust-lan"{127.0.0.1/8;192.168.0.0/16;};
  2. #全局参数设置,对整个bind有效
  3. options{
  4. directory"C:\WINDOWS\system32\dns\etc";
  5. #recursionyes;
  6. version"0.0.0";#屏蔽版本
  7. allow-transfer{“trust-lan”;};#允许trust-lan里的IP从主DNS上进行区域传输
  8. allow-notify{“trust-lan”;};#从服务器接收主服务器的更新通知
  9. allow-query{“trust-lan”;};#允许普通查询
  10. allow-recursion{“trust-lan”};#打开BIND递归查询功能
  11. auth-nxdomainno;#默认值为0,若为yes,则AA位将一直设置为NXDOMAIN响应
  12. forwarders{#把DNS请求转发至上一级DNS商
  13. 202.96.134.133;
  14. 202.103.96.112;
  15. };
  16. };
  17. #这一段KEY内容来自rndc.conf,加上这段,好用rndc控制dns进程
  18. include"C:\WINDOWS\system32\dns\etc\rndc.key";
  19. controls{
  20. inet127.0.0.1port953
  21. allow{127.0.0.1;}keys{"rndc-key";};
  22. };
  23. logging{
  24. channelwarning#下面内容会介绍新建dns_warnings.txt与dns_logs.txt
  25. {file"C:\WINDOWS\system32\dns\log\dns_warnings.txt"versions3size1240k;
  26. severitywarning;
  27. print-categoryyes;
  28. print-severityyes;
  29. print-timeyes;
  30. };
  31. channelgeneral_dns
  32. {file"C:\WINDOWS\system32\dns\log\dns_logs.txt"versions3size1240k;
  33. severityinfo;
  34. print-categoryyes;
  35. print-severityyes;
  36. print-timeyes;
  37. };
  38. categorydefault{warning;};
  39. categoryqueries{general_dns;};
  40. };
  41. include"cnc.conf";#将网通的IP地址范围数据,包含进来
  42. view"view_cnc"{#判断如果是网通的地址范围,则会执行此处(读取cnc.def文件)
  43. match-clients{CNC;};
  44. zone"."{
  45. typehint;
  46. file"named.root";
  47. };
  48. zone"0.0.127.IN-ADDR.ARPA"{
  49. typemaster;
  50. file"localhost.rev";
  51. };
  52. include"C:\WINDOWS\system32\dns\etc\master\cnc.def";#自定义域名,内容在cnc.def
  53. };
  54. view"view_any"{#判断是非网通的ip地址范围,则会执行此处(读取telecom.def文件)
  55. match-clients{any;};
  56. zone"."{
  57. typehint;
  58. file"named.root";
  59. };
  60. zone"0.0.127.IN-ADDR.ARPA"{
  61. typemaster;
  62. file"localhost.rev";
  63. };
  64. include"C:\WINDOWS\system32\dns\etc\master\telecom.def";
  65. };

3.4建立联通IP地址ACL策略文件
在WINDOWS\system32\dns\etc\建立cnc.conf文件
cnc.conf内容如下:


  1. #2012-03-1911:50byliuguohua.com
  2. #
  3. acl"CNC"{
  4. 192.168.134.0/24;
  5. 192.168.145.0/24;
  6. };

3.5自定义域名文件
在C:\WINDOWS\system32\dns\etc下新建master文件夹
在C:\WINDOWS\system32\dns\etc\master下新建四个文件cnc.def,telecom.def,
cnc_qq.com.txt,tel_qq.com.txt。

cnc.def内容


  1. zone"qq.com"{
  2. typemaster;
  3. file"C:\WINDOWS\system32\dns\etc\master\cnc_qq.com.txt";
  4. };


telecom.def内容


  1. zone"qq.com"{
  2. typemaster;
  3. file"C:\WINDOWS\system32\dns\etc\master\tel_qq.com.txt";
  4. };

cnc_qq.com.txt内容


  1. $TTL3600
  2. @INSOAns1.qq.com.root.qq.com.(
  3. 2012031620;
  4. 3600;
  5. 900;
  6. 68400;
  7. 15);
  8. @INNSns1.qq.com.
  9. ns1INA192.168.145.228
  10. wwwINA112.90.180.1

tel_qq.com.txt内容


  1. $TTL3600
  2. @INSOAns1.qq.com.root.qq.com.(
  3. 2012031602;
  4. 3600;
  5. 900;
  6. 68400;
  7. 15);
  8. @INNSns1.qq.com.
  9. ns1INA192.168.145.228
  10. wwwINA119.145.254.1

3.6建立日志文件
在C:\WINDOWS\system32\dns下新建log文件夹
在C:\WINDOWS\system32\dns\log下新建两个文件dns_logs.txt,dns_warnings.txt

3.7 bind整体目录结构:
在Win2003中安装bind【部署智能DNS】

3.8 启动服务
3.8.1启动bind
到windows的服务管理工具里,找到ISC BIND服务,点右键进行启动,大家可以看到这个服务器是随操作系统启动而自动启动的,启动时用的帐号是named。
在Win2003中安装bind【部署智能DNS】


3.8.2查看日志
正常启动时,dns_warnings.txt文件大小应该是0,如果大于0,肯定是有报警或错误之类的,打开查看内容即可。
在Win2003中安装bind【部署智能DNS】

在windows事件查看器里也可以查到有关named信息,正常情况下,在“类型”字段中不应出现红色警告。
在Win2003中安装bind【部署智能DNS】

3.9测试

3.9.1在windows中用nslookup验证
查询www.qq.com,验证智能dns是否有效,查询www.sohu.com,验证dns有没有转发请求至其它DNS。

3.9.2在linux中用dig验证
查询www.qq.com,验证智能dns是否有效,查询www.sohu.com,验证dns有没有转发请求至其它DNS。
本次测试,从图上看都正常。
在Win2003中安装bind【部署智能DNS】

在Win2003中安装bind【部署智能DNS】

在Win2003中安装bind【部署智能DNS】

在Win2003中安装bind【部署智能DNS】

在Win2003中安装bind【部署智能DNS】

四、工作轻松化

4.1把C:\WINDOWS\system32\dns发送一个快捷方式到桌面,以后要新增域名或A记录,直接在桌面找文件就是了。

4.2建立一个reload_bind.bat文件,新增A记录或域名后,双击bat重载bind即可,没必要每次都到管理工具里去重启服务,内容如下:


  1. @echooff
  2. C:\WINDOWS\system32\dns\bin\rndcreload
  3. Pause


在Win2003中安装bind【部署智能DNS】

本文出自 “系统网络运维” 博客,请务必保留此出处http://369369.blog.51cto.com/319630/811179