Archiv verlassen und diese Seite im Standarddesign anzeigen : Debian Lenny als DNS
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
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.
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
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).
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
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.
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"; };
};
und du hast Bind neu gestartet resp. einen reload gemacht?
ja habe ich gemacht. Bind war wärend gern konfiguration aus, als ich fertig war habe ich bind gestartet.
okay, dann kannst du mal einen "netstat -nat" posten? und mit iptables oder sonstigen paketfiltern / firewalls hast du nix am laufen auf dem server?
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ß
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?
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
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. (
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.
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.
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.
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.
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?
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.
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:~#
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.
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"; };
# };
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?
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. :)
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).
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:
Und der Dienst läuft dann nicht? (ps aux |*grep named)
Hi,
bin ich zu doof oder wie oder was? :)
viona:~# ps aux |*grep named
-bash: *grep: command not found
viona:~#
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 ;)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.