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.pswp.cn/news/387990.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387990.shtml
英文地址,請注明出處:http://en.pswp.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 …