nsupdate是一個動態DNS更新工具.可以向DNS服務器提交更新記錄的請求.它可以從區文件中添加或刪除資源記錄,而不需要手動進行編輯區文件.
下面是使用方法:
nsupdate [ -d ] [ [ -y keyname:secret ] [ -k keyfile ] ] [ -v ]
[ filename ]
-d 調試模式.
-k 從keyfile文件中讀取密鑰信息.
-y keyname是密鑰的名稱,secret是以base64編碼的密鑰.
-v 使用TCP協議進行nsupdate.默認是使用UDP協議.
輸入格式:
nsupdate可以從終端或文件中讀取命令.每個命令一行.一個空行或一個”send”命令,則會將先前
輸入的命令發送到DNS服務器上.
命令格式:
server servername [ port ]
發送請求到servername服務器的port端口.如果不指定servername,nsupdate將把請求發送給
當前去的主DNS服務器.
如:
> server 192.168.0.1 53
local address [ port ]
發送nsupdate請求時,使用的本地地址和端口.
zone zonename
指定需要更新的區名.
class classname
指定默認類別.默認的類別是IN.
key name secret
指定所有更新使用的密鑰.
prereq nxdomain domain-name
要求domain-name中不存在任何資源記錄.
prereq yxdomain domain-name
要求domain-name存在,並且至少包含有一條記錄.
prereq nxrrset domain-name [ class ] type
要求domain-name中沒有指定類別的資源記錄.
prereq yxrrset domain-name [ class ] type
要求存在一條指定的資源記錄.類別和domain-name必須存在.
update delete domain-name [ ttl ] [ class ] [ type [ data... ] ]
刪除domain-name的資源記錄.如果指定了type和data,僅刪除匹配的記錄.
update add domain-name ttl [ class ] type data…
添加一條資源記錄.
show
顯示自send命令后,所有的要求信息和更新請求.
send
將要求信息和更新請求發送到DNS服務器.等同於輸入一個空行.
nsupdate示例:
# nsupdate
> server 127.0.0.1
> update delete www.test.com A
>
> update add www.test.cn 80000 IN A 192.168.0.2
> update add 2.0.168.192.in-addr.arpa 80000 PTR A www.test.com
> send
> quit