在Win2003中安裝bind
部署智能DNSlinux
前言:
搞LINUX的朋友都知道,bind是linux下的DNS服務軟件,但不少人不清楚,它也能夠運行在windows系統中,windows系統自帶的dns,功能弱,是不能做智能DNS解析的,在windows 2008 R2版也沒有解決這個問題,有些公司技術力量薄弱一些,一直在用windows系統,因此本文從windows出發,安裝bind,利用它的view功能,作智能DNS,解決雙線機房南北電信聯通訪問問題。windows
1、環境:
系統: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、下載並安裝軟件
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目錄下。
服務器
三,DNS服務器配置
3.1目錄賦權
咱們在規劃windows系統時,都會把C盤格式化爲NTFS,根據第二步安裝步驟,bind安裝程序新建了一個named賬號,這個賬號是控制bind相關進程與配置文件的,它不隸屬於任何部門,爲安全性考慮,你們也不要把它加放到administrators組。咱們剛把bind安裝在默認的c:\windows\system32\dns目錄中,因此咱們必須給這個目錄賦權給named賬號讀寫權限。
dom
3.2 產生rhdc.key文件
打開DOS窗口,進dns目錄,用rndc-config.exe程序生產rndc.key。
ide
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。spa
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.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、工做輕鬆化
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