No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-21 16:56:28 +02:00
bin Merge remote-tracking branch 'origin/master' into unicode-again 2026-05-06 19:43:34 +02:00
lib/DNS Preserve records with zero TTL 2026-07-21 16:56:28 +02:00
t Preserve records with zero TTL 2026-07-21 16:56:28 +02:00
.gitignore Fix debian build 2016-11-10 19:37:03 +01:00
debian Do not include the debian/ in the "upstream master" 2021-01-30 09:56:24 +01:00
INSTALL Migrate to ExtUtils::MakeMaker 2016-09-30 23:00:02 +02:00
Makefile.PL escape TXT records and labels in parse() 2023-06-05 14:47:41 +02:00
MANIFEST Remove Build.PL from manifest 2016-11-10 09:08:23 +01:00
MANIFEST.SKIP skip the CHANGES file 2015-01-28 23:54:13 +01:00
README.md Add Readme 2022-10-20 10:19:46 +02:00

DNSvi

If you do not have access to the zone files but need to modify a given DNS zone, DNSvi is your friend.

It downloads the zone via AXFR, removes RRSIG and NSEC records, lets you edit the zone content using your favourite editor and sends the changes back via the NSUPDATE protocol.

Unfortunately there is an alternative project using the same name. I do not know anything about this, whether it provides matching functionality or does something completely different.

DNSvi can modify the zone locally on the DNS server, and even remotely.

Build

DNSvi uses the standard Perl tool chain (Extutils::MakeMaker).

perl Makefile.PL
make all test install

Configuration

Please read the manual page, once DNSvi is installed. Basically you need to:

  • make sure that you're allowed to transfer the zone via AXFR
  • make sure that you can update the zone via nsupdate

If you want to use DNSvi remotely you likely need to create a TSIG key and configure your DNS server accordingly.

Usage

Just start DNSvi locally on the DNS server:

dnsvi -l example.com

Or if you configured remote access:

dnsvi example.com