Windows Server 2008 智慧 DNS Server 部署指南
文件說明
這份文件是我在公司做過的一個專案,經過部門老大的同意發出來跟大家分享。能做好這個專案首先要感謝前人走過的路和踏過的坑,看了很多大牛的文章,只是大部分文章都是比較久之前的了,所以在專案實踐的過程中難免會遇到不少問題。結合前人文章和目前最新的官方文件,於是才有了這篇文章。再次感謝各位大牛的分享。
文件簡介
本文件為 Windows Server 2008 作業系統的部署指南。
適用物件
本文件適用於全司 Windows Server 管理員。
需求分析
使用智慧DNS,自動根據客戶端IP來判斷,在NS伺服器上區分國內和國外的請求,將國內請求解析到國內地址上,國外請求解析到國外地址上。
智慧DNS方案
互盟
互盟股份 著名的CDN服務提供商互盟雲,類似的還有網宿的CloudDNS,八戒DNS
DNSpod(智慧DNS解析服務)
DNSpod簡介 目前已被騰訊收購,軟體原始碼已經開源,宣稱非BIND可以比擬。有興趣的小夥伴可以自行了解一下。
DNSPod是中國第一大DNS解析服務提供商、第一大域名託管商。它除了實時生效、不限制使用者新增的域名和記錄數量、提供URL轉發、搜尋引擎優化、域名共享管理、域名鎖定、IPv6的支援、動態域名解析、API介面、批量修改管理等先進功能外,還擁有:雲DNS、DNSPod DNS Protector(DNSPod 自主研發的DNS 防護軟體)、宕機監控、安全中心、7*24小時專業技術支援。並且所有功能都是免費向所有使用者提供。
CloudXNS
CloudXNS簡介 CloudXNS是北京快網自主研發全新架構的智慧DNS解析系統,提供多元化智慧DNS解析服務。在響應、分發、儲存及負載均衡等設計中使用北京快網私有DNS協議,所有的解析生效都是實時生效,自助解析非常簡單方便.
BIND
BIND(Berkeley Internet Name Daemon)是現今網際網路上最常使用的DNS伺服器軟體,
使用BIND作為伺服器軟體的DNS伺服器約佔所有DNS伺服器的九成。
BIND現在由網際網路系統協會(Internet Systems Consortium)負責開發與維護。
BIND
環境
雲主機IP:172.29.38.22
password: chenbaojia
系統:Windows Server 2008 R2 Enterprise
軟體版本:BIND9.11.1-P1.x64
notepad++編輯器:下載地址
下載
wget http://ftp.isc.org/isc/bind9/9.11.1-P1/BIND9.11.1-P1.x64.zip
安裝
將下載的BIND9.11.1-P1.x64.zip解壓,進入到解壓後的資料夾,執行BINDInstall.exe,在彈出的安裝視窗中輸入一個密碼(這裡我是輸入是:123456),一直預設安裝就行了,不需要更改什麼設定。預設安裝到C:\Program Files\ISC BIND 9
注意 不要勾選安裝完成後開始服務,因為還沒有配置 會提示錯誤!
科普:BIND 9 是用C語言編寫的。在它設計和編寫之時 —— 在20世紀末 —— 這真是一個唯一合乎邏輯的選擇。C語言在閱讀和編寫方面相對簡單,很多平臺都支援它,並且還能生成執行速度飛快的程式碼。 此外,C缺乏能夠支援軟體工程的語言特性,而且完全不安全。
這裡我已經安裝測試過了,所以會提示修復的選項!沒安裝的小夥伴直接點選安裝即可。
科普:Microsoft Visual C++(簡稱Visual C++、MSVC、VC或VC)是微軟公司的C開發工具,具有整合開發環境,可提供編輯C語言,C以及C/CLI等程式語言。VC集成了便利的除錯工具,特別是集成了微軟Windows視窗作業系統應用程式介面(Windows API)、三維動畫DirectX API,Microsoft .NET框架。目前最新的版本是Microsoft Visual C 2015。
至此BIND 安裝完畢!
DNS Server 配置
目錄賦權
我們在規劃windows系統時,都會把C盤格式化為NTFS,根據第二步安裝步驟,bind安裝程式新建了一個named帳號,這個帳號是控制bind相關程序與配置檔案的,它不隸屬於任何部門,為安全性考慮,大家也不要把它加放到administrators組。我們剛把bind安裝在預設的C:\Program Files\ISC BIND 9目錄中,所以我們必須給這個目錄賦權給named帳號讀寫許可權。
至此bind安裝預設的C:\Program Files\ISC BIND 9目錄我們已經給這個目錄讓named使用者有讀寫許可權。
生成rhdc.key檔案
開啟DOS視窗,進C:\Program Files\ISC BIND\bin目錄,用rndc-config.exe程式生產rndc.key。
rndc-confgen.exe -a (執行完成後會在etc目錄下生成rndc.key)
配置檔案
新建named.conf主配置檔案,Linux系統安裝好bind,會有一個named.conf模組,而windows系統下,並沒有這個檔案,
進入C:\Program Files\ISC BIND 9\etc目錄,用記事本(notepad) 建 named.conf 內容如下:
配置檔案/named.conf
配置檔案/china.humengyun.com.zone
配置檔案/humengyun.com.zone
配置檔案/chinaiplist.acl
載入比較慢(7000多行IP地址)
chinaiplist.acl
配置檔案/named.ca
測試
在Linux上進行測試
DNS靜態IP為172.29.38.22,主機名為ns.
[[email protected] ~]# dig www.humengyun.com @172.29.38.22
; <> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <> www.humengyun.com @172.29.38.22
;; global options: +cmd
;; connection timed out; no servers could be reached
[[email protected] ~]# dig www.humengyun.com @169.254.88.112; <> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <> www.humengyun.com @169.254.88.112
;; global options: +cmd
;; connection timed out; no servers could be reached
[[email protected] ~]# dig www.humengyun.com @172.28.39.22; <> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <> www.humengyun.com @172.28.39.22
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57529
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1;; QUESTION SECTION:
;www.humengyun.com. IN A;; ANSWER SECTION:
www.humengyun.com. 600 IN A 172.28.39.1 #因為我們把172.0.0.0/8的網段放在中國IP表中,所以返回的IP是大陸的Server IP :172.28.39.1。配置見圖1-1;; AUTHORITY SECTION:
humengyun.com. 600 IN NS ns.humengyun.com.;; ADDITIONAL SECTION:
ns.humengyun.com. 600 IN A 172.28.39.1;; Query time: 9 msec
;; SERVER: 172.28.39.22#53(172.28.39.22)
;; WHEN: Thu Jun 15 01:46:05 2017
;; MSG SIZE rcvd: 84
圖1-1
現在把中國列表的IP172.0.0.0./8網段移除,那麼我們就會被解析到國外的伺服器IP上。
[[email protected] ~]# dig www.humengyun.com @172.28.39.22
; <> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <> www.humengyun.com @172.28.39.22
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43828
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1;; QUESTION SECTION:
;www.humengyun.com. IN A;; ANSWER SECTION:
www.humengyun.com. 600 IN A 172.28.39.99;; AUTHORITY SECTION:
humengyun.com. 600 IN NS ns.humengyun.com.;; ADDITIONAL SECTION:
ns.humengyun.com. 600 IN A 172.28.39.99 #可以看到已經解析到國外的Server IP:172.28.39.99;; Query time: 5 msec
;; SERVER: 172.28.39.22#53(172.28.39.22)
;; WHEN: Thu Jun 15 01:55:29 2017
;; MSG SIZE rcvd: 84
至此全文完,大家如果在實踐過程中遇到問題,可以加入運維派交流群:QQ群:201777608、526871767、1689067(加群時註明:運維派)