[solved] DHCPD und Probleme mit updating Zone

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
feldmaus
Beiträge: 1307
Registriert: 14.06.2005 23:13:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Deutschland

[solved] DHCPD und Probleme mit updating Zone

Beitrag von feldmaus » 21.11.2007 15:09:15

Hallo ich mal wieder,

aber wie mein Kollege immer so schön sagte,
Eine Frage Ein Anruf :-)

Mein Problem,
Ich habe ein kleines Netzwerk bestehend aus Win und Linux Clients die sich über meinen DDNS auf meinem DNS Server registrieren lassen beim booten.

Code: Alles auswählen

feld-nat --> Win XP Home (Client)
feld-drizzt --> Win XP Home (Client)
feld-bertlap --> Debian Etch (Client) mit dhcp3-clinet
feld-server --> Debian Etch (Server) mit dhcp3-server und dhcp3-common und bind9
Allerdings erhalte ich für einen meiner Windows Clients(feld-drizzt) folgende Meldung,

Code: Alles auswählen

Nov 21 15:10:21 feld-server named[2234]: client 127.0.0.1#1026: updating zone '0.168.192.in-addr.arpa/IN': deleting rrset at '200.0.168.192.in-addr.arpa' PTR
Nov 21 15:10:21 feld-server named[2234]: zone 0.168.192.in-addr.arpa/IN: sending notifies (serial 2006054138)
Nov 21 15:10:21 feld-server dhcpd: removed reverse map on 200.0.168.192.in-addr.arpa.
Nov 21 15:10:21 feld-server dhcpd: DHCPRELEASE of 192.168.0.200 from 00:10:dc:96:c8:7d (feld-drizzt) via br0 (found)
Nov 21 15:10:21 feld-server named[2234]: client 192.168.0.186#1024: received notify for zone '0.168.192.in-addr.arpa'
Nov 21 15:10:29 feld-server dhcpd: DHCPDISCOVER from 00:10:dc:96:c8:7d via br0
Nov 21 15:10:30 feld-server dhcpd: DHCPOFFER on 192.168.0.200 to 00:10:dc:96:c8:7d (feld-drizzt) via br0
Nov 21 15:10:30 feld-server named[2234]: client 127.0.0.1#1026: updating zone '0.168.192.in-addr.arpa/IN': deleting rrset at '200.0.168.192.in-addr.arpa' PTR
Nov 21 15:10:30 feld-server named[2234]: client 127.0.0.1#1026: updating zone '0.168.192.in-addr.arpa/IN': adding an RR at '200.0.168.192.in-addr.arpa' PTR
Nov 21 15:10:30 feld-server named[2234]: zone 0.168.192.in-addr.arpa/IN: sending notifies (serial 2006054139)
Nov 21 15:10:30 feld-server named[2234]: client 192.168.0.186#1024: received notify for zone '0.168.192.in-addr.arpa'
Nov 21 15:10:30 feld-server dhcpd: added reverse map from 200.0.168.192.in-addr.arpa. to feld-drizzt.feldland.lan
Nov 21 15:10:30 feld-server dhcpd: DHCPREQUEST for 192.168.0.200 (192.168.0.186) from 00:10:dc:96:c8:7d (feld-drizzt) via br0
Nov 21 15:10:30 feld-server dhcpd: DHCPACK on 192.168.0.200 to 00:10:dc:96:c8:7d (feld-drizzt) via br0
************      NUN KOMMT DER FEHLER **************
Nov 21 15:10:32 feld-server named[2234]: client 192.168.0.200#1443: updating zone 'feldland.lan/IN': update unsuccessful: feld-drizzt.feldland.lan/A: 'RRset exists (value dependent)' prerequisite not satisfied (NXRRSET)
Nov 21 15:10:32 feld-server named[2234]: client 192.168.0.200#1446: update 'feldland.lan/IN' denied
Wie muss ich vorgehen um das Problem zu bereinigen?
Kann ich den alten Eintrag in meinem DNS Server für feld-drizzt einfach löschen?

Grüsse Markus
Zuletzt geändert von feldmaus am 25.11.2007 19:13:45, insgesamt 1-mal geändert.

Benutzeravatar
feldmaus
Beiträge: 1307
Registriert: 14.06.2005 23:13:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Deutschland

Beitrag von feldmaus » 21.11.2007 21:30:35

Das Problem ist, so nehme ich zumindest an, dass der Client in der zone feldland.lan vorhanden ist aber nicht in der zone 0.168.192.

Nun habe ich die Seriennummer erhöht den unerwünschten Eintrag aus der zone feldlandlan genommen die Bind Journals gelöscht und neugestartet.
Und schon meckerte er nicht mehr, wenn DHCPD den Client feld-drizzt registrieren wollte

Dafür meckert er jetzt rum das,

Code: Alles auswählen

Nov 21 21:20:30 feld-server named[2217]: invalid command from 127.0.0.1#2489: bad auth
Alle Clients werden nicht mehr registriert, bzw. erscheinen nur noch in der zone feldland.lan und nicht mehr in der 0.168.192

Der Bind Server scheint aber korrekt gestartet zu sein,

Code: Alles auswählen

Nov 21 21:16:54 feld-server named[2217]: starting BIND 9.3.4 -u bind
Nov 21 21:16:54 feld-server named[2217]: found 1 CPU, using 1 worker thread
Nov 21 21:16:54 feld-server named[2217]: loading configuration from '/etc/bind/named.conf'
Nov 21 21:16:55 feld-server named[2217]: listening on IPv4 interface lo, 127.0.0.1#53
Nov 21 21:16:55 feld-server named[2217]: listening on IPv4 interface br0, 192.168.0.186#53
Nov 21 21:16:55 feld-server named[2217]: command channel listening on 127.0.0.1#953
Nov 21 21:16:55 feld-server named[2217]: zone 0.in-addr.arpa/IN: loaded serial 1
Nov 21 21:16:55 feld-server named[2217]: zone 127.in-addr.arpa/IN: loaded serial 1
Nov 21 21:16:55 feld-server named[2217]: zone 0.168.192.in-addr.arpa/IN: loaded serial 2007112122
Nov 21 21:16:55 feld-server named[2217]: zone 255.in-addr.arpa/IN: loaded serial 1
Nov 21 21:16:55 feld-server named[2217]: zone feldland.lan/IN: loaded serial 2007112121
Nov 21 21:16:55 feld-server named[2217]: zone localhost/IN: loaded serial 1
Nov 21 21:16:55 feld-server named[2217]: running
Nov 21 21:16:55 feld-server named[2217]: zone 0.168.192.in-addr.arpa/IN: sending notifies (serial 2007112122)
Nov 21 21:16:55 feld-server named[2217]: client 192.168.0.186#1024: received notify for zone '0.168.192.in-addr.arpa'
Meine dhcpd.conf sieht wie folgt aus,

Code: Alles auswählen

#Author: Markus Feldmann
server-identifier feld-server.feldland.lan;
allow unknown-clients;
ddns-update-style interim;

default-lease-time 86000;
max-lease-time 86000;
authoritative;
log-facility local7;

key mykey {
algorithm hmac-md5;
secret "aaaaaaaaaaaaaaaaaaaaaa==";
};

zone feldland.lan. {
primary 192.168.0.186;
key mykey;
}

zone 0.168.192.in-addr.arpa. {
primary 192.168.0.186;
key mykey;
}

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.100 192.168.0.200;
  option subnet-mask 255.255.255.0;
  option domain-name-servers 192.168.0.186;
  option domain-name "feldland.lan";
  option netbios-node-type 8;
  option routers 192.168.0.186;
  one-lease-per-client on;
  option netbios-name-servers 192.168.0.186;
}
Und meine named.conf,

Code: Alles auswählen

include "/etc/bind/named.conf.options";

zone "." {
        type hint;
        file "/etc/bind/db.root";
};

zone "localhost" {
        type master;
        file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
        type master;
        file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
        type master;
        file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
        type master;
        file "/etc/bind/db.255";
};

include "/etc/bind/named.conf.local";
named.conf.options,

Code: Alles auswählen

key mykey {
algorithm hmac-md5;
secret "aaaaaaaaaaaaaaaaaaaaaa==";
};


controls {inet 127.0.0.1 port 953 allow { 127.0.0.1; 192.168.0.186;} keys { mykey ;}; };

acl "home" {192.168.0.0/24; 127.0.0.1;};

options {
        directory "/var/cache/bind";

        listen-on port 53 { "home";};

        forwarders {
                195.50.140.114;
                195.50.140.252;
        };
        forward only;

        allow-query { "home"; };
        allow-transfer { "home"; };

        auth-nxdomain no;    # conform to RFC1035

};
named.conf.local,

Code: Alles auswählen

zone "feldland.lan" {
        type master;
        file "/etc/bind/db.feldland.lan";
        allow-update {key mykey ;};
};

zone "0.168.192.in-addr.arpa" {
        type master;
        file "/etc/bind/db.0.168.192";
        allow-update {key mykey ;};
};
Meine wichtige Zonendateien folgen jetzt,
db.0.168.192,

Code: Alles auswählen

$ORIGIN .
$TTL 86400      ; 1 day
0.168.192.in-addr.arpa  IN SOA  feldland.lan. feldmann_markus.gmx.de. (
                                2007112122 ; serial
                                28800      ; refresh (8 hours)
                                14400      ; retry (4 hours)
                                2419200    ; expire (4 weeks)
                                86400      ; minimum (1 day)
                                )
                        NS      feld-server.feldland.lan.
$ORIGIN 0.168.192.in-addr.arpa.
187                     PTR     feld-bertlap.feldland.lan.
db.feldland.lan,

Code: Alles auswählen

$ORIGIN .
$TTL 86400      ; 1 day
feldland.lan            IN SOA  feld-server.feldland.lan. feldmann_markus.gmx.de. (
                                2007112121 ; serial
                                28800      ; refresh (8 hours)
                                14400      ; retry (4 hours)
                                2419200    ; expire (4 weeks)
                                86400      ; minimum (1 day)
                                )
                        NS      feld-server.feldland.lan.
$ORIGIN feldland.lan.
feld-server             A       192.168.0.186
Hat Jemand ne Idee was da schief gelaufen sein könnte?
Meine Vermutung ist das sich der DHCPD versucht zu authentifizieren aber der NAMED es ihm nicht erlaubt,

Code: Alles auswählen

Nov 21 21:20:30 feld-server named[2217]: invalid command from 127.0.0.1#2489: bad auth
Zuletzt geändert von feldmaus am 22.11.2007 11:51:58, insgesamt 1-mal geändert.

Benutzeravatar
feldmaus
Beiträge: 1307
Registriert: 14.06.2005 23:13:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Deutschland

Beitrag von feldmaus » 22.11.2007 01:43:37

Nun meckert er rum das die Journal Dateien nicht mehr synchron sind, daher habe ich sie gelöscht, nachdem ich bind runtergefahren habe.
Und ich habe in der Datei rndc.key im Bind Verzeichnis meinen aktuellen key eingetragen.

Nun gibt es zumindest keine Fehlermeldungen mehr.
Eingetragen hat er meinen Client allerdings noch nicht.

Benutzeravatar
feldmaus
Beiträge: 1307
Registriert: 14.06.2005 23:13:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Deutschland

Beitrag von feldmaus » 22.11.2007 03:22:31

Weiterhin habe ich in der Datei /var/lib/dhcp3/dhcpd.leases den Client entfernt nachdem ich den dhcpd3 Server gestopt hatte. Dann sofort wieder den Dhcpd3 Server gestartet und auf dem Client eine neue IP angefordert.

Dies scheint gewirkt zu haben. Abwarten und Tee trinken.

Meine derzeitige dhcpd.conf sieht wie folgt aus,

Code: Alles auswählen

#Author: Markus Feldmann
allow unknown-clients;
ddns-update-style interim;

default-lease-time 86000;
max-lease-time 86000;
authoritative;
log-facility local7;

key mykey {
algorithm hmac-md5;
secret "***";
};

zone feldland.lan. {
primary 192.168.0.186;
key mykey;
}

zone 0.168.192.in-addr.arpa. {
primary 192.168.0.186;
key mykey;
}

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.100 192.168.0.200;
  option subnet-mask 255.255.255.0;
  option domain-name-servers 192.168.0.186;
  option domain-name "feldland.lan";
  option netbios-node-type 8;
  option routers 192.168.0.186;
  one-lease-per-client on;
  option netbios-name-servers 192.168.0.186;
}

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Beitrag von ThorstenS » 22.11.2007 08:43:27

Glückwunsch - scheint nun zu funktionieren :)

Wenn du mal einen Namen von Hand im Bind eintragen magst, dann kannst du das folgendermassen tun (quasi zu Testzwecken, dann musst du nicht immer die jnl Datei löschen).

Code: Alles auswählen

/etc/bind# nsupdate -k Kfeldmann_lan.+157+31691.key
 > update add beamer123.feldmann_lan 86400 IN A 10.80.0.6
 > update add 6.0.80.10.in-addr.arpa 86400 IN PTR beamer123.feldmann_lan
 > send
Praxistauglicher ist der Fall des Löschens:

Code: Alles auswählen

/etc/bind# nsupdate -k Kfeldmann_lan+157+31691.key
 > update delete beamer123.feldmann_lan
 > send
nsupdate steckt im Paket dnsutils:

Code: Alles auswählen

:~$ dpkg -S bin/nsupdate
dnsutils: /usr/bin/nsupdate

Benutzeravatar
feldmaus
Beiträge: 1307
Registriert: 14.06.2005 23:13:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Deutschland

Beitrag von feldmaus » 22.11.2007 11:36:28

Das wäre meine nächste Frage gewesen wofür ich einen neuen Thread aufgemacht hätte. :-)
Wäre schön wenn es in unserem Wiki ein Howto gebe wie man einen Bind richtig pflegt.
Auf jeden Fall danke für den Tipp Thorsten.

Frage,
Wird dann auch die Seriennummer neu gesetzt?
Kann ich die Seriennummer beeinflussen?

Folgendes Beispiel,
Ich habe Bind9.
Mein Key liegt in der Datei rndc.key(den ich für DDNS benutze),

Code: Alles auswählen

key "rndc-key" {
        algorithm hmac-md5;
        secret "aaaaaaaaaaaaaaaaaaaaaa==";
};
Den Befehl werde ich auf dem DNS Server ausführen.
Ich möchte in der Datei,
"db.0.168.192",

Code: Alles auswählen

$ORIGIN .
$TTL 86400      ; 1 day
0.168.192.in-addr.arpa  IN SOA  feldland.lan. feldmann_markus.gmx.de. (
                                2007112129 ; serial
                                28800      ; refresh (8 hours)
                                14400      ; retry (4 hours)
                                2419200    ; expire (4 weeks)
                                86400      ; minimum (1 day)
                                )
                        NS      feld-server.feldland.lan.
$ORIGIN 0.168.192.in-addr.arpa.
130                     PTR     feld-nat.feldland.lan.
184                     PTR     feld-nbb.feldland.lan.
186                     PTR     feld-server.feldland.lan.
$TTL 43000      ; 11 hours 56 minutes 40 seconds
187                     PTR     feld-bertlap.feldland.lan.
$TTL 86400      ; 1 day
200                     PTR     feld-drizzt.feldland.lan.
folgenden Eintrag löschen,

Code: Alles auswählen

130                     PTR     feld-nat.feldland.lan.
und aus der Datei,
"db.feldland.lan",

Code: Alles auswählen

$ORIGIN .
$TTL 86400      ; 1 day
feldland.lan            IN SOA  feld-server.feldland.lan. feldmann_markus.gmx.de. (
                                2007112127 ; serial
                                28800      ; refresh (8 hours)
                                14400      ; retry (4 hours)
                                2419200    ; expire (4 weeks)
                                86400      ; minimum (1 day)
                                )
                        NS      feld-server.feldland.lan.
$ORIGIN feldland.lan.
$TTL 43000      ; 11 hours 56 minutes 40 seconds
feld-bertlap            A       192.168.0.187
                        TXT     "00550e4933d6a45b944e7f69bd90dd8103"
$TTL 86400      ; 1 day
feld-drizzt             A       192.168.0.200
feld-nat                A       192.168.0.130
feld-nbb                A       192.168.0.184
feld-server             A       192.168.0.186
folgenden Eintrag löschen,

Code: Alles auswählen

feld-nat                A       192.168.0.130
wie hat dann der Befehl mit nsupdate auzusehen?

Hier noch ein Link in dem mehr als in meiner man Page steht zu nsupdate,
http://linux.yyz.us/nsupdate/nsupdate-man.html

Ich habe mal folgendes probiert, aber er meldet bad key,

Code: Alles auswählen

feld-server:/etc/bind# nsupdate -d -y rndc-key:aaaaaaaaaaaaaaaaaaaaaa==
Creating key...
namefromtext
keycreate
> local 192.168.0.186
> server 192.168.0.186
> update delete 130                     PTR     feld-nat.feldland.lan.
> update delete feld-nat                A       192.168.0.130
> send
Reply from SOA query:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id:  36506
;; flags: qr rd ra ; QUESTION: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;130.                           IN      SOA

;; AUTHORITY SECTION:
.                       0       IN      SOA     A.ROOT-SERVERS.NET. NSTLD.VERISIGN-GRS.COM. 2007112101 1800 900 604800 86400


Found zone name: .
The master is: A.ROOT-SERVERS.NET
Sending update to 192.168.0.186#53
Outgoing update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id:  16787
;; flags: ; ZONE: 1, PREREQ: 0, UPDATE: 2, ADDITIONAL: 1
;; ZONE SECTION:
;.                              IN      SOA

;; UPDATE SECTION:
130.                    0       NONE    PTR     feld-nat.feldland.lan.
feld-nat.               0       NONE    A       192.168.0.130

;; TSIG PSEUDOSECTION:
rndc-key.               0       ANY     TSIG    hmac-md5.sig-alg.reg.int. 1195734871 300 16 Van5UG+Ag1N4j0lM4RiJ5A== 16787 NOERROR 0

; TSIG error with server: tsig indicates error

Reply from update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOTAUTH, id:  16787
;; flags: qr ra ; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 1
;; TSIG PSEUDOSECTION:
rndc-key.               0       ANY     TSIG    hmac-md5.sig-alg.reg.int. 1195734871 300 0  16787 BADKEY 0

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Beitrag von ThorstenS » 22.11.2007 14:49:45

Ich habe gerade nicht die Zeit mir die Sache anzuschauen, evtl. kann dir jemand anders helfen?

Was mich störte, war, dass der bind in den Statuszeilen folgendes schreibt:

Code: Alles auswählen

; ->>HEADER<<- opcode: UPDATE, status: NOTAUTH, id:  16787
;; flags: qr ra ; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 1
Dort fehlt ein "aa" - denn nur dann ist er für die Zone zuständig, evtl. doch noch ein configfehler?

dig feldmann.lan @IP-DEINES-DNS-SERVERS - das sollte ein aa bei den flags liefern, sonst brauchst du dich erst gar nicht weiter mit den keys befassen...

Aber evtl. hilft dir diese Seite weiter:
http://www.debian-administration.org/articles/343

Benutzeravatar
feldmaus
Beiträge: 1307
Registriert: 14.06.2005 23:13:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Deutschland

Beitrag von feldmaus » 22.11.2007 15:01:14

Ok ich habe folgendes ausgeführt und kein aa als flag erhalten,

Code: Alles auswählen

feld-server:/etc/bind# dig feldmann.lan@192.168.0.186

; <<>> DiG 9.3.4 <<>> feldmann.lan@192.168.0.186
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 59552
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;feldmann.lan\@192.168.0.186.   IN      A

;; AUTHORITY SECTION:
.                       3537    IN      SOA     A.ROOT-SERVERS.NET. NSTLD.VERISIGN-GRS.COM. 2007112101 1800 900 604800 86400

;; Query time: 3 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Nov 22 15:08:08 2007
;; MSG SIZE  rcvd: 119
Ich habe die starke Vermutung das er nicht meinen Server fragt, daher ist das Flag aa wahrscheinlich auch nicht gesetzt.
Hier nochmal ein Auszug aus dem oberen Beitrag,

Code: Alles auswählen

Found zone name: .
The master is: A.ROOT-SERVERS.NET 
Aber ich übergebe bei nsupdate ja schon den Befehl "server 192.168.0.186" und "zone feldland.lan"

Ich gehe mal davon aus das du DNS & BIND von O'Reilly hast.
Wo stehen diese Flags erläutert?
Auf Seite 580 Kapitel Format des Header-Abschnitts

Weiterhin nehme ich an das der Server A.ROOT-SERVERS.NET. befragt wurde, welcher in meiner "db.root" steht
Aber wie kommt er auf diese Idee?
Und wie kann ich das ändern?

Hier meine db.root,

Code: Alles auswählen

; <<>> DiG 9.2.3 <<>> ns . @a.root-servers.net.
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18944
;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13

;; QUESTION SECTION:
;.                              IN      NS

;; ANSWER SECTION:
.                       518400  IN      NS      A.ROOT-SERVERS.NET.
.                       518400  IN      NS      B.ROOT-SERVERS.NET.
.                       518400  IN      NS      C.ROOT-SERVERS.NET.
.                       518400  IN      NS      D.ROOT-SERVERS.NET.
.                       518400  IN      NS      E.ROOT-SERVERS.NET.
.                       518400  IN      NS      F.ROOT-SERVERS.NET.
.                       518400  IN      NS      G.ROOT-SERVERS.NET.
.                       518400  IN      NS      H.ROOT-SERVERS.NET.
.                       518400  IN      NS      I.ROOT-SERVERS.NET.
.                       518400  IN      NS      J.ROOT-SERVERS.NET.
.                       518400  IN      NS      K.ROOT-SERVERS.NET.
.                       518400  IN      NS      L.ROOT-SERVERS.NET.
.                       518400  IN      NS      M.ROOT-SERVERS.NET.

;; ADDITIONAL SECTION:
A.ROOT-SERVERS.NET.     3600000 IN      A       198.41.0.4
B.ROOT-SERVERS.NET.     3600000 IN      A       192.228.79.201
C.ROOT-SERVERS.NET.     3600000 IN      A       192.33.4.12
D.ROOT-SERVERS.NET.     3600000 IN      A       128.8.10.90
E.ROOT-SERVERS.NET.     3600000 IN      A       192.203.230.10
F.ROOT-SERVERS.NET.     3600000 IN      A       192.5.5.241
G.ROOT-SERVERS.NET.     3600000 IN      A       192.112.36.4
H.ROOT-SERVERS.NET.     3600000 IN      A       128.63.2.53
I.ROOT-SERVERS.NET.     3600000 IN      A       192.36.148.17
J.ROOT-SERVERS.NET.     3600000 IN      A       192.58.128.30
K.ROOT-SERVERS.NET.     3600000 IN      A       193.0.14.129
L.ROOT-SERVERS.NET.     3600000 IN      A       198.32.64.12
M.ROOT-SERVERS.NET.     3600000 IN      A       202.12.27.33

;; Query time: 81 msec
;; SERVER: 198.41.0.4#53(a.root-servers.net.)
;; WHEN: Sun Feb  1 11:27:14 2004
;; MSG SIZE  rcvd: 436

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Beitrag von ThorstenS » 22.11.2007 16:17:22

Ich habe das Buch nicht, meine configs sind seit debian/woody gewachsen. In dem von mir oben verlinkten Artikel ist als letzter Kommentar eine Schritt-für Schritt Anleitung. Hast du dir dei angeschaut?

Achja, oben hast du nen Fehler oder es falsch abgetipselt:

Code: Alles auswählen

dig DNS.NAME @IP
   ^        ^---- Leerzeichen
    ` -- Leerzeichen
Das flag aa heisst "authoritive answer" - das ist also Grundvoraussetzung für dein ddns.

Damit er deinen Server fragt, muss die /etc/resolv.conf die Zeile "nameserver 127.0.0.1" enthalten - hast du die drin?
Ausserdem noch "domain feldmann.lan" - mehr nicht.

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von habakug » 22.11.2007 17:05:28

Hallo!

So könnte es aussehen:

Code: Alles auswählen

root@gnubbel:~$ dig -x 192.168.178.1

; <<>> DiG 9.3.4 <<>> -x 192.168.178.1
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18360
;; flags: qr aa ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;1.178.168.192.in-addr.arpa.    IN      PTR

;; ANSWER SECTION:
1.178.168.192.in-addr.arpa. 10  IN      PTR     gnubbelz.lan.box.

;; Query time: 11 msec
;; SERVER: 192.168.178.1#53(192.168.178.1)
;; WHEN: Thu Nov 22 16:58:18 2007
;; MSG SIZE  rcvd: 100
Gruß, habakug

Benutzeravatar
feldmaus
Beiträge: 1307
Registriert: 14.06.2005 23:13:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Deutschland

Beitrag von feldmaus » 23.11.2007 01:45:38

Ok ich habe folgendes gemacht,

Code: Alles auswählen

feld-server:/etc/bind# dig feldmann.lan @192.168.0.186
und dabei folgendes erhalten,

Code: Alles auswählen

; <<>> DiG 9.3.4 <<>> feldmann.lan @192.168.0.186
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 20249
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;feldmann.lan.                  IN      A

;; AUTHORITY SECTION:
.                       3510    IN      SOA     A.ROOT-SERVERS.NET. NSTLD.VERISIGN-GRS.COM. 2007112200 1800 900 604800 86400

;; Query time: 3 msec
;; SERVER: 192.168.0.186#53(192.168.0.186)
;; WHEN: Fri Nov 23 01:48:51 2007
;; MSG SIZE  rcvd: 105
Weiterhin habe ich auch folgendes gemacht,

Code: Alles auswählen

feld-server:/etc/bind# dig -x 192.168.0.186
und dabei kam das rauß,

Code: Alles auswählen

; <<>> DiG 9.3.4 <<>> -x 192.168.0.186
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24310
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;186.0.168.192.in-addr.arpa.    IN      PTR

;; ANSWER SECTION:
186.0.168.192.in-addr.arpa. 86400 IN    PTR     feld-server.feldland.lan.

;; AUTHORITY SECTION:
0.168.192.in-addr.arpa. 86400   IN      NS      feld-server.feldland.lan.

;; ADDITIONAL SECTION:
feld-server.feldland.lan. 86400 IN      A       192.168.0.186

;; Query time: 3 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Nov 23 01:49:19 2007
;; MSG SIZE  rcvd: 112
Allerdings führ folgendes zu einem anderen Ergebnis,

Code: Alles auswählen

feld-server:/etc/bind# dig -x feld-server
Ergebnis davon ist,

Code: Alles auswählen

; <<>> DiG 9.3.4 <<>> -x feld-server
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 53248
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;feld-server.in-addr.arpa.      IN      PTR

;; AUTHORITY SECTION:
in-addr.arpa.           3600    IN      SOA     A.ROOT-SERVERS.NET. dns-ops.ARIN.NET. 2007112216 1800 900 691200 10800

;; Query time: 31 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Nov 23 01:55:13 2007
;; MSG SIZE  rcvd: 109

Hier noch ein paar Dateien die hilfreich sein könnten,
/etc/resolv.conf :

Code: Alles auswählen

feld-server:/etc/bind# cat /etc/resolv.conf
domain feldland.lan
search feldland.lan
nameserver 127.0.0.1
nameserver 192.168.0.186
/etc/host.conf :

Code: Alles auswählen

feld-server:/etc/bind# cat /etc/host.conf
order hosts,bind
multi on
/etc/hosts :

Code: Alles auswählen

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
127.0.0.1       localhost
192.168.0.186   feld-server.feldland.lan        feld-server
Und ich habe noch was interressantes entdeckt.
Ich habe folgendes ausgeführt,

Code: Alles auswählen

feld-server:/etc/bind# nsupdate -d -y mykey:aaaaaaaaaaaaaaaaaaaaaa==
Creating key...
namefromtext
keycreate
> server 192.168.0.186
> update delete feld-nat.feldland.lan A
> send
und als Antwort folgendes erhalten

Code: Alles auswählen

Reply from SOA query:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id:   8530
;; flags: qr aa rd ra ; QUESTION: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;feld-nat.feldland.lan.         IN      SOA

;; AUTHORITY SECTION:
feldland.lan.           0       IN      SOA     feld-server.feldland.lan. feldmann_markus.gmx.de. 2007112134 28800 14400 2419200 86400

;; TSIG PSEUDOSECTION:
mykey.                  0       ANY     TSIG    hmac-md5.sig-alg.reg.int. 1195780347 300 16 q/q/aV6Phn36FHmrTL7zYQ== 8530 NOERROR 0


Found zone name: feldland.lan
The master is: feld-server.feldland.lan
Sending update to 192.168.0.186#53
Outgoing update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id:  21878
;; flags: ; ZONE: 1, PREREQ: 0, UPDATE: 1, ADDITIONAL: 1
;; ZONE SECTION:
;feldland.lan.                  IN      SOA

;; UPDATE SECTION:
feld-nat.feldland.lan.  0       ANY     A

;; TSIG PSEUDOSECTION:
mykey.                  0       ANY     TSIG    hmac-md5.sig-alg.reg.int. 1195780347 300 16 /7Yb6d5WF+9VDAFRwh9bNg== 21878 NOERROR 0


Reply from update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id:  21878
;; flags: qr ra ; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 1
;; TSIG PSEUDOSECTION:
mykey.                  0       ANY     TSIG    hmac-md5.sig-alg.reg.int. 1195780347 300 16 MHW0K98dku2chSYASYASBw== 21878 NOERROR 0
Sieht schon besser aus als vorher, oder was meint Ihr?
Aber der Schlüssel stimmt nicht?

Benutzeravatar
feldmaus
Beiträge: 1307
Registriert: 14.06.2005 23:13:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Deutschland

Beitrag von feldmaus » 23.11.2007 03:03:31

Ich habe ein kleines Erfolgs-Erlebnis,

Code: Alles auswählen

feld-server:/etc/bind# nsupdate -d -y mykey:aaaaaaaaaaaaaaaaaaaaaa==
Creating key...
namefromtext
keycreate
> server 192.168.0.186
> update delete feld-nbb.feldland.lan A
> send
und erhielt dafür als Antwort

Code: Alles auswählen

Reply from SOA query:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:  14897
;; flags: qr aa rd ra ; QUESTION: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;feld-nbb.feldland.lan.         IN      SOA

;; AUTHORITY SECTION:
feldland.lan.           86400   IN      SOA     feld-server.feldland.lan. feldmann_markus.gmx.de. 2007112134 28800 14400 2419200 86400

;; TSIG PSEUDOSECTION:
mykey.                  0       ANY     TSIG    hmac-md5.sig-alg.reg.int. 1195783301 300 16 CP+uYxdxPmauAZjqcziZhQ== 14897 NOERROR 0


Found zone name: feldland.lan
The master is: feld-server.feldland.lan
Sending update to 192.168.0.186#53
Outgoing update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id:  20260
;; flags: ; ZONE: 1, PREREQ: 0, UPDATE: 1, ADDITIONAL: 1
;; ZONE SECTION:
;feldland.lan.                  IN      SOA

;; UPDATE SECTION:
feld-nbb.feldland.lan.  0       ANY     A

;; TSIG PSEUDOSECTION:
mykey.                  0       ANY     TSIG    hmac-md5.sig-alg.reg.int. 1195783301 300 16 Unui6/EcLMkKJm+D2eG2vw== 20260 NOERROR 0


Reply from update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id:  20260
;; flags: qr ra ; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 1
;; TSIG PSEUDOSECTION:
mykey.                  0       ANY     TSIG    hmac-md5.sig-alg.reg.int. 1195783301 300 16 KEVqdi6aGw+fy+513y7o7Q== 20260 NOERROR 0
Ich hatte mehrere Sachen noch geändert unter anderem ein wichtiger Eintrag in meiner Firewall, zumindest denke ich das. Und zwar sorgt mein Eintrag für ein ACCEPT wenn eine Kommunikation innerhalb des Servers statt findet, also von

Code: Alles auswählen

lo --> lo
192.168.0.186 --> lo
lo --> 192.168.0.186
192.168.0.186 --> 192.168.0.186
Dies gilt aber nur wenn die Kommunikation über die FORWARD Chain geht. Dieser Punkt fehlt nämlich in jeder Firewall die ich bis jetzt gesehen habe, eventuell ist es überflüssig aber man weiss ja nicht so genau. :-)

Mein syslog hat meine Vermutung bestätigt das dies richtig war,

Code: Alles auswählen

Nov 23 03:01:41 feld-server named[2236]: client 192.168.0.186#1031: updating zone 'feldland.lan/IN': deleting rrset at 'feld-nbb.feldland.lan' A
Nun wollte ich auch den PTR Record löschen.

Code: Alles auswählen

.........
> server 192.168.0.186
> update delete 130 A
> send
..................
Found zone name: .
The master is: A.ROOT-SERVERS.NET
..........
Das bedeutet das irgendwas beim updaten des PTR Records nicht richtig war?
Wie lauten die 100% exakten Befehle um das nsupdate für den PTR Record durchzuführen zu tun machen? :-)

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Beitrag von ThorstenS » 23.11.2007 10:20:00

Code: Alles auswählen

>  update add horst2.domain.tld 86400 IN A 192.168.3.54
> send
> update delete horst2.domain.tld
> send
> update add 54.3.168.192.in-addr.arpa 86000 IN PTR horst2.domain.tld
> send
> update delete 54.3.168.192.in-addr.arpa
> send
> quit

Benutzeravatar
feldmaus
Beiträge: 1307
Registriert: 14.06.2005 23:13:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Deutschland

Beitrag von feldmaus » 23.11.2007 13:08:41

Den PTR Record konnte ich jetzt auch löschen Jippie,
folgendes habe ich ausgeführt,

Code: Alles auswählen

feld-server:~# nsupdate -d -y mykey:aaaaaaaaaaaaaaaaaaaaaa==
Creating key...
namefromtext
keycreate
> server 192.168.0.186
> update delete feld-drizzt.feldland.lan PTR
> send
Reply from SOA query:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id:   3955
;; flags: qr aa rd ra ; QUESTION: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;feld-drizzt.feldland.lan.      IN      SOA

;; AUTHORITY SECTION:
feldland.lan.           0       IN      SOA     feld-server.feldland.lan. feldmann_markus.gmx.de. 2007112145 28800 14400 2419200 86400

;; TSIG PSEUDOSECTION:
mykey.                  0       ANY     TSIG    hmac-md5.sig-alg.reg.int. 1195826302 300 16 vs+bql4xYyvS96MqU53Wwg== 3955 NOERROR 0


Found zone name: feldland.lan
The master is: feld-server.feldland.lan
Sending update to 192.168.0.186#53
Outgoing update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id:  60981
;; flags: ; ZONE: 1, PREREQ: 0, UPDATE: 1, ADDITIONAL: 1
;; ZONE SECTION:
;feldland.lan.                  IN      SOA

;; UPDATE SECTION:
feld-drizzt.feldland.lan. 0     ANY     PTR

;; TSIG PSEUDOSECTION:
mykey.                  0       ANY     TSIG    hmac-md5.sig-alg.reg.int. 1195826302 300 16 InOAuR2GzujhVt0je0EBsQ== 60981 NOERROR 0


Reply from update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id:  60981
;; flags: qr ra ; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 1
;; TSIG PSEUDOSECTION:
mykey.                  0       ANY     TSIG    hmac-md5.sig-alg.reg.int. 1195826302 300 16 wTOT9pgGOvNZ1VusF0mEGg== 60981 NOERROR 0
Zumindest sieht es auf dem ersten Blick so aus,

Code: Alles auswählen

Nov 23 14:58:22 feld-server named[2221]: client 192.168.0.186#1031: updating zone 'feldland.lan/IN': deleting rrset at 'feld-drizzt.feldland.lan' PTR
Irgendwie hat er zwar gesagt das was gelöscht wurde, aber getan hat sich nichts.
Erst als ich den Client ausgestellt habe.
Dann in dhcpd stop.
Dann in der /var/lib/dhcpd3/dhcpd.leases den Client gelöscht habe
Dann nochmal,

Code: Alles auswählen

.......
Creating key...
namefromtext
keycreate
> server 192.168.0.186
> update delete 200.0.168.192.in-addr.arpa PTR
> send
.......
ausgeführt habe.
Und dann bind9 stop.
Und dann bind9 start.
schien er aus der Datei verschwunden.

Code: Alles auswählen

Nov 23 15:31:04 feld-server named[2237]: client 192.168.0.186#1028: updating zone '0.168.192.in-addr.arpa/IN': deleting rrset at '200.0.168.192.in-addr.arpa' PTR
Ich hoffe nur das die Entwickler von Bind das LESEN und für die Zukunft vielleicht die Tools zur Administration verbessern.

Grüsse Markus

Benutzeravatar
feldmaus
Beiträge: 1307
Registriert: 14.06.2005 23:13:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Deutschland

Beitrag von feldmaus » 23.11.2007 15:35:44

Ah jetzt habe ich was entdeckt,
in meinem letzten Beitrag habe ich was entdeckt,

Code: Alles auswählen

....
update delete feld-drizzt.feldland.lan PTR
.....
führt zu,

Code: Alles auswählen

..... deleting rrset at 'feld-drizzt.feldland.lan' PTR
Schön das er den PTR Record in dieser Zone löschen will, wo es doch dort kein PTR Record gibt?

Mein zweiter Befehl war besser,

Code: Alles auswählen

.... 
update delete 200.0.168.192.in-addr.arpa PTR
.....
In meiner syslog sieht man auch das er die richtige Zone gewählt hat,

Code: Alles auswählen

...... deleting rrset at '200.0.168.192.in-addr.arpa' PTR
grüsse Markus

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Beitrag von ThorstenS » 23.11.2007 16:06:10

Schön zu lesen wie gewissenhaft und strukturiert du an das Lösen deines Problems gehst 8) - das machen die wenigsten :roll:

Wenn dein Setup i.O. ist, könntest du ja hier das Wiki mit Leben füllen :P

Benutzeravatar
feldmaus
Beiträge: 1307
Registriert: 14.06.2005 23:13:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Deutschland

Beitrag von feldmaus » 25.11.2007 18:58:39

Danke,

ich hoffe es bringt anderen vielleicht etwas, falls mal ein anderer drüber stolpern sollte.
Mal gucken wenn ich Zeit habe und es mir gestattet wird, dann werde ich vielleicht mal das eine oder andere im Wiki veröffentlichen.

Grüsse Markus

Antworten