DDNS: Bind9 + dhcpd

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
obg
Beiträge: 26
Registriert: 09.05.2006 11:04:35

DDNS: Bind9 + dhcpd

Beitrag von obg » 14.08.2006 21:00:02

Hallo,

folgendes Problem, irgendwie klappt bei mir kein dynamisches DNS Update:

hier meine configs:

dhcpd.conf:

Code: Alles auswählen


authoritative;
ddns-updates on;
ddns-update-style interim;
ddns-domainname "u11.local";
DHCPD_INTERFACE = "eth0";
update-static-leases true;
server-identifier antihero.u11.local;
default-lease-time 48000;
max-lease-time 48000;
option domain-name"u11.local";
option domain-name-servers 192.168.3.11;
option routers 192.168.3.11;
option subnet-mask 255.255.255.0;
option netbios-name-servers 192.168.3.11;
option netbios-node-type 8;

key u11.local {
        algorithm HMAC-MD5;
        secret xxx;
        }


zone u11.local. {
        primary 127.0.0.1;
        key u11.local;
}

zone 3.168.192.in-addr.arpa {
        primary 127.0.0.1;
        key u11.local;
}

# The other subnet that shares this physical network

subnet 192.168.3.0 netmask 255.255.255.0 {
  range 192.168.3.120 192.168.3.200;
}
group {
        use-host-decl-names on ;

}
host host1 {
        hardware ethernet 00:0B:6A:F6:2D:CF;
        allow booting;
        fixed-address 192.168.3.1;

}

host host2 {
        hardware ethernet 00:0e:a6:3d:7b:38;
        allow booting;
        fixed-address 192.168.3.116;
}
und 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";
};


key u11.local {
       algorithm HMAC-MD5;
      secret xxx;
};

zone "u11.local" {
        type master;
        file "db.u11.local";

zone "3.168.192.in-addr.arpa" {
        type master;
        file "db.192.168.3";
        allow-update { key u11.local;};
        notify yes;
};

include "/etc/bind/named.conf.local";
die options:

Code: Alles auswählen

options {
        directory "/etc/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you might need to uncomment the query-source
        // directive below.  Previous versions of BIND always asked
        // questions using port 53, but BIND 8.1 and later use an unprivileged
        // port by default.

        // query-source address * port 53;

        listen-on port 53 {192.168.3.11;};

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

//       forwarders {
//              194.97.173.124;
//       };
        listen-on-v6 { none; };
        auth-nxdomain no;    # conform to RFC1035

};
und in der local steht nix wichtiges drin.
der key ist natürlich nicht xxx ...

named und dhcpd starten auch ohne Probleme, nur:

Code: Alles auswählen

dhcpd: Unable to add forward map from host2.u11.local to 192.168.3.116: connection refused
wenn ich das ganze mit nsupdate versuche, bekomme ich immer ein UPDATE, status: REFUSED

irgendwelche ideen?
ich sehe langsam den wald vor lauter bäumen nichtmehr.

Danke im Vorraus[/code]

Athlux
Beiträge: 543
Registriert: 16.05.2004 22:15:56

Beitrag von Athlux » 14.08.2006 21:33:45

Das Log von Bind wäre in dem Fall sehr hilfreich.

Mit "rndc trace" das Loglevel erhöhen trace 3 müsste das höchste sein.

Die Config sieht auf den ersten Blick ok aus.
Gruß Athlux

obg
Beiträge: 26
Registriert: 09.05.2006 11:04:35

Beitrag von obg » 14.08.2006 21:52:57

hmm, da sieht es schonmal schlecht aus:

Code: Alles auswählen

named[19546]: isc_log_open 'named.run' failed: permission denied
das sagt mir mein syslog nachdem ich trace auf 3 gestellt habe


was ich noch anmerken wollte, der host den ich da habe, der bekommt eine statische adresse zugewiesen, sollte aber eigentlich ja kein problem sein.

Athlux
Beiträge: 543
Registriert: 16.05.2004 22:15:56

Beitrag von Athlux » 15.08.2006 15:27:43

obg_ hat geschrieben:hmm, da sieht es schonmal schlecht aus:

Code: Alles auswählen

named[19546]: isc_log_open 'named.run' failed: permission denied
das sagt mir mein syslog nachdem ich trace auf 3 gestellt habe


was ich noch anmerken wollte, der host den ich da habe, der bekommt eine statische adresse zugewiesen, sollte aber eigentlich ja kein problem sein.
Der Host kann eine statische IP-Adresse haben. Die kann man direkt in /etc/network/interfaces eintragen, da bedarf es dann sogar keiner erneuten Zuweisung in der Konfiguration. (solange kein 2ter DNS irgendwo rumschwirrt)

Ich tippe da ganz stark auf fehlende Rechte.

Die Ausgabe von ls -la /etc/bind sowie ls -la /var/named würde da Aufklärung bringen.

Der bind User sollte auf /var/named zugreifen können.

Seit sarge ist es der User "bind". Unter woody lief bind noch als root. Wenn du also ne alte Konfiguration auf einen neuen Sarge Rechner rübergespielt hast kann es erstmal gar nicht funktionieren.Nachchauen kannst du in folgender Datei.

/etc/default/bind9
OPTIONS="-u bind"

Falls bind als root läuft hängt es also defintiv mit den Dateirechten zusammen.
Gruß Athlux

obg
Beiträge: 26
Registriert: 09.05.2006 11:04:35

Beitrag von obg » 15.08.2006 16:26:28

OK, Bind läuft unter dem user bind, soweit bin ich jetzt.
Sprich lief auch nie als root.

Athlux hat geschrieben: Der bind User sollte auf /var/named zugreifen können.
da ist ein Problem: es gibt kein /var/named
Ich habe auch ein etch am laufen, kein sarge.

edit:
Hätte ich fast vergessen:

Code: Alles auswählen

ls -la /etc/bind/
total 71
drwxr-sr-x   2 root bind  544 2006-08-14 13:38 .
drwxr-xr-x 103 root root 6520 2006-08-14 18:43 ..
-rw-rw-r--   1 root root  237 2004-09-23 17:25 db.0
-rw-rw-r--   1 root root  267 2006-06-26 10:50 db.127
-rw-rw-r--   1 root bind  663 2006-08-14 21:50 db.192.168.3
-rw-rw-r--   1 root root  237 2004-09-23 17:25 db.255
-rw-rw-r--   1 root root  353 2004-09-23 17:25 db.empty
-rw-rw-r--   1 root root  245 2006-06-26 10:52 db.local
-rw-rw-r--   1 root bind 2138 2006-06-26 10:27 db.root
-rw-rw-r--   1 root root 1507 2004-09-23 17:25 db.root.old
-rw-rw-r--   1 root bind  652 2006-08-14 21:50 db.u11.local
-rw-rw-r--   1 root bind   54 2006-08-14 13:38 Kdhcp_updater.+157+38839.key
-rw-rw-r--   1 root bind   81 2006-08-14 13:38 Kdhcp_updater.+157+38839.private
-rw-rw-r--   1 root bind 1958 2006-08-14 13:47 named.conf
-rw-rw-r--   1 root bind  165 2004-09-23 17:25 named.conf.local
-rw-rw-r--   1 root bind  734 2006-08-14 18:18 named.conf.options
-rw-rw-r--   1 bind bind   77 2006-02-01 23:48 rndc.key
-rw-rw-r--   1 root root 1317 2004-09-23 17:25 zones.rfc1918

obg
Beiträge: 26
Registriert: 09.05.2006 11:04:35

Beitrag von obg » 15.08.2006 18:11:19

hier mal ein auszug aus dem log.

ich habe versucht mit update delete xbox.u11.local A
einen eintrag zu löschen:
-Aug-2006 18:01:37.327 client 192.168.3.11#32936: UDP request
15-Aug-2006 18:01:37.327 client 192.168.3.11#32936: request is not signed
15-Aug-2006 18:01:37.327 client 192.168.3.11#32936: recursion available
15-Aug-2006 18:01:37.327 client 192.168.3.11#32936: query
15-Aug-2006 18:01:37.328 client 192.168.3.11#32936: query 'xbox.u11.local/SOA/IN' approved
15-Aug-2006 18:01:37.328 client 192.168.3.11#32936: send
15-Aug-2006 18:01:37.328 client 192.168.3.11#32936: sendto
15-Aug-2006 18:01:37.328 client 192.168.3.11#32936: senddone
15-Aug-2006 18:01:37.328 client 192.168.3.11#32936: next
15-Aug-2006 18:01:37.328 client 192.168.3.11#32936: endrequest
15-Aug-2006 18:01:37.331 client 192.168.3.11#32936: UDP request
15-Aug-2006 18:01:37.331 client 192.168.3.11#32936: request is not signed
15-Aug-2006 18:01:37.331 client 192.168.3.11#32936: recursion available
15-Aug-2006 18:01:37.331 client 192.168.3.11#32936: update
15-Aug-2006 18:01:37.331 client 192.168.3.11#32936: update 'u11.local/IN' denied
15-Aug-2006 18:01:37.331 client 192.168.3.11#32936: send
15-Aug-2006 18:01:37.331 client 192.168.3.11#32936: sendto
15-Aug-2006 18:01:37.331 client 192.168.3.11#32936: senddone
15-Aug-2006 18:01:37.331 client 192.168.3.11#32936: next
15-Aug-2006 18:01:37.332 client 192.168.3.11#32936: endrequest

Dann bin ich noch auf folgendes gestossen:
//////////////////////////////////////////////////////////////////
// /etc/bind/named.conf
//////////////////////////////////////////////////////////////////

// First off is the key. To modify the running DNS server you need
// this, the same as in the dhcpd.conf file.
key mykey {
algorithm hmac-md5;
secret "secret_md5_hash";
};
// Next the access control section, we allow the 192.168.0.0-255
// subnet, and localhost.
acl "home" { 192.168.0.0/24; 127.0.0.1;};
// Some general options, including who to forward queries you can't
// resolve to. (in this case they are claranet's dns servers.)
options {
directory "/var/bind/"; //Working directory
pid-file "/var/run/named/named.pid";
allow-query { "home"; };
forwarders { 195.8.69.7; 195.8.69.12; };
};
// You need this section to allow the communication between
// daemons. (dhcp and bind)
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; 192.168.0.9; } keys { "mykey";
};
};
brauche ich ne acl?
und zwingend einen eintrag controls?
nachzulesen auf http://www.mattfoster.clara.co.uk/ddns.htm

Athlux
Beiträge: 543
Registriert: 16.05.2004 22:15:56

Beitrag von Athlux » 15.08.2006 20:29:30

Gerade erst gesehen:

Bei deiner Forward-Zone fehlt noch
allow-update { key u11.local;};
brauche ich ne acl?
und zwingend einen eintrag controls?
nachzulesen auf http://www.mattfoster.clara.co.uk/ddns.htm
ACL ist nicht unbedingt nötig da ohne gültigen Key kein Update erfolgen kann.

controls ist auch nicht nötig. Wenn der dhcp3-server und bind9 entsprechend die keys haben geht es auch ohne diesen Eintrag.

Ich hab bei mir @home auch bind am Laufen. Falls es je nicht klappt könnte ich dir die Beispiel Konfigs zukommen lassen. Ich habe allerdings alles in einer Datei weil das beim Editieren einiges vereinfacht. Es ist nämlich einfach nur nervig in verschieden Dateien rumzusuchen.

Ich weiß daher nicht was bei Debian noch in "/etc/bind/named.conf.local"; steht.

EDIT: Ergänzung. ACL ist fürs Setup nicht nötig aber macht Sinn um eventuell einiges besser abzugrenzen. Beispielsweise mit

ACL localnet { 127/8; };
ACL internal { 192.168.3/24; };

Und dann entsprechend jeweils in den Konfigs.
allow-query { localnet; internal; };
Gruß Athlux

obg
Beiträge: 26
Registriert: 09.05.2006 11:04:35

Beitrag von obg » 15.08.2006 21:00:00

Athlux hat geschrieben:Gerade erst gesehen:

Bei deiner Forward-Zone fehlt noch
allow-update { key u11.local;};
nee, die gibts is mir nur beim kopieren irgendwie abhanden gekommen Oo.

mittlerweile habe ich auch rausgefunden, das sobald ich die rndc.key aus dem verzeichnis nehme, der bind garnix mehr macht. (relikt aus irgendeiner spielerei)
ich habe jetzt alles was irgendetwas mit key zu tun hat umgeändert auf rncd-key ...
ohne erfolg :/

langsam dreh ich echt am rad!

wenn du mir die files zukommen lassen kannst wäre das echt ne erleichterung.

und was /var/named/ betrifft ... kann es sein das Deine zonen dateien dort liegen?
meine liegen alle in /etc/bind ...

Athlux
Beiträge: 543
Registriert: 16.05.2004 22:15:56

Beitrag von Athlux » 15.08.2006 21:03:26

obg_ hat geschrieben: und was /var/named/ betrifft ... kann es sein das Deine zonen dateien dort liegen?
meine liegen alle in /etc/bind ...
Nein meine liegen ebenfalls unter /etc/bind

EDIT: Ich kann dir das Zeug gerne zukommen lassen. Melde mich dann per PM mit einem Link. Kann aber noch etwas dauern ;)
Gruß Athlux

Antworten