DOKK / manpages / debian 11 / dnsvi / dnsvi.1.en
DNSVI(1) DNSVI(1)

dnsvi - Edit dynamic DNS zones using vi

dnsvi [-igl] [-k keyfile] [-p port] [@nameserver] zone

dnsvi is a frontend for nsupdate. Given a DNS zone name, it uses dig -t AXFR to get all the records in a zone. It then spawns your favorite editor, and upon completion, builds a list of "update add" and "update delete" statements to feed to nsupdate.

If you are updating a punycode domain and you are using bind9 >= 9.14.0, you need to specify -i to be able to update the zone, otherwise there will be a mix of punycode and non-punycode domains which nsupdate will refuse.
Use localhost as nameserver and pass -l (local) to nsupdate.
Use keyfile for AXFR and nsupdate.
Use Kerberos credentials for nsupdate. See -g in nsupdate(1) for details.
Use port for AXFR and nsupdate (default: 53).
@nameserver
Query nameserver for zone data and send updates there.

Editor to use instead of sensible-editor.

 $ dnsvi -k dyn.df7cb.de.key @ns.df7cb.de dyn.df7cb.de
 [...vi...]
 nsupdate commands queued:
 server ns.df7cb.de
 zone dyn.df7cb.de
 update delete fermi.dyn.df7cb.de. IN A 127.0.0.1
 update add    lehmann.dyn.df7cb.de. 600 IN A 127.0.0.1
 update add    volta.dyn.df7cb.de. 2419200 IN SSHFP 3 1 DC66C1C5E9ED611FBDF0A9E1F701B1F8C38A6C1D
 send
 answer
 [S]end, [e]dit, send and edit [a]gain, [q]uit: [s]

dig(1), nsupdate(1).

Christoph Berg <myon@debian.org>