bind的nsupdate使用總結

使用nsupdate來更新dns記錄比較方便,與程序整合方便,不需要編寫複雜的程序來修改zone配置文件。

nsupdate的操作都是通過nsupdate命令完成的,該命令既可以以交互方式輸入命令操作(標準輸入stdin),也可以從文件讀入。

安全控制

使用nsupdate之前,需要先在named.conf中把相關domain的允許更新打開,方法是:

這兩種寫法的區別在於採用了不一樣的安全檢查方法:第一種只接受來自特定ip的更新請求;第二種只接受提供了有效key的更新請求。

如果要使用基於key的安全驗證,則需要先生成和配置key。生成key的方法是:

以上命令,會在當前目錄下產生一對key,一個公鑰,一個私鑰。公鑰用來配置到named.conf中,格式如下

這樣設置後,如果沒有正確的公鑰,nsupdate的更新請求會被拒絕。

nsupdate命令的語句語法

nsupdate提供的語句比較簡潔實用,主要有用的是:

server  {servername} [port]指定named服務器地址和端口。默認端口爲53。語法如

key {name} {secret} 指定用於安全驗證的key,語法如

zone {zonename} 指定要更新的zone。這個語句並非必不可少,如果不提供,nsupdate會自動判斷需要更新的zone。

update delete {domain-name} 刪除域名。下面是刪除正解和反解的示例

update add {domain-name} {ttl} [class] {type} {data} 添加域名記錄,下面是添加A、CNAME、PTR記錄的示例

send 將語句發送到服務器。需要注意,如果你寫了多條語句,這些語句涉及到更新不同的域,最好分開send,否則會遇到update RR is outside zone (NOTZONE)錯誤。沒有驗證過使用zone語句來明確會不會解決問題。

quit 退出nsupdate

綜合示例

nsupdate的命令行參數

-k 指定key文件,如果用該參數指定了公鑰,則不需要再使用key語句。

-v 要求nsupdate使用tcp連接(默認情況下,當語句小的時候使用udp,當語句長的時候使用tcp),注意防火牆設置。

filename 從該文件中讀取更新語句。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章