bind的nsupdate使用总结

来源:互联网 发布:手机性能检测软件 编辑:程序博客网 时间:2024/06/06 09:54

使用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 从该文件中读取更新语句。

0 0