2010年2月24日 星期三

BIND 的維護

BIND 的維護

BIND named 的啟動

1.以 root 的身份執行下列命令

/usr/sbin/named

named 會自動去找 /etc/namedb/named.conf 這個設定檔

ps: 如果是 RedHat Linux, 會去找 /etc/named.conf 這個設定檔

2.如果要開機自動啟動的話, 把上面那一行放在 /etc/rc.local 即可

3.在 FreeBSD 下, 另一個自動啟動 named 的方式是在 /etc/rc.conf 中加入

named_enable="YES"

那麼開機時 named 也會自動被執行

ps: 如果是在 RedHat Linux, 可以透過執行 /sbin/ntsysv 來選擇啟動 named

4.如果想要使用 /etc/namedb/named.conf 以外的檔案作為設定檔, 請用

/usr/sbin/named -c path_to_config_file 或是
/usr/sbin/named -b path_to_config_file

BIND 的測試

測試 named 是否正常動作, 最簡單的就是利用 nslookup 這個程式
為了方便說明, 以下內容前面均加入行號
1 tung@mail:~> nslookup
2 Default Server: sun4.ee.ncku.edu.tw
3 Address: 140.116.72.14
4
5 > server 172.16.1.250
6 Default Server: mail.school.edu.tw
7 Address: 172.116.1.250
8
9 > pc1.school.edu.tw
10 Server: mail.school.edu.tw
11 Address: 172.116.1.250
12
13 Name: pc1.school.edu.tw
14 Address: 172.16.1.1
15
16 > 172.16.1.1
17 Server: mail.school.edu.tw
18 Address: 172.116.1.250
19
20 Name: pc1.school.edu.tw
21 Address: 172.16.1.1
22
23 > set type=any
24 > school.edu.tw
25 Server: mail.school.edu.tw
26 Address: 172.116.1.250
27
28 school.edu.tw
29 origin = mail.school.edu.tw
30 mail addr = root.mail.school.edu.tw
31 serial = 1999051401
32 refresh = 3600 (1H)
33 retry = 300 (5M)
34 expire = 3600000 (5w6d16h)
35 minimum ttl = 3600 (1H)
36 school.edu.tw nameserver = mail.school.edu.tw
37 school.edu.tw nameserver = mail.school.edu.tw
38 mail.school.edu.tw internet address = 172.16.1.250

第 5 行:
改變 default server 到新裝起來的 named 所在的 IP
第 9 行:
由 domain name 查 IP
第 16 行:
由 IP 反查 domain name
第 23,24 行
查詢 school.edu.tw 這個 domain 的一些記錄

在完成上述動作後, 可以確定 named 本身已正常啟動, 接著再透過把 default server 改為其它已知沒問題的 name server, 重覆上面的動作, 如果沒有問題的話, name server 應該已經沒問題了

BIND named 的除錯

1.named 在啟動或執行的時候, 透過系統的 syslog 機制, 會將一些訊息寫到 /var/log/messages 下

2.named 在執行的時候, 我們可以透過傳送一些 signal 給它, 讓其做一些額外的動作以方便進行除錯的動作, 傳送 signal 的方式是

kill -signal_name pid_of_named

其中 pid_of_named 可以利用 ps -aux|grep named 輸出的第二個欄位取得

常用的 signal_name 有下列幾種

SIGHUP
讓 named 重讀 named.conf 與 zone file 內容

SIGINT
將目前 named 的 database 與其 cache 起來的資料放到 /var/tmp/named_dump.db 中

SIGUSR1
啟動除錯功能, 將 named 動作的過程寫到 /var/tmp/named.run 中, 而且每多送一個 SIGUSR signal 給 named, named.run 中的除錯訊息就越詳細, 透過這個命令, 可以對 name server 進行極為詳細的除錯

SIGUSR2
關閉除錯功能, 停止 named 對 /var/tmp/named.run 產生輸出

ps: named 進入 debug mode 後, /var/tmp/named.run 的資料可能會增長地很快, 一定要記得最後要用 SIGUSR2 把 debug mode 關閉

沒有留言:

張貼留言