懶的更新到blogger了

本站2010年10月以後的,都更新到google docs上了:
連結在這裡

2006/06/01

[心得]安裝 DNS 使用 BIND 9.3.2

雖然我自己的分類是定位在[心得],可是,如果能不動我是不會想
動 DNS 的東西的。

話說學校的 dns伺服器,架在p200且安裝FreeBSD 2.X 的機器上,現在都到FreeBSD6.1了,
不過,舊機器如果是穩定的在運作,就讓它繼續跑吧……
但是,這一陣子,學校的對外網路好像不太穩定,
最初的狀況是「除了.tw」以外的網站都可以連……這真是太神奇了,
可是…這樣的日子不好過,只能設網路中心的代理伺服器過日子,
一直到今天,似乎是所有的網站都不能連了(當然,直接用ip或設代理的一直是可以連的),
也跟別校討論過,別校沒有這種問題,所以,應該還是學校自己內部dns有問題。

這台舊電腦的 DNS 也不知道是bind幾版的…好像是4吧,
可以在 /etc/rc.conf 裡面 enable dns(忘了詳細的名稱),並設定bind執行檔的路徑和flag
整體來說是 /usr/sbin/named -b /etc/namedb/named.boot
其中 /etc/namedb/ 裡,放的就是一些設定檔,
在開始發生問題後,有去更新過 named.root 的檔案(ROOT的定義檔)
但好像沒有用。
使用 ps auxw |grep named 和 cat /var/log/messages |grep named
看到的訊息也都是正常的,但就是不能正常的提供 dns 該有的服務
netstat -na 發現 53 port也有在listen。
好吧,灌新版的 bind 吧……

連上google,打上「bind」,再按一下「好手氣」,果然帶到下面的網站
http://www.isc.org/index.pl?/sw/bind/
嗯,手氣不錯 ^^
下載目前的最新版 BIND 9.3.2 ,一邊下載一邊思考……它能在FreeBSD 2.x的環境跑嗎?
下載完了,解開後,不太敢把舊的蓋掉,但又不知怎麼備份舊的,那就安裝到別的地方吧
# ./configure --prefix=/usr/local2
好像看到有很多測出來是……no
不過,還是順利的完成了。接下來
# make
好不好就看這裡了……一段時間過後……沒有錯誤,也就代表順利完成了。
# make install
安裝到 /usr/local2 去吧…(※事後證明,應該照預設就可以了,沒有那麼恐怖)

再來是 bind 9 的設定檔,我並沒有寫過,(倒是有看過很多文章啦)
不過,記得上次研習時,ols3提過他自己有寫產生器給大家使用(for linux)
http://linux.tnc.edu.tw/techdoc/ (連上後,尋找 dns 就可以下載了)
我使用 1.0.5p 版,(是在linux機器上執行後才抓到freebsd機器上用的)
下載解開後,有一個可執行檔,執行後會問一些問題,然後就產生以下6個檔

*要copy到/etc/裡的:
1. named.conf : 主要設定檔,裡面會記錄其他檔案的位置(預設到 /var/named)

*所以,以下檔案請copy到 /var/named裡 (若目錄不存在,請自己產生)
2. db.xxxx.yy.edu.tw : 正解檔,請自行依實際內容增修(裡面有範例),記得序號也要改
3. db.163.2x.xxx : 反解檔,請自行依實際內容增修(裡面有範例),記得序號也要改
4. localhost : 本機正解檔 除了序號,都不用改吧
5. rev-127.0.0 : 本機反解檔 除了序號,都不用改吧
6. named.ca : 定義 ROOT 的檔案,這是一定要的,正常情況下是不用修改的

準備好了,好壞就看現在
# ps aux |grep named
找出原來的 named 的pid是88
# kill 88 (不後悔了)
再來執行新的吧
# /usr/local2/sbin/named (不加參數,預設去讀取 /etc/named.conf )
耶~沒有錯誤訊息,太棒了!
# cat /var/log/messages 看一下
好像有一些不知什麼錯誤,但最後有顯示 running....
測一下吧,ping我們的第一學府(以前 .tw的都不行嘛)
# ping www.ntu.edu.tw
ok,有得到 ip 且有回應……太好了!

再來就把 /etc/rc.conf 的 named執行檔位置改一下(有沒有用下次重開機就知道了)

好吧,暫時就這樣,希望是沒有問題才好,這幾天要好好的觀察看看了 :)