[Bind9] Synchoniseren named.conf tussen master - slave

Pagina: 1
Acties:

  • mitchuhl
  • Registratie: Februari 2003
  • Laatst online: 11-03-2025
Twee servers opgezet:

ns1 (master)
ns2 (slave)

Tot nu toe heb ik de opstelling zover gekregen dat de zone-transfers goed verlopen.

Wat ik me nu afvraag, is hoe ik de opstelling zover krijg dat ik alleen op de master een zone hoef toe te voegen zonder dat ik op de slave een aanpassing moet maken in named.conf. Weet iemand hier een oplossing voor?

  • Dannr
  • Registratie: Augustus 2005
  • Laatst online: 29-12-2025
Voor zover ik weet kan dat met bind helemaal niet. De link tussen master en slave is per domein; lijkt me onwaarschijnlijk dat je een zone kunt toevoegen op alleen de master en dat hij dan op magische wijze in je named.conf verschijnt op de slave. In ieder geval maak ik in een soortgelijke setup altijd een aanpassing op zowel de master als op de slave machine.

Dat gezegd hebbende kun je natuurlijk wel gewoon een scriptje maken dat beide named.conf's tegelijk aanpast, dat kan nooit moeilijk zijn.

Nu ik erover nadenk: misschien kun je iets verzinnen dat je in named.conf geen domeinen heb staan maar alleen ".nl", en dat je dan in de (enorme) zonefile al je domeinen maakt. Maar goed, het lijkt me dat je dan een probleem krijgt met lookups naar bestaande nl domeinen. Bij nader inzien is het onzin, want je krijgt dan ook een probleem met bijv. TXT en MX records. Never mind.

(Ik bookmark voor de zekerheid toch even, als het blijkt te kunnen heb ik ook wel interesse ;))

[ Voor 7% gewijzigd door Dannr op 10-07-2006 12:32 ]


  • DiedX
  • Registratie: December 2000
  • Laatst online: 05-02 09:37
Bind heeft dit niet. PowerDNS (www.powerdns.com) heeft dit WEL.

DiedX supports the Roland™, Sound Blaster™ and Ad Lib™ sound cards


  • Dannr
  • Registratie: Augustus 2005
  • Laatst online: 29-12-2025
code:
1
2
dan@pisang:~$ host www.powerdns.com
;; connection timed out; no servers could be reached

Ironisch? Mwah... :+

  • MrBarBarian
  • Registratie: Oktober 2003
  • Laatst online: 07-03-2023
Hier heb je toch DNS Notify en DNS Dynamic Upate voor? Ik snap ik de vraag nu niet?

iRacing Profiel


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Dannr schreef op maandag 10 juli 2006 @ 13:39:
code:
1
2
dan@pisang:~$ host www.powerdns.com
;; connection timed out; no servers could be reached

Ironisch? Mwah... :+
code:
1
2
3
mm@ip10:~ $ host www.powerdns.com
www.powerdns.com is an alias for powerdns.com.
powerdns.com has address 213.244.168.205


:P Je dns server zuigt :P

Anyway, PowerDNS kan dit idd vrij makkelijk. Ik heb zelf pdns met een MySQL backend draaien, met m'n primary als supermaster ingesteld. Zodra ik dan op m'n primary een nieuwe zone aanmaak en die reload, stuurt die een NOTIFY naar m'n secondary ('hey, die zone is geüpdatet, neerhalen die hap!'), bedenkt m'n pdns dat 'ie die zone nog niet heeft maar dat de source van de NOTIFY in z'n supermasters tabel staat en dat 'ie dus als de wiedeweerga een zone aan moet maken.

Werkt perfect.

All my posts are provided as-is. They come with NO WARRANTY at all.


  • Dannr
  • Registratie: Augustus 2005
  • Laatst online: 29-12-2025
Nee hoor, geen brakke DNS-server, hij resolvede vanaf hier niet en vanaf mijn machine thuis ook niet. Maar goed, inmiddels weer wel, en 't ziet eruit als een erg mooi stukje software in ieder geval :)

  • mitchuhl
  • Registratie: Februari 2003
  • Laatst online: 11-03-2025
MrBarBarian schreef op maandag 10 juli 2006 @ 13:45:
Hier heb je toch DNS Notify en DNS Dynamic Upate voor? Ik snap ik de vraag nu niet?
Is het niet zo, dat je met een DNS notify wel een record in je named.conf op de slave moet hebben staan voordat hij deze zone-file ophaalt van de master?

  • Dannr
  • Registratie: Augustus 2005
  • Laatst online: 29-12-2025
In Bind wel ja, maar er is niets in het DNS protocol die de ontvanger van de notify verbiedt om te kijken of hij zo'n niet-bestaand zone record niet alsnog bij iemand kan vinden. Daarom kan PowerDNS het wel.

Conclusie: Met Bind gaat je dit niet lukken; als je het nodig hebt moet je PowerDNS installeren. Of een andere DNS server die dat kan, natuurlijk.

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Dannr schreef op maandag 10 juli 2006 @ 14:16:
In Bind wel ja, maar er is niets in het DNS protocol die de ontvanger van de notify verbiedt om te kijken of hij zo'n niet-bestaand zone record niet alsnog bij iemand kan vinden. Daarom kan PowerDNS het wel.
Eigenlijk verbiedt de RFC 't. Maar dat vinden vrij veel mensen onzin.

All my posts are provided as-is. They come with NO WARRANTY at all.


  • MrBarBarian
  • Registratie: Oktober 2003
  • Laatst online: 07-03-2023
mitchuhl schreef op maandag 10 juli 2006 @ 14:11:
[...]


Is het niet zo, dat je met een DNS notify wel een record in je named.conf op de slave moet hebben staan voordat hij deze zone-file ophaalt van de master?
Oh, je wilt een compleet nieuwe zone automatisch op je slave krijgen? Ik denk dat dat (o.a.) om security redenen niet zo wenselijk is eigelijk aangezien de mogelijke impact hiervan nogal groot is..

iRacing Profiel


  • DiedX
  • Registratie: December 2000
  • Laatst online: 05-02 09:37
Beetje rare reactie: Bind ondersteund dit native niet, en het is een redelijk koud kunstje om een scriptje te schrijven die elk half uur een nieuwe zonefile pusht.

Maar zoals eerder aangegeven: PDNS is your friend.

DiedX supports the Roland™, Sound Blaster™ and Ad Lib™ sound cards


  • mitchuhl
  • Registratie: Februari 2003
  • Laatst online: 11-03-2025
Een sync tool voor master-slave dns is er blijkbaar dus nog niet. Ik heb zelf een simpel shell scriptje geschreven die van beiden de named.conf vergelijkt. Het zou fijn zijn als iemand hier nog een nuttige / leuke op kan verzinnen!

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash

master=10.10.0.2

# Lijst van master zones ophalen:
ssh $master cat /etc/named.conf |grep -i 'zone \".*{' > /tmp/zones.$master

# Lijst van slave zones ophalen:
cat /etc/named.conf |grep -i 'zone \".*{' > /tmp/zones.slave

# Verschil opzoeken:
sort /tmp/zones.slave > /tmp/zones.slave.sorted
sort /tmp/zones.$master > /tmp/zones.$master.sorted
diff /tmp/zones.slave.sorted /tmp/zones.$master.sorted


De uitkomst wil ik dan gaan mailen, als deze ongelijk is aan leeg ("").

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

En even powerdns gebruiken was echt te moeilijk?

All my posts are provided as-is. They come with NO WARRANTY at all.


  • StefSybo
  • Registratie: Maart 2004
  • Niet online
CyBeR schreef op maandag 24 juli 2006 @ 16:50:
En even powerdns gebruiken was echt te moeilijk?
Sorry hoor, maar aan dit soort opmerkingen kan ik me best wel ergeren, voor zover ik weet gaat het bij Linux om (keuze)vrijheid, dus als TS graag Bind gebruikt moet hij dat toch lekker zelf weten? Dat jij liever Powerdns gebruikt omdat dat misschien wel makkelijker is moet jij weten, maar misschien heeft TS wel een goede reden om dat niet te willen of kunnen.

En om die verschillen te mailen is natuurlijk vrij simpel:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash

master=10.10.0.2
mailto=user@domain.tld

# Lijst van master zones ophalen:
ssh $master cat /etc/named.conf |grep -i 'zone \".*{' > /tmp/zones.$master

# Lijst van slave zones ophalen:
cat /etc/named.conf |grep -i 'zone \".*{' > /tmp/zones.slave

# Verschil opzoeken:
sort /tmp/zones.slave > /tmp/zones.slave.sorted
sort /tmp/zones.$master > /tmp/zones.$master.sorted
newzones=`diff /tmp/zones.slave.sorted /tmp/zones.$master.sorted`

if [ "$newzones" ]; then
    echo $newzones | mail -s "nieuwe dns zones" $mailto
fi

[ Voor 20% gewijzigd door StefSybo op 24-07-2006 22:16 . Reden: Foutje in het script verbeterd ]


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

StefSybo schreef op maandag 24 juli 2006 @ 22:03:
[...]

Sorry hoor, maar aan dit soort opmerkingen kan ik me best wel ergeren, voor zover ik weet gaat het bij Linux om (keuze)vrijheid, dus als TS graag Bind gebruikt moet hij dat toch lekker zelf weten? Dat jij liever Powerdns gebruikt omdat dat misschien wel makkelijker is moet jij weten, maar misschien heeft TS wel een goede reden om dat niet te willen of kunnen.
Erger je lekker raak zou ik zeggen. Blijft het zo dat powerdns installeren, software die dit native ondersteunt, een stuk simpeler, veiliger en betrouwbaarder is dan dit soort scriptjes.

All my posts are provided as-is. They come with NO WARRANTY at all.


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 06:45
PowerDNS en zone transfers? wat doe je moeilijk, ik replicate gewoon mijn hele database backend tussen master en slave :P

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

_JGC_ schreef op maandag 24 juli 2006 @ 22:54:
PowerDNS en zone transfers? wat doe je moeilijk, ik replicate gewoon mijn hele database backend tussen master en slave :P
Mja kan ook maar da's niet voor alle situaties geschikt :P

All my posts are provided as-is. They come with NO WARRANTY at all.

Pagina: 1