有些公司技术力量薄弱一些,一直在用windows系统,所以本文从windows出发,安装bind,利用它的view功能,做智能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

csdn下载地址:http://download.csdn.net/download/hanghangaidoudou/9897268

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


三,DNS服务器配置

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


3.2 产生rhdc.key文件
打开DOS窗口,进dns目录,用rndc-config.exe程序生产rndc.key。

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 内容如下:

复制代码 代码如下:

acl "trust-lan" { 127.0.0.1/8; 192.168.0.0/16; };
#全局参数设置,对整个bind有效
options {
directory "C:\WINDOWS\system32\dns\etc";
#recursion yes;
version "0.0.0"; #屏蔽版本
allow-transfer { “trust-lan”; }; #允许trust-lan里的IP从主DNS上进行区域传输
allow-notify { “trust-lan”; }; #从服务器接收主服务器的更新通知
allow-query { “trust-lan”; }; #允许普通查询
allow-recursion{ “trust-lan” }; #打开BIND递归查询功能
auth-nxdomain no; #默认值为0,若为yes,则AA位将一直设置为NXDOMAIN响应
forwarders { #把DNS请求转发至上一级DNS商
202.96.134.133;
202.103.96.112;
};
};
#这一段KEY内容来自rndc.conf,加上这段,好用rndc控制dns进程
include "C:\WINDOWS\system32\dns\etc\rndc.key";
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
logging {
channel warning #下面内容会介绍新建dns_warnings.txt与dns_logs.txt
{ file "C:\WINDOWS\system32\dns\log\dns_warnings.txt" versions 3 size 1240k;
severity warning;
print-category yes;
print-severity yes;
print-time yes;
};
channel general_dns
{ file "C:\WINDOWS\system32\dns\log\dns_logs.txt" versions 3 size 1240k;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category default { warning; };
category queries { general_dns; };
};
include "cnc.conf"; #将网通的IP地址范围数据,包含进来
view "view_cnc" { #判断如果是网通的地址范围,则会执行此处(读取cnc.def文件)
match-clients { CNC; };
zone "." {
type hint;
file "named.root";
};
zone "0.0.127.IN-ADDR.ARPA" {
type master;
file "localhost.rev";
};
include "C:\WINDOWS\system32\dns\etc\master\cnc.def"; #自定义域名,内容在cnc.def
};
view "view_any" { # 判断是非网通的ip地址范围,则会执行此处(读取telecom.def文件)
match-clients { any; };
zone "." {
type hint;
file "named.root";
};
zone "0.0.127.IN-ADDR.ARPA" {
type master;
file "localhost.rev";
};
include "C:\WINDOWS\system32\dns\etc\master\telecom.def";
};

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

复制代码 代码如下:

# 2012-03-19 11:50 by liuguohua.com
#
acl "CNC" {
192.168.134.0/24;
192.168.145.0/24;
};

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内容

复制代码 代码如下:

zone "qq.com" {
type master;
file "C:\WINDOWS\system32\dns\etc\master\cnc_qq.com.txt";
};

telecom.def内容

复制代码 代码如下:

zone "qq.com" {
type master;
file "C:\WINDOWS\system32\dns\etc\master\tel_qq.com.txt";
};

cnc_qq.com.txt内容

复制代码 代码如下:

$TTL 3600
@ IN SOA ns1.qq.com. root.qq.com.(
2012031620 ;
3600 ;
900 ;
68400 ;
15 );

@ IN NS ns1.qq.com.
ns1 IN A 192.168.145.228
www IN A 112.90.180.1

tel_qq.com.txt内容

复制代码 代码如下:

$TTL 3600
@ IN SOA ns1.qq.com. root.qq.com.(
2012031602 ;
3600 ;
900 ;
68400 ;
15 );

@ IN NS ns1.qq.com.
ns1 IN A 192.168.145.228
www IN A 119.145.254.1

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

3.7 bind整体目录结构:

3.8 启动服务
3.8.1启动bind
到windows的服务管理工具里,找到ISC BIND服务,点右键进行启动,大家可以看到这个服务器是随操作系统启动而自动启动的,启动时用的帐号是named。

3.8.2查看日志
正常启动时,dns_warnings.txt文件大小应该是0,如果大于0,肯定是有报警或错误之类的,打开查看内容即可。

在windows事件查看器里也可以查到有关named信息,正常情况下,在“类型”字段中不应出现红色警告。

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。
本次测试,从图上看都正常。

四、工作轻松化

4.1把C:\WINDOWS\system32\dns发送一个快捷方式到桌面,以后要新增域名或A记录,直接在桌面找文件就是了。
4.2建立一个reload_bind.bat文件,新增A记录或域名后,双击bat重载bind即可,没必要每次都到管理工具里去重启服务,内容如下:

复制代码 代码如下:

@echo off
C:\WINDOWS\system32\dns\bin\rndc reload
Pause

本文出自 “系统网络运维” 博客

DNS Bind9在windows7下相关推荐

  1. Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件)...

    什么是Node.js?还服务器端javascript?对于这个概念我在这篇文章不做解释,可以自己去搜索了解下,服务器端js不是新技术,只是最近的node.js的火爆让他爆发了,我会在以后的文章里解释什 ...

  2. DNS bind9配置

    DNS bind9配置 转载地址:http://blog.163.com/am_hk/blog/static/103375926201310125158117/ 服务器环境:cent os 5.8 i ...

  3. windows7下解决caffe check failed registry.count(type) == 1(0 vs. 1) unknown layer type问题

    在Windows7下调用vs2013生成的Caffe静态库时经常会提示Check failed: registry.count(type) == 1 (0 vs. 1) Unknown layer t ...

  4. windows7下安装MongoDB数据库

    写在当前 最近在学习nodejs做服务端,于是使用express+mongodb数据库,在网上找了如何在windows7下安装MongoDB, 我是win764位,下载地址https://www.mo ...

  5. ThinkPad R400在Windows7下的几个问题

    新入手一台ThinkPad的R400,具体型号为2784A33.原带的OS为Vista Home Basic,做好备份后重新安装Windows 7,Windows 7在此机上基本可以正常使用. 为什么 ...

  6. doc如何装oracle,在Windows7下安装Oracle.doc

    在Windows7下安装Oracle.doc 1. 解决在Windows7下Oracle10G无法安装问题文章分类JavaEye 安装完Windows 7后,接着安装Oracle 10g出现问题. 使 ...

  7. Windows7下如何设置MyEclipse2014字体大小

    转载自   Windows7下如何设置MyEclipse2014字体大小 Java开发工具MyEclipse2014,安装完毕后发现字体过小,并且对眼睛不好,该如何设置这个开发工具里整体字体大小.设置 ...

  8. windows7远程linux,用XManager在Windows7下远程桌面连接Linux

    用XManager在Windows7下远程桌面连接Linux XManager是一个简单易用的高性能的运行在Windows平台上的X-Server软件,而Gnome和KDE就是X-Client,Lin ...

  9. Expression Studio 3在windows7下安装失败

    Expression Studio 3在windows7下安装失败 Microsoft刚刚发布了Expression Studio 3,我也刚刚下载下来,不过安装就出了问题 双击ExpressionS ...

最新文章

  1. 线性表之顺序表(C语言实现)
  2. 一小段jQuery代码的分析与优化
  3. Python之SQLAlchemy学习
  4. 戏说 .NET GDI+系列学习教程(三、Graphics类的方法的总结)
  5. 计算机等级考试二级Python讲座(三)
  6. 机器学习基础(四十八)—— 概率
  7. ES6入门之let、cont
  8. 安装MYSQL出现checking for termcap functions
  9. IIS发布web网站
  10. CityEngine中如何导出带有属性信息的slpk
  11. RK3568开发板固态硬盘测试
  12. APS54085 外围电路简单_调光无频闪 智能家居照明
  13. 实时换脸技术——直播,视频通话|脸部交换程序
  14. 无人机航模电池上面有20C 30C,这是放电倍率
  15. 《大脑修复术》读书笔记
  16. 宾得常用镜头群[转自东河寒梅]
  17. MEM/MBA数学基础(05)应用题 关键点
  18. 中国大学moocpython笔记_中国大学MOOC的APP(慕课)用Python玩转数据章节答案
  19. sorted与.sort函数及sorted对字典或列表进行排序
  20. 点灯合集(点亮LED、流水灯、8x8点阵、点阵拓展)——附程序

热门文章

  1. 操作系统上机题目(多进程2)
  2. java url下载ics_使用Microsoft Graph API处理外部(Internet / .ics)日历URL
  3. linux 多个java_linux 同时出现两个java进程,新手~ 请详细说明,这个是怎么回事。 我就装了一个jdk...
  4. 转整型_156.Ruby烘焙大理石豆沙吐司解锁大理石花纹整型
  5. python中三级菜单讲解_Python字典实现简单的三级菜单(实例讲解)
  6. [C/C++]关于C++11中的std::move和std::forward
  7. 【计算机系统设计】学习笔记(2)
  8. Java进阶:mysql的事务隔离级别面试题
  9. Use Vim as a Python IDE
  10. 20101008 搬家