AIX命令参考大全,卷 4,n - r - nsupdate9 命令

[ 页的底部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]

AIX命令参考大全,卷 4,n - r

nsupdate9 命令

用途

动态 DNS 更新实用程序。

语法

nsupdate9 [-d] [-y keyname:secret | -k keyfile] [-v] [filename]

描述

nsupdate9 命令用来给名称服务器提交定义在 RFC2136 中的动态 DNS 更新请求。它允许在没有手工编辑区域文件的情况下,从区域中添加或除去资源记录。单个的更新请求能够包含添加或除去多个资源记录的请求。

nsupdate9 或 DHCP 服务器动态控制的区域不能手工编辑。手工编辑会与动态更新发生冲突,并产生数据丢失。

nsupdate9 动态添加或除去的资源记录必须在同一个区域内。请求发送到区域的主控服务器。它由区域的 SOA 记录的 MNAME 字段标识。

-d 选项设置 nsupdate9 操作为调试方式。它提供了关于更新请求和从名称服务器接收的应答的跟踪信息。

事务签名能用来认证动态 DNS 更新。 这些使用描述在 RFC2845 中的 TSIG 资源记录类型。此签名依赖于只让 nsupdate9 和名称服务器知道的共享秘密。当前唯一支持 TSIG 加密的算法是 HMAC-MD5,它定义在 RFC 2104 中。一旦定义有 TSIG 的其它算法,当互相认证时应用程序就需要确保选择适当的算法和密钥。例如,合适的密钥和服务器语句添加到 /etc/named.conf 以便名称服务器将适当的密钥和算法与客户机应用程序的 IP 地址关联起来,该应用程序将使用 TSIG 认证。nsupdate9 不读取 /etc/named.conf.

nsupdate9 使用 -y 或者 -k 选项提供需要为认证动态 DNS 更新请求生成 TSIG 记录的共享秘密。这此选项互相排斥。带有 -k 选项,nsupdate9 从文件 keyfile 中读取共享秘密,它名字的格式为 K{name}.+157.+{random}.private。 由于历史原因,文件 K{name}.+157.+{random}.key 也必须显示。当使用了 -y 选项,签名从密钥名中生成:secret。密钥名是密钥的名称, secret 是 base64 编码共享秘密。不主张使用 -y 选项,因为共享的 secret 在明文中以命令行参数提供。它在从 ps(1)的输出中和在由用户 shell 维护的历史文件中是可见的。

缺省情况下 nsupdate9 使用 UDP 给名称服务器发送更新请求。-v 选项使 nsupdate9 使用 TCP 连接。当使用更新请求的批处理时,它是很可取的。

标志

-d 设置 nsupdate9 操作为调试方式。
-y keyname:secret 从密钥名中生成签名:secret
-k keyfile 从文件 keyfile 中读取共享秘密。
-v 使 nsupdate9 使用 TCP 连接。

参数

filename 需更新的文件。

输入格式

nsupdate9 从文件 filename 或标准输入中读取输入。每个命令放在一个输入行中。一些命令用于管理用途。其它的用于更新指示信息或区域内容先决条件检查。这些检查设置了一些名称或资源记录集从区域中存在与否的条件。如果整个更新请求要成功,这些条件就必须要满足。如果先决条件测试失败,更新将拒绝。

每个更新请求包括 0 或多个先决条件和 0 或多个更新。如果一些指定的资源记录从区域中出现或者失去,它就允许合适的认证更新请求继续进行。空格输入行(或者发送命令)能引起累积的命令作为到名称服务器的一个动态 DNS 更新请求发送。

命令格式和它的意义如下:

server [servername] [port] 发送所有动态更新请求到名称服务器 servername 。当没有提供 server 语句时,nsupdate9 将发送更新到正确区域的主控服务器。区域的 SOA 记录的 MNAME 字段将为该区域标识主控服务器。port 是在 servername 上的端口号,这里动态更新请求得到发送。如果没有指定 port 号,使用缺省的 DNS 端口号 53。
local [address] [port] 使用本地地址发送所有动态更新请求。 当没有提供本地语句时,nsupdate9 将使用由系统选择的 addressport 发送更新。 port 能够另外用来发送来自特定端口的请求。如果没有指定端口号,系统将分配一个。
zone [zonename] 指定所有的更新到区域 zonename。如果没有提供区域语句, nsupdate9 依据输入的其余部分来试图确定要更新的正确区域。
key [name] [secret] 指定使用 keyname keysecret 对进行 TSIG 标记的所有更新。 key 命令覆盖在命令行上通过 -y 或 -k 指定的任何密钥。
prereq nxdomain [domain-name] 要求不存在名称为 domain-name 的任何类型的资源记录。
prereq yxdomain [domain-name] 要求 domain-name 存在(至少有一个任意类型的资源记录)。
prereq nxrrset [domain-name] [class] [type] 要求不存在指定 type, classdomain-name 的资源记录。如果省略了类,就假定 IN (因特网)。
prereq yxrrset [domain-name] [class] [type] 要求指定 type, classdomain-name 的资源记录必须存在。如果省略了类,就假定 IN (因特网)。
prereq yxrrset [domain-name] [class] [type] [data...] 来自于共享公共的 type, class, 和 domain-name 格式的先决条件集数据结合在一起形成 RRs 集。 此 RRs 集必须与存在于给定 typeclassdomain-name 的区域中的 RRs 集精确匹配。 data 要写成资源记录的 RDATA 的标准文本表示。
update delete [domain-name] [ttl] [class] [type] [data...] 删除名称为 domain-name 的任意资源记录。 如果提供了 typedata ,那么只有匹配的资源记录将被除去。如果没有提供类,就假定网际网类 class 。 忽略 ttl ,只允许兼容性。
update add [domain-name] [ttl] [class] [type] [data...] 添加指定 ttlclassdata 的新的资源记录。
show 显示当前消息,包含从上次发送指定的所有先决条件和更新。
send 发送当前消息。等同于输入一个空行。

忽略带有半冒号的注释行。

示例

下面的示例显示了 nsupdate9 如何用来从 example.com 区域中插入和删除资源记录。注意,每个示例的输入都包含尾随的空格行,因此命令组能够作为到 example.com 主控名称服务器的一个动态更新请求来发送。

# nsupdate9
> update delete oldhost.example.com A
> update add newhost.example.com 86400 A 172.16.1.1
>

删除 oldhost.example.com 的任意 A 记录,添加一个 newhost.example.com IP 地址为 172.16.1.1 的 A 记录。 新添加的记录有 1 天 TTL(86400 秒)

# nsupdate9 
> prereq nxdomain nickname.example.com 
> update add nickname.example.com CNAME somehost.example.com 
>

先决条件获取名称服务器来检查 nickname.example.com 有没有任意类型的资源记录。如果有,更新请求失败。如果这个名称不存在,为它添加一个 CNAME。它确保了当添加 CNAME 时不会与在 RFC 中的经过长时间考验的规则发生冲突,该规则是如果名称作为一个 CNAME 存在它就不必以其它类型存在。(该规则已经在 RFC2535 中为 DNSSEC 进行了更新,以允许 CNAME 有 SIG 、KEY 和 NXT 记录。)

文件

/etc/resolv.conf 用来标识缺省名称服务器
K{name}.+157.+{random}.key dnssec-keygen(8) 创建的 HMAC-MD5 密钥的 Base-64 编码。
K{name}.+157.+{random}.private dnssec-keygen(8) 创建的 HMAC-MD5 密钥的 Base-64 编码。

相关信息

RFC2136,RFC3007,RFC2104,RFC2845,RFC1034 和 RFC2535。

named9 守护程序和 dnssec-keygen 命令。

[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]