DNS Bind9在windows7下

有些公司技术力量薄弱一些,一直在用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




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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/387990.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

正确的词典访问方式

unity3d 词典访问Python字典指南 (Python Dictionary Guide) The dictionary is one of the data structures that are ready to use when programming in Python.字典是使用Python进行编程时可以使用的数据结构之一。 在我们开始之前,什么是字典? (Bef…

Vue.js(5)- 全局组件

全局组件 定义组件的语法 Vue.component(组件的名称, { 组件的配置对象 }) 在组件的配置对象中:可以使用 template 属性指定当前组件要渲染的模板结构; 使用组件的语法 把 组件的名称, 以标签的形式,引入到页面上就行; // 导入v…

DNS的几个基本概念:

一. 根域 就是所谓的“.”,其实我们的网址www.baidu.com在配置当中应该是www.baidu.com.(最后有一点),一般我们在浏览器里输入时会省略后面的点,而这也已经成为了习惯。 根域服务器我们知道有13台&#xff…

废水处理计算书 excel_废水监测数据是匿名的吗?

废水处理计算书 excelOur collective flushes help track and respond to Covid-19 and so much more. Your body waste contains harvestable compounds that can reveal your illnesses and diseases, consumption habits, and cosmetic use. Researchers gain insights from…

文件在线预览 图片 PDF Excel Word

1、前端实现pdf文件在线预览功能 方式一、pdf文件理论上可以在浏览器直接打开预览但是需要打开新页面。在仅仅是预览pdf文件且UI要求不高的情况下可以直接通过a标签href属性实现预览 <a href"文档地址"></a> 2、word、xls、ppt文件在线预览功能 word、pp…

数据科学还是计算机科学_您应该拥有数据科学博客的3个原因

数据科学还是计算机科学“Start a Blog to cement the things you learn. When you teach what you’ve learned in the form of a blog you can see the gaps in your knowledge and fill them in” — My Manager (2019)“创建一个博客以巩固您所学到的东西。 当您以博客的形…

D3.js 加标签

条形图还可以配上实际的数值,我们通过文本元素添加数据值。 svg.selectAll("text").data(dataset).enter().append("text").text(function(d){return d;}) 通过 x 和 y 值来定位文本元素。 .attr("text-anchor", "middle").attr("…

oppo5.0以上机器(亲测有效)激活Xposed框架的教程

对于喜欢玩手机的朋友而言&#xff0c;常常会用到xposed框架以及种类繁多功能强大的模块&#xff0c;对于5.0以下的系统版本&#xff0c;只要手机能获得ROOT权限&#xff0c;安装和激活xposed框架是异常简便的&#xff0c;但随着系统版本的迭代&#xff0c;5.0以后的系统&#…

和matlab一样的轻量级

Python&#xff08;英国发音&#xff1a;/ˈpaɪθən/ 美国发音&#xff1a;/ˈpaɪθɑːn/&#xff09;, 是一种面向对象、解释型计算机程序设计语言&#xff0c;由Guido van Rossum于1989年发明&#xff0c;第一个公开发行版发行于1991年。Python是纯粹的自由软件&#xff…

熊猫分发_流利的熊猫

熊猫分发Let’s uncover the practical details of Pandas’ Series, DataFrame, and Panel让我们揭露Pandas系列&#xff0c;DataFrame和Panel的实用细节 Note to the Readers: Paying attention to comments in examples would be more helpful than going through the theo…

redis tomcat session

本机ip为192.168.1.101 1、准备测试环境 两个Tomcat 在Eclipse中新建2个Servers&#xff0c;指定对应的Tomcat&#xff0c;端口号错开。 Tomcat1&#xff08;18005、18080、18009&#xff09; Tomcat2&#xff08;28005、28080、28009&#xff09; 一个Redis Redis下载官网&…

Fiddler抓包-只抓APP的请求

from:https://www.cnblogs.com/yoyoketang/p/6582437.html fiddler抓手机app的请求&#xff0c;估计大部分都会&#xff0c;但是如何只抓来自app的请求呢&#xff1f; 把来自pc的请求过滤掉&#xff0c;因为请求太多&#xff0c;这样会找不到重要的信息了。 环境准备&#xff1…

技术分享 | 基于EOS的Dapp开发

区块链技术是当前最能挑动社会舆论神经&#xff0c;激起资本欲望的现象级技术。去中心化的价值互联&#xff0c;信用共识&#xff0c;新型组织构架&#xff0c;新的生产关系和智能合约&#xff0c;颠覆法币的发行流通体系和记账体系。这些新的技术都让人充满想象&#xff0c;充…

DOCKER windows 安装Tomcat内容

DOCKER windows安装 DOCKER windows安装 1.下载程序包2. 设置环境变量3. 启动DOCKERT4. 分析start.sh5. 利用SSH工具管理6. 下载镜像 6.1 下载地址6.2 用FTP工具上传tar包6.3 安装6.4 查看镜像6.5 运行 windows必须是64位的 1.下载程序包 安装包 https://github.com/boot2doc…

python记录日志_5分钟内解释日志记录—使用Python演练

python记录日志Making your code production-ready is not an easy task. There are so many things to consider, one of them being able to monitor the application’s flow. That’s where logging comes in — a simple tool to save some nerves and many, many hours.使…

理解 Linux 中 `ls` 的输出

理解 Linux 中 ls 的输出ls 的输出会因各 Linux 版本变种而略有差异&#xff0c;这里只讨论一般情况下的输出。 下面是来自 man page 关于 ls 的描述&#xff1a; $ man ls ls - list directory contents 列出文件夹中的内容。 但一般我们会配合着 -l 参数使用&#xff0c;将输…

锁表的进程和语句,并杀掉

查看锁表进程SQL语句1&#xff1a; select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session sess where ao.object_id lo.object_id and lo.session_id sess.sid; 查看锁…

p值 t值 统计_非统计师的P值

p值 t值 统计Here is a summary of how I was taught to assess the p-value in hopes of helping some other non-statistician out there.这是关于如何教会我评估p值的摘要&#xff0c;希望可以帮助其他一些非统计学家。 P-value in Context上下文中的P值 Let’s start wit…

获取对象属性(key)

for…in方法Object.keysObject.getOwnPropertyNames关于对象的可枚举性&#xff08;enumerable&#xff09; var obj {a: 1,b: 2 } Object.defineProperty(obj, c, {value: 3,enumerable: false }) 复制代码enumerable设置为false&#xff0c;表示不可枚举&#xff0c;for…in…

github免费空间玩法

GitHub 是一个用于使用Git版本控制系统的项目的基于互联网的存取服务,GitHub于2008年2月运行。在2010年6月&#xff0c;GitHub宣布它现在已经提供可1百万项目&#xff0c;可以说非常强大。 Github虽然是一个代码仓库&#xff0c;但是Github还免费为大家提供一个免费开源Github …