You may delay, but time will not.

8月 09, 2009

Bind9 DNS running on Windows XP

最近剛換網域名,從 myplace.idv.tw換成allenc.tw。
感覺好像沒事找事做一樣,突然一堆東西得弄。
除了blog的路徑要改、一些頁面需要redirect、也偷學matt cutts一樣, 在allen.tw寫一些簡介加自已的照片再放上自已blog的路徑,實在是有點假掰。








以上算是碎嘴的部份。重點是得在我電腦上放DNS…

因為我現在沒專門在run linux的機器 (突然想起來有台放在研究所,畢業了也沒拿回來,三年多了應該不見了 @@),所以為了方便就找看有沒dns可以跑在xp上的。
後來發現Bind在xp上也是free的版本。到這download
下面是一些步驟,說明如何利用這Bind在xp上建立DNS。
1. 下載完後解壓縮。
2. 在解壓縮的目錄下,找到BINDinstall.exe雙擊安裝
3. 出現安裝程式有以下的項目需填寫:
  • Target Directory: c:\named
  • Service Account Name: named  (它就會自動幫你建一個named的帳號囉~)
  • Service Account Password: 輸入一個你常用好記不容易被破的
  • Confirm Service Account Password:再輸入上頭的密碼一遍
接著記得選”Automatic Startup”和”Keep config files after uninstall”。一個是預設開機自動啟動,一個是保留安裝後你寫的設定檔,以免在解除安裝時也刪掉,不然你之後還得重寫一遍。
之後就按Install,就開始安裝到完畢囉。
接著需要設定一下你的Bind
1. 在c:\named下建一個zones。(c:\named\zones)
2. 在c:\named\etc下寫一個叫named.conf的檔案,有大概以下內容(我拿自已的部份內容做例子,自已要改一下嘿),
options {
directory “c:\named\zones”;
allow-transfer { none; };
recursion no;
};
zone “allenc.tw” IN {
type master;
file “db.allenc.tw”;
allow-transfer { none; };
};
options {
directory “c:\named\zones”;
allow-transfer { none; };
recursion no;
};
zone “allenc.tw” IN {
type master;
file “db.allenc.tw”;
allow-transfer { none; };
};
3. 在c:\named\zones下寫一個叫db.allenc.tw的檔案,有大概以下內容 (我拿自已的部份內容做例子,自已要改一下嘿),  這設定檔滿有趣的,之後再寫一遍相關的設定。下頭2009080901的格式為yyyymmddcc(yyyy為西元年,mm為月,dd為日,cc為版號),基本上yyyymmdd設定為你設定dns的那天,cc第一次設都寫為01就行了。
$TTL 6h
@ IN SOA dns.allenc.tw. hostmaster.allenc.tw. (
2009080901
10800
3600
604800
86400 )
@ NS dns.allenc.tw.
4. 在命令列下下下列的指令
  • cd c:\named\bin
  • rndc-confgen -a
  • rndc-confgen > ..\etc\rndc.conf
5. 打開剛剛產生的rndc.conf (在c:\named\etc目錄下)
6. 在裡頭找到這行# Use with the following in named.conf, adjusting the allow list as needed:,複製這行以下所有的部份。
7. 打開c:\named\etc\named.conf
8. 把剛複製的東西接著貼在named.conf裡頭後面
9. 移除剛剛複製出來的部份前頭的#
10.移除最後一行 End of named.conf
11. 存檔
設定的部份大概就是降而已…
接著就是要啟動服務囉
1. 從控制台->系統管理工具->服務
2. 在”ISC Bind”這個服務上按右鍵選開啟服務。
降就啟動囉。
最後有個方便的小技巧。你可以寫個批次檔來重啟你的DNS,以便你之後修改你的zone file (就是上頭的db.allenc.tw),可以立即生效。
1. 建立一個叫reset_bind.bat的檔案。裡頭寫入,
@echo off
c:\named\bin\rndc reload
pause
2. 之後雙擊這個reset_bind.bat的檔案就可以重啟你的dns囉~

沒有留言: