在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目錄下。
 
 

三,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 內容如下:
 

  1. acl "trust-lan" { 127.0.0.1/8; 192.168.0.0/16; }; 
  2. #全局參數設置,對整個bind有效 
  3. options { 
  4.  
  5. directory "C:\WINDOWS\system32\dns\etc"; 
  6. #recursion yes; 
  7. version "0.0.0"; #屏蔽版本 
  8. allow-transfer { “trust-lan”; }; #允許trust-lan裏的IP從主DNS上進行區域傳輸 
  9. allow-notify { “trust-lan”; }; #從服務器接收主服務器的更新通知 
  10. allow-query { “trust-lan”; }; #允許普通查詢 
  11. allow-recursion{ “trust-lan” }; #打開BIND遞歸查詢功能 
  12. auth-nxdomain no; #默認值爲0,若爲yes,則AA位將一直設置爲NXDOMAIN響應 
  13. forwarders { #把DNS請求轉發至上一級DNS商 
  14. 202.96.134.133; 
  15. 202.103.96.112; 
  16. }; 
  17.  
  18. }; 
  19.  
  20. #這一段KEY內容來自rndc.conf,加上這段,好用rndc控制dns進程 
  21. include "C:\WINDOWS\system32\dns\etc\rndc.key"; 
  22. controls { 
  23. inet 127.0.0.1 port 953 
  24. allow { 127.0.0.1; } keys { "rndc-key"; }; 
  25. }; 
  26.  
  27. logging { 
  28. channel warning #下面內容會介紹新建dns_warnings.txt與dns_logs.txt 
  29. { file "C:\WINDOWS\system32\dns\log\dns_warnings.txt" versions 3 size 1240k; 
  30. severity warning; 
  31. print-category yes; 
  32. print-severity yes; 
  33. print-time yes; 
  34. }; 
  35.  
  36. channel general_dns 
  37. { file "C:\WINDOWS\system32\dns\log\dns_logs.txt" versions 3 size 1240k; 
  38. severity info; 
  39. print-category yes; 
  40. print-severity yes; 
  41. print-time yes; 
  42. }; 
  43.  
  44. category default { warning; }; 
  45. category queries { general_dns; }; 
  46. }; 
  47.  
  48. include "cnc.conf"; #將網通的IP地址範圍數據,包含進來 
  49.  
  50. view "view_cnc" { #判斷如果是網通的地址範圍,則會執行此處(讀取cnc.def文件) 
  51. match-clients { CNC; }; 
  52.  
  53. zone "." { 
  54. type hint; 
  55. file "named.root"; 
  56. }; 
  57.  
  58. zone "0.0.127.IN-ADDR.ARPA" { 
  59. type master; 
  60. file "localhost.rev"; 
  61. }; 
  62.  
  63. include "C:\WINDOWS\system32\dns\etc\master\cnc.def"; #自定義域名,內容在cnc.def 
  64. }; 
  65.  
  66. view "view_any" { # 判斷是非網通的ip地址範圍,則會執行此處(讀取telecom.def文件) 
  67. match-clients { any; }; 
  68.  
  69. zone "." { 
  70. type hint; 
  71. file "named.root"; 
  72. }; 
  73.  
  74. zone "0.0.127.IN-ADDR.ARPA" { 
  75. type master; 
  76. file "localhost.rev"; 
  77. }; 
  78.  
  79. include "C:\WINDOWS\system32\dns\etc\master\telecom.def"; 
  80. }; 

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

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

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. type master; 
  3. file "C:\WINDOWS\system32\dns\etc\master\cnc_qq.com.txt"; 
  4. }; 


telecom.def內容

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

cnc_qq.com.txt內容
 

  1. $TTL 3600 
  2. @ IN SOA ns1.qq.com. root.qq.com.( 
  3.          2012031620 ; 
  4.          3600 ; 
  5.          900 ; 
  6.          68400 ; 
  7.          15 ); 
  8.  
  9. @    IN NS ns1.qq.com. 
  10. ns1  IN A 192.168.145.228 
  11. www  IN A 112.90.180.1 

tel_qq.com.txt內容

  1. $TTL 3600  
  2. @ IN SOA ns1.qq.com. root.qq.com.(  
  3.          2012031602 ;  
  4.          3600 ;  
  5.          900 ;  
  6.          68400 ;  
  7.          15 );  
  8.   
  9. @ IN NS ns1.qq.com.  
  10. ns1 IN A 192.168.145.228  
  11. 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即可,沒必要每次都到管理工具裏去重啓服務,內容如下:
 

  1. @echo off 
  2. C:\WINDOWS\system32\dns\bin\rndc reload 
  3. Pause 


 

本文出自 “系統網絡運維” 博客,請務必保留此出處http://369369.blog.51cto.com/319630/811179

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章