README.md 2.49 KB
Newer Older
Tony Finch's avatar
Tony Finch committed
1
nsnotifyd: handle DNS NOTIFY messages by running a command
Tony Finch's avatar
Tony Finch committed
2
----------------------------------------------------------
Tony Finch's avatar
Tony Finch committed
3

Tony Finch's avatar
Tony Finch committed
4
The `nsnotifyd` daemon monitors a set of DNS zones and runs a command
Tony Finch's avatar
Tony Finch committed
5
when any of them change. It listens for DNS NOTIFY messages so it can
6
7
8
9
10
11
12
13
respond to changes promptly. It also uses each zone's SOA refresh and
retry parameters to poll for updates if `nsnotifyd` does not receive
NOTIFY messages more frequently.

Anywhere you currently have a cron job which is monitoring updates to
DNS zones, you might want to run it under `nsnotifyd` instead of cron,
so your script runs as soon as the zone changes instead of running at
fixed intervals.
Tony Finch's avatar
Tony Finch committed
14

Tony Finch's avatar
Tony Finch committed
15
16
### Examples

Tony Finch's avatar
Tony Finch committed
17
There are three example scripts described in the manual:
Tony Finch's avatar
Tony Finch committed
18

Tony Finch's avatar
Tony Finch committed
19
`nsnotify2git` records the history of changes to a set of zones.
Tony Finch's avatar
Tony Finch committed
20

Tony Finch's avatar
Tony Finch committed
21
`nsnotify2update` uses nsdiff and nsupdate as part of a bump-in-the-wire
Tony Finch's avatar
Tony Finch committed
22
23
DNSSEC signer.

Tony Finch's avatar
Tony Finch committed
24
25
26
`nsnotify2stealth` uses nsnotify-liststealth and nsnotify-fanout to
notify stealth secondaries so they get updates faster.

Tony Finch's avatar
Tony Finch committed
27
28
29
30
### Documentation

To read the manual, run

Tony Finch's avatar
Tony Finch committed
31
        $ man ./nsnotifyd.1
Tony Finch's avatar
Tony Finch committed
32

Tony Finch's avatar
Tony Finch committed
33
34
35
or read online in [plain text](http://dotat.at/prog/nsnotifyd/nsnotifyd.txt)
or [PDF](http://dotat.at/prog/nsnotifyd/nsnotifyd.pdf) formats.

36
37
The `nsnotifyd` homepage is <http://dotat.at/prog/nsnotifyd/>

Tony Finch's avatar
Tony Finch committed
38
39
40
41
42
43
44
45
46
### Build

To build, type

        $ ./configure
        $ make all

### Dependencies

47
48
49
50
The main requirement is the BIND-8 libc resolver. BSD and Mac OS ship
with a sufficiently recent resolver. On a Debian-like Linux you should
install libbind4-dev. Otherwise, the configure script will download
libbind and build and link with it statically.
Tony Finch's avatar
Tony Finch committed
51

Tony Finch's avatar
Tony Finch committed
52
53
54
55
### Latest release

Download the full source archives:

Tony Finch's avatar
Tony Finch committed
56
57
58
* <http://dotat.at/prog/nsnotifyd/nsnotifyd-1.0.tar.xz>
* <http://dotat.at/prog/nsnotifyd/nsnotifyd-1.0.tar.gz>
* <http://dotat.at/prog/nsnotifyd/nsnotifyd-1.0.zip>
Tony Finch's avatar
Tony Finch committed
59
60
61
62
63
64

### Source repositories

You can clone or browse the repository from:

* git://dotat.at/nsnotifyd.git
Tony Finch's avatar
Tony Finch committed
65
66
67
* <http://dotat.at/cgi/git/nsnotifyd.git>
* <https://github.com/fanf2/nsnotifyd.git>
* <https://git.csx.cam.ac.uk/x/ucs/ipreg/nsnotifyd.git>
Tony Finch's avatar
Tony Finch committed
68

Tony Finch's avatar
Tony Finch committed
69
----------------------------------------------------------------
Tony Finch's avatar
Tony Finch committed
70

Tony Finch's avatar
Tony Finch committed
71
72
73
Please send bug reports or patches to me. I accept contributions made
under the terms of CC0. Thanks to JP Mens and Richard James Salts for
helpful feedback and encouragement.
Tony Finch's avatar
Tony Finch committed
74

Tony Finch's avatar
Tony Finch committed
75
Written by Tony Finch <dot@dotat.at> <fanf2@cam.ac.uk>  
Tony Finch's avatar
Tony Finch committed
76
77
at Cambridge University Information Services.

Tony Finch's avatar
Tony Finch committed
78
You may do anything with this. It has no warranty.  
Tony Finch's avatar
Tony Finch committed
79
<http://creativecommons.org/publicdomain/zero/1.0/>