99.2. 使用 nsupdate 更新外部 DNS 记录
您可以使用 nsupdate
工具更新外部 DNS 记录。您还可以将命令添加到脚本中来自动化过程。要使用 nsupdate
工具更新,您需要生成一个带有 DNS 记录的文件,然后继续发送一个使用 TSIG 保护的 nsupdate
请求,或者发送一个使用 GSS-TSIG 保护的 nsupdate
请求。
流程
要为
nsupdate 生成一个带有 DNS 记录的文件,请使用 'ipa dns-update-system-records --dry-run
命令及--out
选项。--out
选项指定要生成的文件的路径:Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipa dns-update-system-records --dry-run --out dns_records_file.nsupdate
$ ipa dns-update-system-records --dry-run --out dns_records_file.nsupdate IPA DNS records: _kerberos-master._tcp.example.com. 86400 IN SRV 0 100 88 ipa.example.com. _kerberos-master._udp.example.com. 86400 IN SRV 0 100 88 ipa.example.com. [... output truncated ...]
生成的文件包含所需的、
nsupdate
工具接受的格式的 DNS 记录。生成的记录依赖于:
- 其中记录要被更新的区域的自动检测。
区域的权威服务器的自动检测。
如果您使用一个非典型的 DNS 设置,或者如果缺少区域委派,则
nsupdate
可能无法找到正确的区域和服务器。在这种情况下,在生成的文件的开头添加以下选项:-
server
:指定nsupdate
向其发送记录的服务器名称或权威 DNS 服务器的端口。 zone
:指定nsupdate
放置记录的区域的名称。例 99.1. 生成的记录
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat dns_records_file.nsupdate zone example.com. server 192.0.2.1 ; IPA DNS records update delete _kerberos-master._tcp.example.com. SRV update add _kerberos-master._tcp.example.com. 86400 IN SRV 0 100 88 ipa.example.com. [... output truncated ...]
$ cat dns_records_file.nsupdate zone example.com. server 192.0.2.1 ; IPA DNS records update delete _kerberos-master._tcp.example.com. SRV update add _kerberos-master._tcp.example.com. 86400 IN SRV 0 100 88 ipa.example.com. [... output truncated ...]