Wie sag ichs dem powerdns-master
Wie sag ichs dem powerdns-master
Hallo,
ich habe zwei pdns-server aufgesetzt, die unter ns1.domainname.de und ns2.dommainname.de erreichbar sind.
ok, dem Server habe ich seinen supermaster genannt, aber wie sag ich dem supermaster, wohin er seine domains melden soll? Oder fragt der slave selber nach? Ich glaube nicht?
Hilfe!
LG
Ender
ich habe zwei pdns-server aufgesetzt, die unter ns1.domainname.de und ns2.dommainname.de erreichbar sind.
ok, dem Server habe ich seinen supermaster genannt, aber wie sag ich dem supermaster, wohin er seine domains melden soll? Oder fragt der slave selber nach? Ich glaube nicht?
Hilfe!
LG
Ender
-
antondollmaier
- Posts: 485
- Joined: 2004-03-30 10:06
Re: Wie sag ichs dem powerdns-master
interessantes thema, hab das gerade bei mir auch aktiviert (das is ausfallsicherer, als den backup-NS an die db vom ns1 zu binden :mrgreen: ) ...
folgendes vorgehen, wenn ich richtig liege ...
ns1:
"master=yes" in die config
in der db:
tabelle domains ... bei allen domains den type auf "MASTER" umstellen ... und bei "master" (spaltentyp) die ip vom ns1 ...
ns2:
"slave=yes" in die config
leere pdns-db einstellen ... auf dem lokalen mysql-server ...
in der tabelle supermaster nen neuen eintrag:
ip: die vom ns1
nameserver: domain-name vom ns2
account: beliebig wählen, hat nur info-bedeutung
testweise BEIDE ns im monitor-modus starten ...
dann im ns1-fenster das hier eingeben:
domain.tld muss natürlich existieren ... dann sollten entsprechend AXFR etc-meldungen erscheinen ...
viel erfolg!
Anton
folgendes vorgehen, wenn ich richtig liege ...
ns1:
"master=yes" in die config
in der db:
tabelle domains ... bei allen domains den type auf "MASTER" umstellen ... und bei "master" (spaltentyp) die ip vom ns1 ...
ns2:
"slave=yes" in die config
leere pdns-db einstellen ... auf dem lokalen mysql-server ...
in der tabelle supermaster nen neuen eintrag:
ip: die vom ns1
nameserver: domain-name vom ns2
account: beliebig wählen, hat nur info-bedeutung
testweise BEIDE ns im monitor-modus starten ...
dann im ns1-fenster das hier eingeben:
Code: Select all
notify domain.tldviel erfolg!
Anton
Klappt noch nicht
Hallo Anton,
danke für deine Hinweise. Leider klappts immernoch nicht.
Notify ergibt auf ns1 folgende ausgabe:
:?
hier die ausgabe vom ns2:
Ender
danke für deine Hinweise. Leider klappts immernoch nicht.
Notify ergibt auf ns1 folgende ausgabe:
Auf dem Slave passiert nichts...% notify physikmafia.de
Feb 12 08:32:01 Notification request for domain 'physikmafia.de' received from operator
Feb 12 08:32:01 gmysql Connection succesful
Feb 12 08:32:01 Query: select id,name,master,last_check,notified_serial,type from domains where name='physikmafia.de'
Feb 12 08:32:01 Query: select content,ttl,prio,type,domain_id,name from records wheretype='NS' and name='physikmafia.de'
Feb 12 08:32:01 Query: update domains set notified_serial=135581056 where id=4
Added to queue
% Feb 12 08:32:09 Query: select id,name,master,last_check,type from domains where type='SLAVE'
Feb 12 08:32:09 Query: select id,name,master,last_check,notified_serial,type from domains where type='MASTER'
Feb 12 08:32:09 Query: select content,ttl,prio,type,domain_id,name from records wheretype='SOA' and name='physikmafia.de'
Feb 12 08:32:09 1 domain for which we are master needs notifications
Feb 12 08:32:09 Query: update domains set notified_serial=2005021201 where id=4
:?
hier die ausgabe vom ns2:
LGFeb 12 08:27:18 This is module gmysqlbackend.so reporting
Feb 12 08:27:18 This is a standalone pdns
Feb 12 08:27:18 It is advised to bind to explicit addresses with the --local-address option
Feb 12 08:27:18 UDP server bound to 0.0.0.0:53
Feb 12 08:27:18 TCP server bound to 0.0.0.0:53
Feb 12 08:27:18 PowerDNS 2.9.16 (C) 2001-2004 PowerDNS.COM BV (Jan 20 2005, 15:33:55)starting up
Feb 12 08:27:18 PowerDNS comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it according to the terms of the GPL version 2.
% Feb 12 08:27:18 Launched webserver on 127.0.0.1:8081
Feb 12 08:27:18 Master/slave communicator launching
Feb 12 08:27:18 Creating backend connection for TCP
Feb 12 08:27:18 gmysql Connection succesful
Feb 12 08:27:18 gmysql Connection succesful
Feb 12 08:27:18 All slave domains are fresh
Feb 12 08:27:18 About to create 3 backend threads
Feb 12 08:27:18 gmysql Connection succesful
Feb 12 08:27:19 gmysql Connection succesful
Feb 12 08:27:19 gmysql Connection succesful
Feb 12 08:27:19 Done launching threads, ready to distribute questions
Ender
-
antondollmaier
- Posts: 485
- Joined: 2004-03-30 10:06
Re: Wie sag ichs dem powerdns-master
du hast "master=yes" bzw "slave=yes" nicht in den configs stehen, hatte das gleiche problem hier auch ...
außerdem: steht als domain-typ wirklich "MASTER"?
außerdem: steht als domain-typ wirklich "MASTER"?
Doch
Hab master bzw. slave gesetzt.
Hier die configfiles (nur nicht-kommenteirte Einträge):
master (ns1):
Hier die Domaintabelle beim master:
Hier der Eintrag beim supermaster auf dem slave:
LG
Ender
Hier die configfiles (nur nicht-kommenteirte Einträge):
master (ns1):
CONFIG NS2:config-dir=/etc/powerdns
local-address=81.169.173.47
local-port=53
log-dns-details=yes
log-failed-updates=yes
logfile=/var/log/pdns.log
loglevel=4
master=yes
slave=no
slave-cycle-interval=60
webserver=yes
webserver-address=81.169.173.47
webserver-password=******
webserver-port=8081
launch=gmysql
gmysql-host=127.0.0.1
gmysql-user=****
gmysql-dbname=****
Komischerweise gibts auch keine Logdatei unter /var/log/ ?, sowohl beim master wie auch beim slave nicht.config-dir=/etc/powerdns
local-address=62.4.80.41
log-dns-details=yes
log-failed-updates=yes
logfile=pdns.log
loglevel=4
master=no
slave=yes
slave-cycle-interval=60
webserver=yes
webserver-address=127.0.0.1
webserver-password=******
webserver-port=8081
launch=gmysql
gmysql-host=127.0.0.1
gmysql-user=****
gmysql-dbname=****
Hier die Domaintabelle beim master:
id
name
master
last_check
type
notified_serial
account
4 physikmafia.de 81.169.173.47 NULL MASTER 2005021203 NULL
Hier der Eintrag beim supermaster auf dem slave:
Mein Slaveserver ist ein vserver. Könnte das ein Problem sein?81.169.173.47 ns2.rootdomains.de internal
LG
Ender
Re: Wie sag ichs dem powerdns-master
soviel ich weiß unterstützt der pdns als slave die mysql datenbank nicht, da diese transaktionen nicht unterstützt (greif auf pgsql zurück)
grüße,
grüße,
Re: Wie sag ichs dem powerdns-master
Bevor ich postgres installiere: Geht auch ldap hierfür? Wollte mich sowiso mal mit ldap auseinandersetzen, und das wäre einge gute möglichkeit.
Hat schon mal jemand ein superslave mit ldap aufgesetzt und kann mir sagen, obs funktioniert?
LG
Ender
Hat schon mal jemand ein superslave mit ldap aufgesetzt und kann mir sagen, obs funktioniert?
LG
Ender
Re: Wie sag ichs dem powerdns-master
nein, ldap ist nicht möglich..
sqlite ist auch noch möglich, würde dir aber postgresql empfehlen
sqlite ist auch noch möglich, würde dir aber postgresql empfehlen
klappt net
Hab gerade postgresql aufgesetzt.
Der Supermaster ist angelegt, aber sonst ist die datenbank leer.
Der Server startet, aber sonst passiert nichts.
Hab schon auf dem Master per
notify-host ns2.rootdomains.de physikmafia.de
versucht, die Domain auf den Slave zu bekommen. Aber es passiert auf dem Slave nichts. Hier die Ausgabe:
Der Supermaster ist angelegt, aber sonst ist die datenbank leer.
Der Server startet, aber sonst passiert nichts.
Hab schon auf dem Master per
notify-host ns2.rootdomains.de physikmafia.de
versucht, die Domain auf den Slave zu bekommen. Aber es passiert auf dem Slave nichts. Hier die Ausgabe:
vhost1:/usr/share/doc/phppgadmin# /etc/init.d/pdns monitor
Feb 13 13:57:29 This is module gpgsqlbackend.so reporting
Feb 13 13:57:29 This is a standalone pdns
Feb 13 13:57:29 UDP server bound to 62.4.80.41:53
Feb 13 13:57:29 TCP server bound to 62.4.80.41:53
Feb 13 13:57:29 PowerDNS 2.9.16 (C) 2001-2004 PowerDNS.COM BV (Jan 20 2005, 15:33:55) starting up
Feb 13 13:57:29 PowerDNS comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it according to the terms of the GPL version 2.
% Feb 13 13:57:29 Launched webserver on 127.0.0.1:8081
Feb 13 13:57:29 Master/slave communicator launching
Feb 13 13:57:29 Creating backend connection for TCP
Feb 13 13:57:29 gpgsql Connection succesful
Feb 13 13:57:29 gpgsql Connection succesful
Feb 13 13:57:29 About to create 3 backend threads
Feb 13 13:57:29 gpgsql Connection succesful
Feb 13 13:57:29 All slave domains are fresh
Feb 13 13:57:29 gpgsql Connection succesful
Feb 13 13:57:29 gpgsql Connection succesful
Feb 13 13:57:29 Done launching threads, ready to distribute questions
Langsam verzweifle ich...
LG
Ender
Aktueller Stand
Aktueller Stand meiner versuche:
1.Trage ich eine Zone als Slave in ns2 ein und mache ein receive domainname, klappt alles gut. Allerdings werden keine Ã?nderungen vom Master automatisch übernommen, auch nicht, wenn ich auf dem master notify oder notify-host mache. Ich muss auf dem Server ein retrieve ausführen
2. Es werden keine Domains vom master automatisch auf dem slave übernommen
1.Trage ich eine Zone als Slave in ns2 ein und mache ein receive domainname, klappt alles gut. Allerdings werden keine Ã?nderungen vom Master automatisch übernommen, auch nicht, wenn ich auf dem master notify oder notify-host mache. Ich muss auf dem Server ein retrieve ausführen
2. Es werden keine Domains vom master automatisch auf dem slave übernommen
Re: Wie sag ichs dem powerdns-master
aber in der master-zone steht schon ns2.... als NS drin?
Näher
So, damit kommen wir der Sache schon näher. Das tut es nämlich nicht.
(Ist mein erster DNS-Server, den ich aufsetze)
Das Problem ist jetzt folgendes:
Ich benutze publicdnsadmin als frontend.
Lege ich hiermit ns-Einträge an, schreibt er mit immer den Dommainnamen hinten dran. Schreibe ich beispielsweise als ns eintrag ns1.rootdomains.de, schreibt der in die datenbank ns1.rootdomains.de, physikmafia.de .
Das kanns ja nicht sein.
Mache ich aber ein host physikmafia.de ns1.rootdomains.de, bekomme ich keine NS-Einträge zu sehen.
(Müssen die ns-Einträge eigentlich mit einem Punkt enden?)
Ich habe die Einträge dann mal direkt in der Datenbank korrigiert, so dass diese wie folgt aussehen:
id,domain_id,name,type,content,ttl,prio,change_date
33 1 ns1.rootdomains.de NS 81.169.173.47 86400 0 1108316820
32 1 ns2.rootdomains.de. NS 62.4.80.41 86400 0 1108316820
31 1 physikmafia.de SOA ns1.rootdomains.de hostmaster.rootdomains.de 20050... 86400 0 1108316820
Eine host-anfrage gibt jedoch immernoch keine NS-Einträge an. (Und es kann ja auch nicht, sein, dass ich das Frontend umgehen muss, um korrekte Eintröge in die Datenbank zu machen.)
Danke für die Hilfe!
Ender
(Ist mein erster DNS-Server, den ich aufsetze)
Das Problem ist jetzt folgendes:
Ich benutze publicdnsadmin als frontend.
Lege ich hiermit ns-Einträge an, schreibt er mit immer den Dommainnamen hinten dran. Schreibe ich beispielsweise als ns eintrag ns1.rootdomains.de, schreibt der in die datenbank ns1.rootdomains.de, physikmafia.de .
Das kanns ja nicht sein.
Mache ich aber ein host physikmafia.de ns1.rootdomains.de, bekomme ich keine NS-Einträge zu sehen.
(Müssen die ns-Einträge eigentlich mit einem Punkt enden?)
Ich habe die Einträge dann mal direkt in der Datenbank korrigiert, so dass diese wie folgt aussehen:
id,domain_id,name,type,content,ttl,prio,change_date
33 1 ns1.rootdomains.de NS 81.169.173.47 86400 0 1108316820
32 1 ns2.rootdomains.de. NS 62.4.80.41 86400 0 1108316820
31 1 physikmafia.de SOA ns1.rootdomains.de hostmaster.rootdomains.de 20050... 86400 0 1108316820
Eine host-anfrage gibt jedoch immernoch keine NS-Einträge an. (Und es kann ja auch nicht, sein, dass ich das Frontend umgehen muss, um korrekte Eintröge in die Datenbank zu machen.)
Danke für die Hilfe!
Ender
Geschafft
Einfach beim Frontend das Feld vor dem Domainnamen freigelassen. Jetzt hats geklappt.
Gibt es eine Möglichkeit, dem Slaveserver zu sagen, dass er alle DOmains vom Master holen soll, oder dem Masterserver zu sagen, dass er alle Domains "notifen" soll?
LG
Ender
Gibt es eine Möglichkeit, dem Slaveserver zu sagen, dass er alle DOmains vom Master holen soll, oder dem Masterserver zu sagen, dass er alle Domains "notifen" soll?
LG
Ender
-
antondollmaier
- Posts: 485
- Joined: 2004-03-30 10:06
Re: Wie sag ichs dem powerdns-master
mit dem skript gehts:
pfade für pdns_control und root-pw sowie pdns-datenbankname anpassen ...
Code: Select all
#!/usr/bin/php -c /etc/php-c.ini
<?
$db = mysql_connect("localhost","root","pw");
mysql_select_db("pdns");
$res = mysql_query("select * from domains ORDER by name ASC");
while ( $z = mysql_fetch_array($res))
{
$command = "/usr/local/bin/pdns_control notify ".$z['name'];
print($command."n");
system($command);
print("==nn");
}
mysql_close($db);
?>mysql
danke Anton. Das Script ist klasse.
Habe übrigens jetzt auf dem Slave auch mal mysql als backend benutzt. Ich war nämlich immer der meinung, dass mysql in neueren Versionen auch transaktionssicherheit hat.
Mit mysql klappts auch. In der leeren mysql-Datenbank auf dem slave wurden automatisch alle Domains nach nach einem notify (bzw. dem oberen Sktipt auf dem Master) angelegt.
Noch eine Frage: Nei meiner Konfiguration (s.o.) habe ich zwar eingestellt, dass logfiles erstellt werden, aber ich finde kein logfile.
Jemand eine Idee, warum?
LG
Ender
Habe übrigens jetzt auf dem Slave auch mal mysql als backend benutzt. Ich war nämlich immer der meinung, dass mysql in neueren Versionen auch transaktionssicherheit hat.
Mit mysql klappts auch. In der leeren mysql-Datenbank auf dem slave wurden automatisch alle Domains nach nach einem notify (bzw. dem oberen Sktipt auf dem Master) angelegt.
Noch eine Frage: Nei meiner Konfiguration (s.o.) habe ich zwar eingestellt, dass logfiles erstellt werden, aber ich finde kein logfile.
Jemand eine Idee, warum?
LG
Ender
-
antondollmaier
- Posts: 485
- Joined: 2004-03-30 10:06
Re: mysql
ich hab auch logfiles aktiviert ... aber wird ins syslog geloggt ... auch recht ... grep machts recht ;)aysal wrote:Noch eine Frage: Nei meiner Konfiguration (s.o.) habe ich zwar eingestellt, dass logfiles erstellt werden, aber ich finde kein logfile.
nope ... nicht die bohne ...Jemand eine Idee, warum?
Re: Wie sag ichs dem powerdns-master
Habs inzwischen auch festgestellt....
Komisch....
LG
Ender
Komisch....
LG
Ender