Skip to content

Latest commit

 

History

History
26 lines (17 loc) · 1.21 KB

dynamic-updates.md

File metadata and controls

26 lines (17 loc) · 1.21 KB

Dynamic Updates

The server uses TSIG resources records (RRs) to authenticate queries. For example, DNS UPDATE queries can be authenticated to provide secure dynamic updates.

We pass HMAC keys to the server through a zonefile representation that is in a file eon <zonefile>._keys, e.g. example.org._keys. These are secret keys, and should not be published.

A DNSKEY RR domain name in this file must be of the format <name>.<operation>.<domain>, where <operation> can be _update, _transfer, or _notify.

To generate these keys we can use:

$ cat /dev/random | head -c 32 | base64
FGwot7AqiDIthEv6TippJm35DaRpRac5NSLd/wSp9go=

Then to perform a dynamic update we can use use the BIND utility nsupdate:

$ echo "update add test.example.org 86400 A 203.0.113.1\n" | nsupdate -l -y hmac-sha256:client._update.example.org:FGwot7AqiDIthEv6TippJm35DaRpRac5NSLd/wSp9go=
$ dig test.example.org @localhost
203.0.113.1

The TSIG key name, client._update.example.org here, must match the name in the zonefile.

See also the capability interface.