PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Debian Lenny als DNS



Seiten : [1] 2

Icaros
26.02.09, 07:48
HI Experten,

ich versuche gerade unter Debian Lenny ein DNS Server einzurichten. Aber leider stelle ich mich da wohl etwas blöd an. Bisher habe ich mich an dieses Tutorial (http://www.debianhowto.de/doku.php/de:howtos:woody:bind?s[]=bind) gehalten. Hat auch soweit ganz gut geklappt ;) nur leider habe ich jetzt ein kleines Problem, und zwar ab hier
Jetzt oeffnen wir die named.conf mit dem Editor nano, dieser sollte standartmaessig dabei sein. Man kann aber auch jeden x-beliebigen Editor verwenden.

root:~# nano /etc/bind/named.conf

Wir fuegen unter dieser Zeile:

directory "/var/cache/bind";

diese Zeile ein:

pid-file "/var/run/bind/named.pid";


in der etc/bind/named.conf kann ich bei mir den Eintrag
directory "/var/cache/bind";
leider nicht finden. Hat sich da bei Lenny was geändert? Oder kann ich den Eintrag hinzufügen?

Schon mal vielen Dank für eure Hilfe

Gruß
-icaros

MiGo
26.02.09, 09:58
Oder kann ich den Eintrag hinzufügen?
Ja, kannst du. Du solltest nur schauen, ob der Eintrag nicht weiter unten nochmal mit einem anderen Wert steht, damit nix überschrieben wird.

Icaros
26.02.09, 11:21
Hi,

danke für deine schnelle Antwort. Leider habe ich doch erstmal eine andere Konfig verwendet, da mir diese doch etwas zu heavy für den Anfang erschien. Ich habe jetzt diese Anleitung (http://tuxclouds.org/index.php?option=com_content&task=view&id=20&Itemid=30&limit=1&limitstart=1) verwendet. Hab aber damit jetzt auch Probleme.

Evtl. kann mir ja auch dazu jemand weiterhelfen.

wenn ich ein nslookup ausführe bekomme ich nichts angezeigt.


viona:~# nslookup
>


wenn ich das ganze dann mit dem Namen meines Servers mache sieht es so aus:


viona:~# nslookup viona
Server: 192.168.10.102
Address: 192.168.10.102#53

** server can't find viona: NXDOMAIN


hat jemand ein Tipp für mich.

Gruß
-Tobi

asi_dkn
26.02.09, 11:26
was genau soll der DNS denn machen? Soll er einfach Anfragen auflösen oder soll er Antworten auf Anfragen liefern? Wenn du "viona" aufgelöst haben willst, musst du eine Zone erstellen und dem Host einen A Record verpassen, danach Bind reloaden / restarten...

Was hast du denn bis jetzt gemacht? Lass mal deine Config sehen und dein Zonenfile (sofern du eine eigene Zone hast).

Icaros
26.02.09, 11:45
also der DNS soll intern Anfragen auflösen.

hier mal meine Konfigs:

named.conf

// This is the primary configuration file for the BIND DNS server named.
nclude "/etc/bind/named.conf.options";

// prime the server with knowledge of the root servers
zone "." {
type hint;
file "/etc/bind/db.root";
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

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";

controls {
inet 127.0.0.1 allow {localhost; } keys { "rndc-key"; };
};
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local

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

// prime the server with knowledge of the root servers
zone "." {
type hint;
file "/etc/bind/db.root";
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

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";

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



db.c4networx


; BIND reverse data file for empty rfc1918 zone
;
; DO NOT EDIT THIS FILE - it is used for multiple zones.
; Instead, copy it, edit named.conf, and use that copy.
;
$TTL 86400
@ IN SOA c4networx.ld root.c4networx.ld. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
;
@ IN NS viona.c4networx.ld.
viona IN A 192.168.10.102


db.192.168.10

; BIND reverse data file for empty rfc1918 zone
;
; DO NOT EDIT THIS FILE - it is used for multiple zones.
; Instead, copy it, edit named.conf, and use that copy.
;
$TTL 86400
@ IN SOA c4networx.ld. root.c4networx.ld. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
;
@ IN NS viona.c4networx.ld.
102 IN PTR viona.c4networx.ld


Hoffe es hilft ein wenig weiter

Danke + Gruß
-icaros

asi_dkn
26.02.09, 13:35
Da fehlt meiner Meinung nach noch die Zonenconfig. Du hast ja die DB Files, aber du sagst Bind in deinen Configs nicht das er diese brauchen soll. Es bräuchte da noch was wie:


zone "c4networks.ld" {
type master;
file "/etc/bind/db.c4networx";
};

Oder hast du diese Config bereits anderswo gemacht?

Edit: Die in-arpa Zone musst du selbstverständlich auch noch so konfigurieren damit Bind diese benutzt.

Icaros
26.02.09, 13:45
Hi

habe diese Konfig laut Anleitung in der named.conf.local gemacht.



//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";


zone "c4networx.ld" {
type master;
notify no;
file "/etc/bind/db.c4networx";
allow-update { key "rndc-key"; };
};

zone "10.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.192.168.10";
allow-update { key "rndc-key"; };
};

asi_dkn
26.02.09, 13:51
und du hast Bind neu gestartet resp. einen reload gemacht?

Icaros
26.02.09, 13:54
ja habe ich gemacht. Bind war wärend gern konfiguration aus, als ich fertig war habe ich bind gestartet.

asi_dkn
26.02.09, 13:57
okay, dann kannst du mal einen "netstat -nat" posten? und mit iptables oder sonstigen paketfiltern / firewalls hast du nix am laufen auf dem server?

Icaros
26.02.09, 14:15
klar hier:


viona:~# netstat -nat
Aktive Internetverbindungen (Server und stehende Verbindungen)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:33888 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:548 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:901 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:139 0.0.0.0:* LISTEN
tcp 0 0 192.168.10.102:139 0.0.0.0:* LISTEN
tcp 0 0 192.168.10.102:139 192.168.11.10:1056 SYN_RECV
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 192.168.10.102:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:55288 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:43578 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:445 0.0.0.0:* LISTEN
tcp 0 0 192.168.10.102:445 0.0.0.0:* LISTEN
tcp 0 0 192.168.10.102:22 192.168.10.10:1243 VERBUNDEN
tcp 0 1 192.168.10.102:60631 19.168.10.3:9100 SYN_SENT
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 :::21 :::* LISTEN
tcp6 0 0 :::53 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 ::1:631 :::* LISTEN
tcp6 0 0 ::1:953 :::* LISTEN


Nein firewalls und sowas laufen nicht bei mir. Nicht das ich wüsste. Auser Lenny installiert sowas automatisch mit.

Gruß

asi_dkn
26.02.09, 14:29
Installiert ist es eventuell, aber ziemlich sicher nicht aktiviert... um sicher zu gehen kannst du mal einen "iptables -nvL" absetzen und mal posten (sollte alles auf (policy ACCEPT) stehen kannst du's dir auch sparen hier zu posten).

Mir ist gerade noch etwas eingefallen... hast du mal den nslookup mit dem FQDN versucht? also statt "viona" mit "viona.c4networx.ld"? oder hast du das schon in deiner resolv.conf als search domain eingetragen?

Icaros
26.02.09, 14:42
also mit nslookup viona.c4networx.ld kommt auch nichs raus


viona:~# nslookup viona.c4networx.ld
Server: 192.168.10.102
Address: 192.168.10.102#53

** server can't find viona.c4networx.ld: NXDOMAIN



hier mal meine resolv.conf


domain c4networx.ld
nameserver 192.168.10.102
search c4networx.ld

asi_dkn
26.02.09, 14:58
Ich glaube ich habe den Fehler entdeckt... aber ich bin mir nicht sicher. Dein Zonefile (erste Zeile) müsste so aussehen:


@ IN SOA viona.c4networx.ld root.c4networx.ld. (

statt


@ IN SOA c4networx.ld root.c4networx.ld. (

Icaros
26.02.09, 15:15
nein leider nicht.

Was mir aber jetzt aufgefallen ist, ist diese meldeung beim Neustart des DNS.


viona:/etc/bind# /etc/init.d/bind9 restart
Stopping domain name service...: bind9rndc: connection to remote host closed
This may indicate that
* the remote server is using an older version of the command protocol,
* this host is not authorized to connect,
* the clocks are not syncronized, or
* the key is invalid.

asi_dkn
26.02.09, 15:40
woa ich steh da langsam am berg sry...

hast du noch einen slave server? eventuell musst du mla deinen rndc key kontrollieren falls du das nicht schon gemacht hast.

Icaros
26.02.09, 15:44
da fällt mir grad was ein. Ich hab ja noch die FrittzBox als router, die hat ja auch einen kleinen DNS am laufen.

Kann das evtl. der Fehler sein?

Aber schon mal vielen Dank für deine Tatkräftige Unterstützung.

asi_dkn
26.02.09, 15:58
nein das sollte keine Rolle spiele. DNS Server finden sich nicht gegenseitig im Netzwerk oder so. Aber du solltest mal deinen RNDC Key kontrollieren, weil über rndc wird der DNS Server eigentlich kontrolliert... und wenn der Key nicht stimmt, kann Debian den Server nicht richtig hoch fahren.

Icaros
26.02.09, 16:09
Ok. Leider stehe ich jetzt wohl auf dem Schlauch. Der Key steht ja im /etc/bind/rndc.key

und ich dachte das sich DNS und DHCP daraus bedienen.

P.S den key habe ich mit dnssec-keygen -a HMAC-MD5 -b 128 -n USER mykey

Oder habe ich da evtl den Fehler gemacht?

asi_dkn
26.02.09, 16:40
Also dein Setup ist mir eigentlich nicht bekannt, k.A. wie das mit DHCP und so zusammen spielt... auf jeden Fall sollte der DHCP jetzt noch gar nicht das Problem sein, weil der DNS Server ja nicht mal richtig startet...

Auf jeden Fall hast du ja folgendes Konfiguriert:


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

Der Key ist in der /etc/bind/rndc.key konfiguriert. Du kannst jetzt für rndc eine Config anlegen, und zwar mit rndc-confgen > /etc/bind/rndc.conf

Du musst jetzt in der rndc.conf denselben Key eintragen wie du bereits in der rndc.key hast, dann müsste der Fehler eigentlich verschwinden.

Icaros
26.02.09, 16:48
habe ich gemacht, aber jetzt passiert folgendes:


/etc/init.d/bind9 start
Starting domain name service...: bind9 failed!
viona:~#



/etc/init.d/bind9 stop
Stopping domain name service...: bind9rndc: connect failed: 127.0.0.1#953: connection refused
.
viona:~#

asi_dkn
26.02.09, 16:54
poste mal die rndc.key und die rndc.conf

Ich bin jetzt leider mal weg, aber dir kann sicher wer anders weiter helfen... sonst gehts eifnach später weiter ;)

Viel Erfolg.

Icaros
26.02.09, 17:02
Erst nochmal vielen Dank für deine super Hilfe.

So hier mal meine rndc.conf



key "rndc-key" {
algorithm hmac-md5;
secret "SUPER-GEHEIM";
};



# Start of rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "SUPER-GEHEIM";
};

options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
# End of rndc.conf

# Use with the following in named.conf, adjusting the allow list as needed:
# key "rndc-key" {
# algorithm hmac-md5;
# secret "SUPER-GEHEIM";
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };

asi_dkn
27.02.09, 08:43
Das müsste eigentlich stimmen... ich habe das bei mir mal getestet mit demselben Setup wie du es da hast, und das hat bestens geklappt (auch Debian Lenny)...

Was bringt denn Bind für ne Meldung wenn du den manuell startest? Stell mal sicher das der nicht läuft (ps aux | grep named) und stoppe ihn falls doch.

Dann führst du mal als root einfach folgenden Befehl aus:

/usr/sbin/named -u bind -t /var/chroot/bind9

Ich gehe mal davon aus das du Bind auch in einer chroot Umgebung betreibst, ansonsten kannst du den hinteren teil (ab -t) weglassen.

Kannst du mal posten was für einen Fehler der bringt wenn du den Server so startet?

Icaros
27.02.09, 15:29
Hi asi_dkn,

ich verstehe es auch irgendwie nicht so ganz.


viona:~# ps aux | grep named
root 5620 0.0 0.0 3140 768 pts/0 R+ 15:24 0:00 grep named


Nein ich betreibe kein chroot


/usr/sbin/named -u bind -t
usage: named [-4|-6] [-c conffile] [-d debuglevel] [-f|-g] [-n number_of_cpus]
[-p port] [-s] [-t chrootdir] [-u username]
[-m {usage|trace|record|size|mctx}]
named: unknown option '-t'



verstehe ich auch nicht so ganz.

ICh verstehe garnichts mehr. :)

asi_dkn
27.02.09, 20:19
Ich gehe mal davon aus das du Bind auch in einer chroot Umgebung betreibst, ansonsten kannst du den hinteren teil (ab -t) weglassen.

Sorry, ich meinte du kannst "-t" auch gleich weglassen, sofern du keine chroot Umgebung gemacht hast (sieh dir sonst mal die manpage zum named an).

Icaros
27.02.09, 21:29
Ah. Sorry mein Fehler. :)

Also hier nochmal das ganze. Ich glaube ich habe aber schon wieder was falsch verstanden. Soll das Befehl /usr/sbin/named -u bind direkt eine Meldung auf der Shell ausgeben oder in einem Log?

Also wenn ich ihn nämlich eintippe passiert das:


viona:~# /usr/sbin/named -u bind
viona:~#


Nämlich nichts.

:confused:

asi_dkn
27.02.09, 21:44
Und der Dienst läuft dann nicht? (ps aux |*grep named)

Icaros
28.02.09, 10:55
Hi,

bin ich zu doof oder wie oder was? :)


viona:~# ps aux |*grep named
-bash: *grep: command not found
viona:~#

asi_dkn
28.02.09, 21:33
Ah ich mache zu viele Fehler... den * vor dem grep braucht es nicht... du könntest dich aber auch noch ein wenig mehr anstrengen und meine Befehle jeweils nochmals kritisch prüfen ;)