Let's say I have a couple of separate Linux NSD servers. How can I make the master server share changes with the slave servers?
NSD appears to have this functionality. It can declare zones as master or slave. I'm pretty sure I understand how to set up the communication in the config files.
What are the commands necessary after a zone update on the master server to propagate the changes to the slaves? Is it entirely automatic once NSD's cache is updated, or is some intervention necessary?
Edit: Solved, please remove.
You seem to be confusing several things; first of all, DNS does not work that way: masters do not "propagate changes to the slaves" - slaves pull zone data from the masters.
Second, since zone transfer is a mandatory feature of DNS, all standards-compliant DNS servers share this functionality - and, in fact, should be fully interoperable (although YMMV w.r.t. Microsoft products.)
When you update a master zone, the server notifies all slaves (both authoritative and those explicitly configured for notification) that there is new data; the slaves then query the zone to see if the serial is newer than the one it currently has, and retrieve either the entire zone (AXFR) or only the changes since the last update (IXFR).