歡迎您光臨本站 註冊首頁

UNIX下DNS伺服器之管理維護篇

←手機掃碼閱讀     火星人 @ 2014-03-29 , reply:0

一、UNIX系統DNS管理維護

1、DNS的啟動與停止

如在Solaris 系統中啟動與停止DNS的方法:
用root身份登錄到系統
#ps ?ef|grep named 查看named 的進程號pid
1)重啟動named:
# kill ?HUP pid
2)停止named:
# kill pid

如在AIX系統中啟動與停止DNS的方法:
用root身份登錄到系統
1) 啟動named:
# startsrc ?s named
2) 停止named:
# stopsrc ?s named
3)資料庫修改後重讀資料庫:
# refresh ?s named

2、讓DNS服務隨UNIX系統的自動啟動

在我們創建與配置好DNS伺服器時,當UNIX系統重新啟動時,DNS服務一般是不會自動起來的,必須手工啟動,這樣很麻煩。在Solaris系統中,我們必須要修改 inetd.conf配置文件,找到named的註釋行,去掉前面的「#」即可。

在AIX系統中,為了使系統在下一次啟動時named能處於工作狀態,應打開/etc/rc.tcpip文件中關於named的註釋即可(# smit stnamed)。



二、UNIX 的DNS測試與調試工具

在完成DNS的安裝及設定后,客戶端即可向伺服器提出名稱解析的要求,使用者可通過相關的工具來對DNS伺服器做測試與調試。named提供幾種內置的輔助調試工具,其中最重要的是可配置性非常靈活的日誌功能;我們可以在命令行指定調試級別或者用ndc設置它們,還可以命令named把運行統計結果轉儲到一個文件,並用dig或nslookup驗證域名查詢。

1、首先我們用系統命令 ping 來測試,看是否能拼通
# ping 「域名」
在UNIX系統中,如果拼不通,則首先要檢查DNS服務是否處於工作狀態,其次用UNIX的PS命令查看一下named的進程是否存在如ps ?ef|group named;假如進程已有,則要檢查DNS的創建過程所有的配置文件的正確與否。
在Windows客戶機中,可進入MSDOS方式,如在C\>提示下使用ping hostname命令,其中hostname指所查詢的域名全稱,如配置正確則立刻顯示經過解析的IP地址,否則長時間無顯示結果表示配置不正確需查找原因。

2、查看日誌系統
named日誌工具的靈活性是很好的,BIND4使用系統日誌來報告錯誤消息和反常情況;BIND8通過添加另一個間接層並支持直接將日誌計入文件,推廣了系統日誌的概念。BIND日誌是在named.conf中用logging語句配置的,BIND8默認的日誌配置為:
logging {
category default {default_syslog;default_debug;};
category panic {default_syslog;default_stderr;};
category eventlib {default_debug;};
category packet {default_debug;};
};

BIND9默認的日誌配置為:
logging {
category default {default_syslog;default_debug;};
};

default_syslog:用工具守護進程把info和更高嚴重性的消息發送到syslog;
default_debug:日誌記錄到文件named.run,嚴重性設置為dynamic;
default_stderr:把消息發送給named的標準出錯輸出,嚴重性為info。

當DNS運行出錯時,我們可以查看系統日誌文件syslog以及named.run等,對照有關BIND 錯誤消息清單(可以在http://www.acmebw.com/askmrdns/bind-messaged.htm網站上下載),找到解決方法。

3、調試級別
named調試級別用從0到11的整數來表示;數字越大,表示輸出信息越詳細。級別0關閉調試,級別1和2適用於調試配置和資料庫,大於4的級別適合代碼的維護人員使用。我們可以在named命令行用-d標記調用調試,例如:
# named ?d2
將在調試級別2啟動named,調試信息寫入named.run文件,該文件的位置隨UNIX系統的不同而不同。嚴重性級別越高,則日誌記錄的信息越多。

4、用ndc調試
ndc命令(在BIND 9中稱為rndc)是操作named的一種有利工具,產生文件的命令把文件放到named.conf中被指定為named主目錄的目錄中。
一些常用的ndc調試命令簡單介紹如下:
status:顯示運行中的named的當前狀態;
dumpdb:把DNS資料庫轉儲到named_dump.db;
stats:把統計轉儲到named.stats;
reload:重新裝載named.conf和區文件;
restart:重新啟動named,清空高速緩存;
notrace:關閉調試。
例如named的最新版本保留了查詢的統計,我們可以用ndc stats訪問它,named接到這條命令時,就將統計寫入文件named.stats。

5、使用nslookup、dig和host調試
以shell方式可以使用3種工具來查詢DNS資料庫:nslookup、dig和host,在BIND的軟體發布中包括nslookup和dig。Nslookup是這三個工具中最老的,而且總是隨同BIND一起發布;dig是域信息的探索程序,最初由Steve Hotz編寫,後來Michael Sawy針對BIND 9將它重新編寫,它也和BIND一起發布;host由Eric Wassenaar編寫,是另一個開放源代碼的工具,其特點是輸出對用戶很友好,功能是可檢查區文件的語法。
另外三者使用的解析器庫不同:dig和host使用BIND的解析器,而nslookup有其自身的解析器。

(1)nslookup
輸入 nslookup 命令后,會看到 > 提示符號,之後就可輸入查詢指令。一般會輸入IP address或是domain name來做反向及正向的解析。而nslookup不僅提供上述2種解析,亦提供DNS中其它的資料記錄型態,例如MX、NS…等等,我們可在提示符號直接輸入」?」來獲得所有可以使用的參數或資料型態。
# nslookup
Default Server: ghq.js.com
Address: 61.155.107.131
>

(2)dig
用法:dig [ @server ] [ -b address ] [ -c class ]… (詳細說明請以"man dig"來查詢)
# dig ghq.js.com
送出domain name的查詢封包至name server,後面參數可接IP address或domain name來獲得name server所提供的相關訊息,同nslookup一樣,dig也提供不同資料記錄型態,例如MX…等等。

(3)host
host基本上也是dns的查詢,後面可接IP address或domain name來獲得對應的domain name或IP。
# host ghq.js.com
ghq.js.com has address 61.155.107.131



三、DNS日常的安全管理維護

針對BIND DNS服務軟體的安全配置情況,我們要充分利用BIND自身已經實現的保護功能,加強BIND安全性,從而能抵禦目前已知的BIND安全漏洞,並使潛在的安全漏洞所可能對伺服器造成的影響儘可能地減少。這也是我們針對UNIX DNS日常管理維護非常重要的一項工作。

從DNS伺服器的安全運行管理可以考慮採用下面幾種方法:

1、採用多個域名伺服器應付惡意攻擊者,對DNS伺服器進行拒絕服務攻擊。
如果純粹從理論上出發,那麼一台DNS伺服器是完全可以完成所有任務的。當註冊了一個域名以後,實際上可以最大為企業的域名設置6個DNS伺服器名。如果主域名伺服器被人攻擊了,可以啟用輔域名伺服器,如果主輔域名伺服器都被同時攻破了,也可以用第三台或第四台域名伺服器進行工作,具體設置幾個域名伺服器可根據企業構建網路情況而設定。

而對於廣大的用戶而言,當出現這種多個DNS伺服器停止服務帶來的唯一的影響就是查詢域名的時候會延遲,因為它需要一個一個的去查詢,直到找到最後的一個為止。

2、啟動BIND(DNS)安全選項來進行配置。
named進程啟動選項如下:
-r:關閉域名伺服器的遞歸查詢功能(預設為打開)。該選項可在配置。

[火星人 ] UNIX下DNS伺服器之管理維護篇已經有646次圍觀

http://coctec.com/docs/linux/show-post-203538.html