Getting DNS updates to update slave servers rather than wait for TTL expiration.

21 posts / 0 new
Last post
#1 Thu, 06/14/2007 - 09:39
TonyShadwick

Getting DNS updates to update slave servers rather than wait for TTL expiration.

My largest client is getting annoyed at me, and I've tried to hack it into the code, but it's not working.

Heres' the thing. User makes a change to their dns zone, and they click apply changes. This applies the change to the local DNS server using rndc reload (zonename), which is fine, but I need it to run that command on all of the slave servers too. Right now it just waits for TTL expiration on the slaves.

Any way to easily fix this, or is it a bug/feature request?

Sun, 06/07/2009 - 07:03
DanLong

Toni,

Do you have the slaves included in your slave cluster? That should run the update all the way across the included servers. Otherwise, you're stuck waiting on propagation.

Sun, 06/07/2009 - 07:03
TonyShadwick

Yes I do.

It works fine initially. It's when a user makes a change. I've looked at the code, and it only runs rndc reload (zone.tld) locally, it does nothing on the slave servers.

Sun, 06/07/2009 - 07:03
KrisKenyon

Do changes replicate when you make changes in the Webmin Bind module? I am curious if this is a server wide issue or specific to the Virtualmin module.

Sun, 06/07/2009 - 07:03
TonyShadwick

Same results either way. The only way I can force immediate replication is to remove a server from the cluster and re-add. That takes a bit with 300 some domains total. :

Sun, 06/07/2009 - 07:03
TonyShadwick

Same results either way. The only way I can force immediate replication is to remove a server from the cluster and re-add. That takes a bit with 300 some domains total. :

Sun, 06/07/2009 - 07:03
KrisKenyon

Can you go to the slave server and run rndc reload "zonename" and watch the logs for errors? Let us know what you see.

Sun, 06/07/2009 - 07:03
TonyShadwick

No errors. Works beautifully if I do that. In fact I have to do that every time. :\

Tue, 06/26/2007 - 23:46
Joe
Joe's picture

Hey Tony,

Let's call it a bug. File it in the bug tracker and Jamie will fix it. (Though I do greatly admire your "dig in and fix it" attitude, sometimes it's best to place the blame where it belongs and let Jamie fix it.) ;-)

--

Check out the forum guidelines!

Wed, 06/27/2007 - 01:13
Wed, 06/27/2007 - 01:57
Joe
Joe's picture

I've posted a comment to that bug explaining how to configure BIND to automatically update slave servers when a record changes on the master..

Also, in the next Virtualmin release it will configure this automatically.

--

Check out the forum guidelines!

Wed, 06/27/2007 - 03:39
TonyShadwick

For those searching later:

Bind -> Zone Defaults

Notify Slaves of Updates

Can't believe I overlooked that...oi.

Wed, 07/04/2007 - 23:06 (Reply to #12)
TonyShadwick

FYI - this DID NOT fix my problem. :(

I'm not sure what's wrong. I've updated to the latest webmin and virtual server module, but that doesn't fix it either.

Thu, 07/05/2007 - 03:18
Joe
Joe's picture

Changing the 'Bind -> Zone Defaults' page will not help, as it just sets defaults for new domains. You need to update all existing domains to notify slaves, by going to the BIND module, clicking on each domain, clicking on 'Edit Zone Options' and filling in the 'Also notify slaves' field. Also, make sure 'Notify slaves of changes?' is set to 'Yes'.

--

Check out the forum guidelines!

Thu, 07/05/2007 - 14:49 (Reply to #14)
TonyShadwick

Ouch. That sucks.

Don't suppose you could give me a hint as to what the config line is for that so I can run a system-wide regexp to change that setting?

Thu, 07/05/2007 - 14:52 (Reply to #15)
TonyShadwick

Also...even with that global setting, or setting in on individual zones still does not work, just tested it. We've created new zones since making that change, no impact. I've set it on a zone, saved, restarted webmin, made a change to the zone, saved, and it doesn't push to the slaves, even though the screen makes a comment about running rndc reload when the button is pushed. :(

Thu, 07/05/2007 - 14:56 (Reply to #16)
TonyShadwick

Sorry for spamming the thread - but....

If the global setting only impacts new zones, then what is the logic behind the wording in the individual zone?

Notify slaves of changes? Yes No Default

Erm...why is there a "Default"? Shouldn't it simply be yes or no?

Thu, 07/05/2007 - 18:33
Joe
Joe's picture

If you check /var/log/messages on the slave system, is anything logged that suggests why a zone transfer may have failed?

Similarly, in /var/log/messages on the master, does anything get logged when you click the Apply button that might indicate an error talking to slaves? For example, if there was a firewall blocking port 53 between them, that would cause problems.

Also, the reason for that 'Default' option is to fall back to the global setting for notifying slaves. In your case, I would recommend explicitly selecting 'Yes'.

--

Check out the forum guidelines!

Thu, 09/13/2007 - 05:59
tuxsolutions

Hi,
got the same problem also, I have to do a "force update" of the zone on the slave server. Please heeeeeeelp.
PS: A new domain works good until there is a update

Thu, 09/13/2007 - 08:29 (Reply to #19)
Joe
Joe's picture

One thing to check is that your master server is setup to notify the slave when a change is made to the domain. On the master system, if you go to Webmin -> Servers -> BIND DNS Server -> your domain -> Zone Options, make sure the slave's IP is in the 'Also notify slaves' field.

If not, you should add it for all zones, and click the Apply button. The latest version of Virtualmin does this automatically, for new domains.

--

Check out the forum guidelines!

Wed, 09/22/2010 - 18:08 (Reply to #20)
fuscata

I had a similar problem but could not click through all the domains, since I have too many to list and must use the search box instead.

Here's how I solved it: http://www.virtualmin.com/node/15662#comment-68657

Topic locked