DDNS UPdate mit Bind9 und DHCP

cat1510

Well-Known Member
Guten Morgen!

Eigentlich wollte ich nur, daß mein DNS mit meinem DHCP kommuniziert und umgekehrt. Problem ist, nach außen habe ich eine Auflösung. Intern kommt nichts. Fehler 68 can't resolve host.

In den Logfiles stehen folgende Meldungen:

Sep 19 23:52:57 gateway named[1300]: starting BIND 9.2.2 -u bind -t /etc/namedb/s -c /etc/namedb/nam
ed.conf
Sep 19 23:52:57 gateway named[1300]: command channel listening on 127.0.0.1#953
Sep 19 23:52:57 gateway named[1300]: zone 0.168.192.in-addr.arpa/IN: has no NS records
Sep 19 23:52:57 gateway named[1300]: dns_master_load: s/local.zone:3: ignoring out-of-zone data (BYT
EWORKER.local)
Sep 19 23:52:57 gateway named[1300]: dns_master_load: s/local.zone:11: ignoring out-of-zone data (bw
server.BYTEWORKER.local)
Sep 19 23:52:57 gateway named[1300]: dns_master_load: s/local.zone:12: ignoring out-of-zone data (ga
teway.BYTEWORKER.local)
Sep 19 23:52:57 gateway named[1300]: dns_master_load: s/local.zone:13: ignoring out-of-zone data (hl
server.BYTEWORKER.local)
Sep 19 23:52:57 gateway named[1300]: dns_master_load: s/local.zone:14: ignoring out-of-zone data (su
perkompi.BYTEWORKER.local)
Sep 19 23:52:57 gateway named[1300]: dns_master_load: s/local.zone:16: ignoring out-of-zone data (ha
cker1.BYTEWORKER.local)
Sep 19 23:52:57 gateway named[1300]: dns_master_load: s/local.zone:17: ignoring out-of-zone data (ha
cker2.BYTEWORKER.local)
Sep 19 23:52:57 gateway named[1300]: dns_master_load: s/local.zone:18: ignoring out-of-zone data (ha
cker3.BYTEWORKER.local)
Sep 19 23:52:57 gateway named[1300]: dns_master_load: s/local.zone:20: ignoring out-of-zone data (dh
cp40.BYTEWORKER.local)
Sep 19 23:52:57 gateway named[1300]: dns_master_load: s/local.zone:21: ignoring out-of-zone data (dh
cp41.BYTEWORKER.local)
Sep 19 23:52:57 gateway named[1300]: dns_master_load: s/local.zone:22: ignoring out-of-zone data (dh
cp42.BYTEWORKER.local)
Sep 19 23:52:57 gateway named[1300]: zone monkeytower.local/IN: journal rollforward failed: journal
out of sync with zone

Wenn jemand eine Idee hat wäre ich sehr dankbar.

CAT
 
Original geschrieben von cat1510

Sep 19 23:52:57 gateway named[1300]: zone 0.168.192.in-addr.arpa/IN: has no NS records

Deine Nameserver-Konfiguration ist fehlerhaft, weil der entsprechende Eintrag für deine Zone fehlt.

CW
 
[root@gateway]/etc/namedb/s/etc/namedb/s# less 0.168.192.in-addr.arpa.zone
;$ORIGIN 0.168.192.IN-ADDR.ARPA.
@ 3600 IN SOA gateway.byteworker.local. root.gateway.byteworker.local. (
2003071001
3600
900
3600000
3600 ) ;Cl=4
2 3600 IN NS gateway.byteworker.local. ;Cl=4


steht doch drin...
 
So einen Fehler hab ich schon gefunden. Nun sieht es so aus:

Sep 20 00:15:44 gateway named[1598]: starting BIND 9.2.2 -u bind -t /etc/namedb/s -c /etc/
namedb/named.conf
Sep 20 00:15:44 gateway named[1598]: command channel listening on 127.0.0.1#953
Sep 20 00:15:44 gateway named[1598]: zone 0.168.192.in-addr.arpa/IN: has no NS records
Sep 20 00:15:44 gateway named[1598]: dns_master_load: s/local.zone:10: BYTEWORKER.local: n
ot at top of zone
Sep 20 00:15:44 gateway named[1598]: zone local/IN: loading master file s/local.zone: not
at top of zone
 
moin.

zone 0.168.192.in-addr.arpa/IN: has no NS records

da fehlt noch ein nameserver für deine zone. das ist normalerweise dein eigener dns.

mfg cfenns
 
Sooo ich habe nun 3 Tage "hart" gearbeitet und ein wenig über DNS gelernt. Dazu habe ich auch einen DNS Server auf meinem Laptop aufgebaut. Die Zonefiles und reverse und alles klappt einwandfrei. Habe ein Super howto dazu gefunden und den Link will ich Euch natürlich nicht vorenthalten: http://www.linuxhaven.de/dlhp/HOWTO/DE-DNS-HOWTO.html#toc5

Nun zu meiner Frage. Wie geht das mit dem rndc-key. Was ist das? Wie mach ich den? Wozu muss ich den haben? Reicht bind8.4
nicht für Autoupdate?

Ich akzeptiere auch gerne Links.... ;)

MFG


CAT
 
kennt sich denn jemand mit dem rndc.key aus?

Also generieren ist nicht das Problem. Nur hab ich nicht verstanden, was wohin gehört.

Also angenommen ich generiere einen Schlüssel nach folgendem Muster: dnssec-keygen -a hmac-md5 -b 256 -n HOST test.home

dann bekomme ich 2 Dateien:

Ktest.home.+157+32197.key
Ktest.home.+157+32197.private

Wozu sind die? bzw kopier ich mir den Schlüssel da raus?
der Schlüssel ist ja gleich. Oder ist das das "secret" später?
und den Schlüsselnamen hab ich festgelegt? ist das test.home?

CAT
 
*g* Wer lesen kann ist klar im Vorteil.

The easiest, and most secure way to configure rndc is
to run 'rndc-confgen -a' which will generate the proper
conf file, with a new random key, and appropriate file
permissions.

Das steht bei der Installation von Bind9 in so einem klitzekleinen ;) Kasten.

CAT
 
Danke cfenns,

ich verstehe noch nicht, wozu rndcontrol -s <IRQ> da ist.

Den Befehl rndcontrol kennt mein System nicht. Bind9 ist aber schon installiert.
 
moin.

ja die sache mit den IRQ habe ich auch weggelassen. vergaß ich zu sagen. die keys werden z.b. zur sicheren kommunikation zwischen zwei bind servern genutzt. wenn ich falsch liege verbessert mich.

mfg cfenns
 
@ cfenns
Danke für die iditiotensichere Anleitung. Es läuft alles einwandffrei.

Hast Du auch noch so eine tolle Erklärung für den DDNS Updater? Der braucht ja auch eine Verschlüsselung richtig?


mfg

CAT
 
guten abend

ich habe meine conf's mal auf den ftp gepackt. bei mir ist der dhcp so eingestellt das er die updates loggt und ich mir das ganze per syslogd anschauen kann. du musst dir eben das raus suchen was für dich relevant ist. ich selber habe mir das auch nur so im web zusammengesucht. werde vielleicht mal ein howto schreiben. ich hoffe das bringt dich trotzdem weiter.

mfg cfenns

ftp://www.cfenns.ath.cx/usergroup/pub/conf/

ps. den key musst du dir natürlich noch erstellen. einfach mal googeln
 
Mahlzeit

Es läuft leider nicht richtig bzw die "reden" nicht miteinander.
Kann mir aber nicht erklären, wo der Fehler ist. in den logs steht nur:

Sep 28 16:40:17 laptop named[270]: starting BIND 9.2.3rc4 -c /etc/namedb/named.conf -u bind
Sep 28 16:40:18 laptop named[270]: command channel listening on 127.0.0.1#953
Sep 28 16:40:18 laptop named[270]: xy/10.0.0:1: no TTL specified; using SOA MINTTL instead
Sep 28 16:40:18 laptop named[270]: xy/127.0.0:1: no TTL specified; using SOA MINTTL instead
Sep 28 16:40:18 laptop named[270]: xy/byteworker.home:6: no TTL specified; using SOA MINTTL instead

Die dhcpd.conf habe ich genau nach Deiner aufgebaut.
Die named.conf hab ich auch nur ein bißchen angepasst.
Es kommt leider keine Fehlermeldung. Den key für den DHCP_UPDATER habe ich mit in meine rndc.key Datei geschrieben. Muss ich dann auch noch einen Eintrag in der rndc.conf machen?

dhcpd.conf:

# DDNS Key
include "/usr/local/etc/rndc.key";

ddns-update-style interim;
ddns-domainname "byteworker.home";
ddns-rev-domainname "in-addr.arpa";
allow client-updates;
ddns-ttl 600;


# Sonstige Einstellungen
server-identifier 10.0.0.7;
option domain-name "byteworker.home";
#option netbios-name-servers 10.0.0.7;
option domain-name-servers 10.0.0.7;
option routers 10.0.0.2;
option netbios-node-type 2;
log-facility local7;
authoritative;

# DDNS Zonen
zone byteworker.home. {
key "DHCP_UPDATER";
}

zone 0.0.10.in-addr.arpa. {
key "DHCP_UPDATER";
}

# DHCP Netzwerke
shared-network BYTEWORKER {
ddns-updates on;
subnet 10.0.0.0 netmask 255.255.0.0 {
range 10.0.0.80 10.0.0.90;
}
}

named.conf:

include "/usr/local/etc/rndc.key";

server 127.0.0.1 {
keys {
DHCP_UPDATER ;
};
};

controls {

inet 127.0.0.1 allow { 127.0.0.1; } keys { "rndc-key"; };


};

options {
directory "/etc/namedb";
pid-file "/etc/namedb/named.pid";
dump-file "/var/tmp/named_dump.db";
// notify no;
auth-nxdomain yes;

forward first;
forwarders {
194.25.2.129;
};



// Wenn Verbindungen über eine Firewall gehen müssen und das nicht
// so funktioniert, wie es sollte, hilft es vielleicht, die folgende
// Zeile auszukommentieren.

// query-source port 53;
};

zone "." {
type hint;
file "named.root";
};

zone "0.0.127.in-addr.arpa" {
type master;
file "xy/127.0.0";
};

zone "byteworker.home" {
notify yes;
type master;
file "xy/byteworker.home";
allow-update { key DHCP_UPDATER; };
};

zone "0.0.10.in-addr.arpa" {
notify yes;
type master;
file "xy/10.0.0";
allow-update { key DHCP_UPDATER; };
};


MFG

CAT
 
hallo cat1510

also die fehlermeldungen deuten darauf hin das für deine zonen keine TTL eingestellt ist. das kannst du unter webmin z.b. ganz bequem machen. die sache mit dem key funktioniert so natürlich nicht. du musst schon einen mit dem namen DHCP_UPDATER nehmen wenn es in den conf's so steht. ich habe dir welche erstellt und auf den ftp gepackt. den ordner key einfach nach /etc kopiern und die conf's natürlich wieder anpassen. hoffe das hilft dir weiter. wenn nicht posten.

mfg cfenns
 
Ich danke für Deine Hilfe. Bis jetzt läuft es nicht! Es ist zum Mäuse melken. Habe alles noch 30 mal gecheckt. Bin ich denn zu doof? Hab auch ein paar Syntax Fehler gefunden.
Deinen Key hast Du mit einem Punkt am Ende. DHCP_UPDATER. Das hab ich auch korrigiert. Den $TTL Pegel hab ich auch eingefügt. Keine Meldungen mehr in den log's. DHCP läuft auch einwandfrei. Ich habe einen FreeBSD Rechner auf DHCP gestellt und neu booten lassen. Er ist auch in der Domain byteworker.home. Sollte doch dann klappen oder? Eine ip im Range und alles andere bekommt er korrekt zugeteilt. Auch kann er den DNS Server über seinen Namen auflösen. Seinen eigenen kann er nicht finden.

Eine Idee, was falsch ist habe ich nicht. Welche Berechtigungen bzw Owner muss denn der "key" Ordner und die files haben?

Ich wünsche Euche einen stressfreien Montag.

CAT
 
moin

das mit dem punkt am ende würde ich aber so lassen. bei mir läuft es ja. da habe ich mich am anfang auch gewundert. das was ich auf den ftp gepackt habe ist im prinzip meine funktionierende konfiguration. bei einem kumpel habe ich auch einfach meine conf's und den key verwendet und es funzt.
hat bind denn auch schreibrechte im /etc/namedb verzeichnis?? wenn er in einer sandbox als group und user bind läuft dann setzt die berechtigung dementsprechend. was mir auch aufgefallen ist. mit bsd clienten klappt das mit dem ddns nicht gleich auf anhieb. mit meinen windowskisten no problem. ich habe mal gelesen das man unter bsd noch extra was einstellen muss das der dhcp client den dns-namen mitschickt. ich werde mal schauen ob ich das howto noch irgendwo habe. der key ordner muss einfach nur lesbar für alle sein.
ein weiteres phänomen ist das der dns nicht gleich die zonen aktualisiert. dauert bei mir ca. 30-60 sekunden. nimm als TTL für alle zonen am besten 600. das war am anfang bei mir der fehler. reboote danach mal. ein neustart vom dns hat bei mir seltsamer weise nix gebracht.

mfg cfenns
 
Hi,

es klappt alles einwandfrei!!! Hurra!!! Endlich. Es war kein Fehler in meiner Konfig. Der "Fehler" lag am OS. Die windoofKiste kann sich sofort am DNS eintragen und alles lübbt super! Der FreeBSD Client ist das schwarze Schaf.
In der DHCLIENT.conf soll noch was eingestellt werden.
Hab noch keine Ahnung was. Aber ich bin schon mal froh daß diese "Neverending Story" vorbei ist.

Nochmal Danke @ cfenns.

MFG

CAT
 
freu jubel feier sektkorken knall :D

na dann bin ich ja zufrieden. schön das ich helfen konnte.

schönen abend noch !!!

mfg cfenns
 
Hmm ich habe noch einen kleinen Fehler drin.

Bekomme jetzt immer folgende Meldung:

Sep 30 12:02:22 gateway named[291]: client 10.0.0.11#1093: update 'byteworker.local/IN' denied

In der byteworker.local ist aber alles richtig. Hab ich jetzt schon 1000 mal kontrolliert. Die Rechte sind auch richtig vergeben, wie bei den anderen Zonefiles. Im Reverse Eintrag klappt es auch ohne Probleme.

zone byteworker.local

$ORIGIN byteworker.local.
$TTL 3600 ; 1 hour
byteworker.local. IN SOA gateway.byteworker.local. hostmaster.byteworker.local. (
200302153 ; serial
28800 ; refresh (8 hours)
7200 ; retry (2 hours)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS gateway.byteworker.local.
gateway A 10.0.0.2
HINFO "PIII 600" "FreeBSD 5.1 Release"
TXT "Der neue DNS-Server"
localhost A 127.0.0.1


MFG

CAT
 
Zurück
Oben