Konfiguration eines Namesservers unter Suse 10.0

Yehudi

Guru
Während der Konfiguration bin ich mir leider nicht sicher ob das alles auch so auf Suse 10.0 noch zutrifft, bzw. ob eventuelle Voreinstellungen belassen, bzw. geändert werden müssen.

Als Vorgabe habe ich folgenden Link benutzt:
http://www.ag-intra.net/linux-kl-dns8.html

Derzeit nicht funktionierende oder unverständliche Sätze habe ich rot und dick gekennzeichnet, damit es einigermaßen übersichtlich ist.

Daraus ergeben sich für Suse 10.0 folgende Konfigurationen in meinem Fall:

1. Szenario

PC-Client: G4 Name: nichts IP:192.168.3.8

PC-Server: AMD 1,8GHz Suse 10.0 Name: linux IP: 192.168.3.1

2. Zonefile (Forward Mapping)

/var/named/db.heim.netz

Code:
; Zonefile (Forward Mapping) für heim.netz.
;
$TTL 3h
@         IN  SOA linux.heim.netz. root.linux.heim.netz. (
   200207241 ; Seriennummer
   10800     ; Refresh Zeit
   3600      ; Retry Zeit
   604800    ; Expire
   38400 )   ; negative Caching TTL
;
; Nameserver
;
          IN  NS linux.heim.netz.
;
; Hosts (kanonisch)
;
localhost IN  A     127.0.0.1
nichts    IN  A     192.168.3.8
          IN  LOC   52 31 0.12 N 13 24 0.36 E 34m
          IN  HINFO "Power MAC AGP-Grafik 1,4GHz" "OSX 10.4"
          IN  RP    root.nichts.heim.netz.    linux.heim.netz.
          IN  TXT   "Apple G4" "Standort: Studio"
linux     IN  A     192.168.3.1
          IN  LOC   52 31 0.12 N 13 24 0.36 E 34m
          IN  HINFO "AMD 1,8GHz" "SuSE Linux 10.0"
          IN  RP    root.linux.heim.netz.    linux.heim.netz.
          IN  TXT   "Server und Router" "Standort: Arbeitszimmer"
;
; Aliase
;
www       IN  CNAME linux
irc       IN  CNAME linux

3. Zonefile (Reverse Lookup)

Code:
; Zonefile für heim.netz. (Reverse Mapping)
;
$TTL 3h
@    IN SOA linux.heim.netz. root.linux.heim.netz. (
   200207241 ; Seriennummer
   10800     ; Refresh Zeit
   3600      ; Retry Zeit
   604800    ; Expire
   38400 )   ; negative Caching TTL
;
; Nameserver
;
     IN NS linux.heim.netz.
;
; Hosts Adressen zeigen auf kanonische Namen
;
8  IN PTR nichts.heim.netz.
1  IN PTR linux.heim.netz.

wechseln in das Verzeichnis:
cd /var/lib/named

Beim Befehl:
Code:
dig @a.root-servers.net . ns
habe ich nämlich folgendes:
Code:
linux:/var/lib/named # dig @a.root-servers.net . ns
; <<>> DiG 9.3.1 <<>> @a.root-servers.net . ns
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53975
;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13

;; QUESTION SECTION:
;.                              IN      NS

;; ANSWER SECTION:
.                       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.
.                       518400  IN      NS      I.ROOT-SERVERS.NET.
.                       518400  IN      NS      E.ROOT-SERVERS.NET.
.                       518400  IN      NS      D.ROOT-SERVERS.NET.
.                       518400  IN      NS      A.ROOT-SERVERS.NET.
.                       518400  IN      NS      H.ROOT-SERVERS.NET.
.                       518400  IN      NS      C.ROOT-SERVERS.NET.
.                       518400  IN      NS      G.ROOT-SERVERS.NET.
.                       518400  IN      NS      F.ROOT-SERVERS.NET.
.                       518400  IN      NS      B.ROOT-SERVERS.NET.

;; ADDITIONAL SECTION:
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
I.ROOT-SERVERS.NET.     3600000 IN      A       192.36.148.17
E.ROOT-SERVERS.NET.     3600000 IN      A       192.203.230.10
D.ROOT-SERVERS.NET.     3600000 IN      A       128.8.10.90
A.ROOT-SERVERS.NET.     3600000 IN      A       198.41.0.4
H.ROOT-SERVERS.NET.     3600000 IN      A       128.63.2.53
C.ROOT-SERVERS.NET.     3600000 IN      A       192.33.4.12
G.ROOT-SERVERS.NET.     3600000 IN      A       192.112.36.4
F.ROOT-SERVERS.NET.     3600000 IN      A       192.5.5.241
B.ROOT-SERVERS.NET.     3600000 IN      A       192.228.79.201

;; Query time: 143 msec
;; SERVER: 198.41.0.4#53(198.41.0.4)
;; WHEN: Mon Mar  6 11:19:43 2006
;; MSG SIZE  rcvd: 436

linux:/var/lib/named #

Allerdings bei root.hint kommt auch Command not found.

4. Konfigurationsdatei /etc/named.conf

Code:
options {

	directory "/var/lib/named";

	dump-file "/var/log/named_dump.db";
	statistics-file "/var/log/named.stats";

        forwarders { 213.191.92.87; 213.191.74.19; };

	listen-on-v6 { any; };

        cleaning intervall 120;
        statistics-interval 0;
	notify no;
	include "/etc/named.d/forwarders.conf";
};


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

zone "localhost" in {
	type master;
	file "localhost.zone";
};

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

#Unsere Zonen
   zone "heim.netz" in {
   type master;
   file "db.heim.netz";
   };
   zone "3.168.192.in-addr.arpa" in {
   type master;
   file "db.192.168.3";
   };

5. DNS starten

Nun in YaST2 System, und dort den Runlevel Editor wählen. Dort in die Liste der vorhandenen Dienste gehen, und im Expertenmodus named die Runlevel 3 und 5 einschalten.

Was aber mit der "entsprechenden Kombobox-Dingens auswählen" gemeint ist weiß ich nicht.

Ich habe hier auf aktualisieren gedrückt, und erhalte folgende Fehlermeldung:

/etc/init.d/named status gab 0 (Programm wird ausgeführt) zurück:
Checking for nameserver BIND
rndc: connect failed: connection refused
..running

Nach der Anleitungsollte der nameserver nun laufen, und beim nächsten reboots automatisch starten.
-----------------------

Wenn die Konfigurationsdateien geändert werde und der Nameserver die neu eingelesen werden soll, gibt man am Prompt ein:

Auch dieser Teil gibt mir in der Konsole zurück, dass der Befehl nicht vorhanden sei.
linux:ndc reload

Müssen Sie den ganzen Nameserver neu starten, geben Sie ein:

linux: ndc stop
linux: /usr/sbin/named -u named -g named

Damit läuft der named vernünftig unter der Kennungnamed.

unterer wirft folgendes alleine aus:

Code:
linux:~ # /usr/sbin/named -u named -g named
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}]
named: extra command line arguments

6. Resolver und Clients konfigurieren

Die Zeile
Code:
MODIFY_RESOLV_CONF_DYNAMICALLY="no"
in der
/etc/sysconfig/network/config ist gesetzt.

und /etc/resolv.conf sieht so aus:

Code:
#nameserver 192.168.3.1
#search site
nameserver 0.0.0.0
nameserver 194.25.2.129
search heim.netz

Was die 194.25.2.129 soll verstehe ich leider nicht.

Bei meinem Mac kann ich in meiner jetzigen Configuration folgendes eingeben:

IP-Adresse: 192.168.3.8
Teilnetzmaske: 255.255.255.0
Router: 192.168.3.1
DNS-Server: 192.168.3.1
194.25.2.129
Domain-Name: heim.netz

Das Internet funktioniert über den MAC, aber ich komme nicht ins heim.netz, auf 192.198.3.1 komme ich drauf. Es gibt natürlich einige bisher ungeklärte Stellen in der ganzen Anleitung, die ich ja auch angezeigt habe.
 

nbkr

Guru
Hallo,

root.hint ist kein Befehl sonderne eine Datei. Da stehen kurz gesagt die IP Adressen der Rootnameserver im Internet drin. Die sind die Wurzel (deshalb ja auch root) des DNS. Ohne die - nix DNS - zumindest nicht dauerhaft. Eine root.hint wird normalerweise mitgeliefert. Die muss ab und an mal aktualisiert werden (alle Jubeljahre). Dafür sollte vermutlich der dig Befehl genutzt werden.

ndc ist das Nameserversteuerprogramm für Bind 8.x. Bind 9 verwendet rndc soweit ich weiß.

Die Angabe nameserver <ipadresse> in der /etc/resolv.conf gibt an welche Nameserver der Rechner abfragt. Da sollte die IP des Rechners auf dem der Bind9 läuft drin stehen.

Das Kombodingens kenn ich auch nicht, aber im Runleveleditor von YaST solltest Du einstellen, dass der Bind9 im 3 und 5er Runlevel startet. Die Ausgabe die der Editor geliefert hat sieht nicht gut aus. Schau mal im Syslog ob Bind irgendeine Fehlermeldung ausgeben hat.
 

Yehudi

Guru
zu root.hint:
Dann ist aber dieser Befehl etwas merkwürdig kombiniert.
Code:
/usr/sbin/named -u named -g named root.hint

zu Kombobox-Dingens:
bind 9 ist dort leider nicht zu finden, und ich kann im Systemlog trotz gestoppter Zeit nichts finden, was darauf hinweist, eigentlich sollte doch die Ausführung von YAST dann dort auch zu sehen sein, oder?
dnsmasq ist nicht aktiv
named in 3 5
mdns in 3 5
avahi sind beide aus
weitere habe ich dort nicht gesehen.

Folgende Pakete hatte ich erst installiert:

bind
bind-chrootenv
bind-libs
bind-utils

diese Pakete habe ich über apt nachinstalliert:
bind-debuginfo
bind-devel
bind-doc
bind-lwresd

Es handelt sich um die Version 9.3.1-8

Eine Änderung tritt nicht ein, beim aktualisieren des named im runleveleditor.

Zwecks des Befehls habe ich aber im Suse Linux Administrationshandbuch 9.0 Buch noch was gefunden:
Code:
rcnamed start
rcnamed status
rcnamed reload
rcnamed restart
rcnamed stop

Mich verwundert aber, dass in YAST der Befehl rndc ausgeführt wird, der dann ja wohl nicht starten kann . :?:

resolv.conf Date

Die resolv.conf Datei habe ich wie folgt geändert:

#nameserver 192.168.3.1
#search site
nameserver 0.0.0.0
#nameserver 194.25.2.129
nameserver 192.168.3.1
search heim.netz

Mich wundert echt wie der Man in der Beschreibung auf diese IP kam. :?:

Eine Veränderung hat es nach dem

Code:
linux:~ # rcnamed restart
Starting name server BIND - Warning: named already running! /etc/named.conf:95: unknown option 'cleaning'
/etc/named.conf:96: option 'statistics-interval' is not implemented
/etc/named.d/forwarders.conf:7: 'forwarders' redefined near 'forwarders'
                                                                      skipped
linux:~ #

gegeben, meine dyndns Adresse ist wieder erreichbar, der Apache-Server war irgendwie durch diese Aktion von außen blockiert. (ist aber nur eine Erwähnung am Rand)

Mit
Code:
linux: # rcnamed status
Checking for nameserver BIND
rndc: connect failed: connection refused
running

sagt mir das Teil, dass da irgendwas mit BIND nicht in Ordnung ist, also der Befehl korrekt ist.

Bei den Optionen 'cleaning' und 'statistics-interval' müsste das durch einen aktuelleren Befehl ersetzt werden, oder das an anderer Stelle aktiviert werden?

Bei dem forwarders bin ich aber total überfragt, da stehen zwei IP's drin, die nach dem Aussehen meinem Provider gehören. In Zukunft werde ich mir mal angewöhnen, wie bei php dort Infos zuzuschreiben. Eigentlich läuft der Mac, und die angeschlossenen Rechner über die DNS 192.168.3.1, s.o. das läuft echt super.

heim.netz ist weiter nicht erreichbar.
 

Yehudi

Guru
Der rndc Fehler könnte bedeuten, dass keine Einstellungen fuer rndc in der named.conf gemacht wurden:
http://www.linux-web.de/thread.php?threadid=3079
http://www.redhat.com/docs/manuals/linux/RHL-7.2-Manual/ref-guide/s1-bind-rndc.html

Aber keine keine Änderungentrtz des Eintrages:
Code:
controls {
  inet 127.0.0.1 allow { localhost; } keys { <key-name>; };
};

key "<key-name>" {
  algorithm hmac-md5;
  secret "<key-value>";
};

Hier wurde auch die Fehlermeldung angezeigt:

http://www.linuxquestions.org/questions/showthread.php?t=126259

Code:
    zone "." {
            type hint;
            file "standard/root.hint";
    };

Leider weiß ich nicht wo diese root.hint ist, und mit
Code:
 wheris root.hint
konnte ich sie nicht finden. da wird mir einfach root: angezeigt, aber da ist sie nicht.

Fehlt hier eventuell eine Script?
/etc/init.d/bind9
habe ich leider aus einem Debian Forum: http://www.debianforum.de/forum/viewtopic.php?t=47874&start=0&postdays=0&postorder=asc&highlight=
dort liegt bei mir nämlich keines, und ich kann mir nicht vorstellen, dass diese Datei bei Suse auch noch woanders liegen sollte.
 
A

Anonymous

Gast
Wisst ihr was das tollste ist? Ich verstehe den ganzen Thread hier überhaupt nicht. Gehts es hier um eine Frage, eine Antwort, oder um ein Problem? Und wenn, dann wo? Auf dem Server, oder auf dem Client?


In Yast --->Netzwerkdienste----->DNS einfach die Konfiguration und die nötigen Einträge tätigen, und fertig.

Es muß niemand an den Dateien für die Root-Server oder deren Zonen rumwerkeln.
 

Yehudi

Guru
Hallo cybermailer,

obwohl der bind installiert ist startet er nicht. Das Internet-routing funktioniert problemlos. Allerdings die Geschichte für das Intranet nicht.
Und wie Du ja als aufmerksammer Leser gelesen hast, startet rndc nicht.
Es sollte ja egal sein, ob ich meine Eintragungen über eine Datei oder Yast mache, und auch das starten, es ist halt nur eine grafische Oberfläche.
 

nbkr

Guru
Yehudi schrieb:
nameserver 192.168.3.1
search heim.netz

Mich wundert echt wie der Man in der Beschreibung auf diese IP kam. :?:

Das ist die IP eines Telekom Nameservers.

Die Forwarder sind die Nameserver an die dein Nameserver die Anfragen weiterleitet. Das macht Sinn, dass da die IP Addressen der Nameserver deines Providers drin stehen. Das macht die Abfragen schneller.

Was sagt das Syslog zum Nameserver?

Ansonsten vielleicht noch ein Buchtipp: "DNS und Bind" aus dem O'Reilly Verlag. Habe ich vor kurzem (teilweise) gelesen. Sehr zu empfehlen. ISBN: 3897212900

Zum eigentlich Problem:

Die resolv.conf sieht nicht gut aus. Da sollte (bei allen Clients im Netz) drinstehen.
Code:
nameserver 192.168.3.1
site heim.netz
Das nameserver 0.0.0.0 ist falsch.

Die named.conf sollte ganz am Ende einen Eintrag in der Art "Include /etc/bind/named.conf.local" haben. Damit wird eine weitere Configdatei geladen (funktioniert wie beim Apache). Die named.conf braucht man nicht anfassen. Da passt in aller Regel alles.

In der /etc/bind/named.conf.local sollte in etwas drinstehen.

Code:
zone heim.netz in {
  type master;
  file "/etc/bind/db.heim.netz";
};

Bei der Syntax bin ich mir jetzt nicht 100%ig sicher - das letzte Semikolon ist evtl. falsch.

Die /etc/bind/db.heim.netz sollte so ausehen wie Du sie schon hast (das file mit dem Forwardmapping).

Die Speicherort der Konfigfiles ist bei Debian /etc/bind - bei SuSE ist das vermutlich gleich. Die Files werden dann beim Starten von Bind in einen anderen Ordner kopiert (chroot) - wie gesagt, bei Debian.

Danach sollten sich die Namen von heim.netz zu IP Adressen auflösen lassen. Fehlt noch das Reverse Mapping. Das bedeutet das sich zu einer IP Adresse auch ein Name finden lässt. Ist erstmal nicht so wichtig, aber man sollte sich später schon drum kümmern.
 

Yehudi

Guru
Hallo nbkr,

Erst mal Danke für den Buchtipp, denn diese Problematik ist doch sehr mühsam sich aus dem Netz zusammenzusammeln.

Tatsächlich hat Suse die Datei nicht bind9 genannt, sondern named:
http://www.serversupportforum.de/forum/dns/3189-bind9-legt-nix-der-init-d.html

Ich habe weitesgehend die Änderungen gemacht, bis auf alles was hiermit zutun hat
/etc/bind/named.conf.local

denn das liegt mal wieder Suse-typisch wo anders, das versuche ich aber auch noch mal rauszubekommen.

/etc/named.conf.local

Das mit include war ein guter Vergleich.

Stand auch schon drin:
include "/etc/named.conf.include";

Hier noch eine Pfadkorektur:
/var/lib/named/db.heim.netz
Das war in Suse 8 so wie oben beschrieben.

Der syslog sagt nichts zu bind.

Aber ich glaube das hier sieht doch schon mal besser aus:

Code:
linux:~ # /etc/init.d/named start
Starting name server BIND - Warning: named already running!          done
linux:~ # rcnamed stop
Shutting down name server BIND                                       done
linux:~ # /etc/init.d/named start
Starting name server BIND                                            done
linux:~ # rcnamed start
Starting name server BIND - Warning: named already running!          done
linux:~ #

Allerdings weiss ich nicht genau, was das mit den beiden DNS Dienstbefehlen genau auf sich hat.

Danke Dir schon mal für Deine Hilfe

Noch läßt jedoch heim.netz leider nicht aufrufen,aber das kann ja nur noch ein Schritt sein. Ich werde morgen noch mal die Konfigurationen überprüfen.
 

nbkr

Guru
Das Programm named und bind ist ein und das selbe. Der named ist der Daemon des bind - zu bind gehören noch mehr Dinge wie z.B. rndc. rndc ist ein Steuerprogramm für denn named. Damit kann man dem named sagen er soll seine Configs neu einlesen oder ähnliches. Im heimschen Netzwerk nicht unbedingt von nöten. Da macht es ja nichts wenn der Nameserver mal ein paar Minuten nicht geht.

Wenn syslog nichts zu named sagt muss es irgendwo anderes stehen. Bind loggt recht viel inklusive welche Zonen er geladen hat.

Ein
Code:
cd /var/log
grep -ilr named ./*
sollte die passende Logdatei zu Tage fördern.
 

Yehudi

Guru
Der Code bringt folgendes zu Tage:

Code:
linux:/var/log # grep -ilr named ./*
./boot.msg
./boot.omsg
./localmessages
./messages
./smpppd/ifcfg-dsl0.log
./warn
./YaST2/y2log
./YaST2/y2log-3
./YaST2/y2log-4
./YaST2/y2log-5
./YaST2/y2log-6
./YaST2/y2logRPM

Das geht seitenweise so:
Code:
linux: # cat /var/log/warn
Mar  7 10:32:08 linux udevd[2092]: get_netlink_msg: no ACTION in payload found,                                             skip event 'mount'

messages bringt das gleiche immer abwehselnd, mount unmount. Im YaST2/y2log stehen so wwie ich das sehe meine Ausführungen drin.

Einzige Warnung:
Code:
2006-03-06 23:50:16 <2> linux(25446) [Parser] network/services/dns.ycp:50
 Warning: Format string is not constant, no parameter checking possible
2006-03-06 23:50:30 <2> linux(25555) [Parser] network/services/host.ycp:38 
Warning: Format string is not constant, no parameter checking possible
2006-03-06 23:50:30 <2> linux(25555) [Parser] network/services/host.ycp:346
 Warning: Format string is not constant, no parameter checking possible

Kann aber vermutlich ignoriert werden, da es vor der Änderung um ca. 1:30 Uhr ist.

Der Übeltäter für Bind liegt aber offensichtlich hier:

Code:
linux: # rcnamed start
Starting name server BIND /etc/named.d/forwarders.conf:8: unexpected end of input
                                                                      skipped

setze ich ein Sternchen vor die IP's, startet bind:

Code:
linux: # rcnamed start
Starting name server BIND                                             done

ohne zu motzen. Die darin enthaltenen IP's sind auch wie ich jetzt genau prüfen konnte, die IP's meines Poviders.

Das Routing läuft so, dass die angeschlossenen Rechner die IP meines Suse Linux 10.0 Server haben.

localmessages zeigt mir nur die Verbindung zum Internet an. Ich werde noch mal die anderen logs durchschauen.

also funktioniert das Steuerprogramm nicht?

Code:
linux: # rndc start
rndc: connect failed: connection refused

Allerdings habe ich festgestellt, dass in irgendeiner Form auch meine dyndns Seite ziemlich davon abhängt, jetzt geht sie wieder. Ich habe aber noch nicht raus, womit das zusammenhängt. *Kopfkratz*

Ich habe das auch noch mal mit rndc gemacht:

Code:
linux:/var/log # grep -ilr rndc ./*
./firewall-20060216.gz
./messages
./warn
./YaST2/y2log
./YaST2/y2log-3
./YaST2/y2logRPM


/var/log/messages + warn
Feb 26 22:35:41 linux named[15318]: none:0: open: /etc/rndc.key: permission denied
 

Yehudi

Guru
Hallo nbrk

ich habe mir das Buch besorgt, momentan weiß ich aber echt nicht so recht wo ich anfangen soll, denn sobald ich die virtual Hosts aktiviere ist mein Apache weg:

http://www.linux-club.de/viewtopic.php?p=317303#317303

Die Konfigurationen sollten eigentlich so weit klar sein, aber irgendwas stimmt mit bind nicht.
 

Yehudi

Guru
Jetzt habe ich rausgefunden was gemeint ist mit Kombobox-Dingens. Unten links im YAST2 das Klappmenü.
"Starten/Anhalten/Aktualisieren"

Bei Start wirft es folgende Meldung aus:

Code:
/etc/init.d/named start gab 6 (Programm ist nicht konfiguriert) zurück:
Starting name server BIND - Warning: named already running! /etc/named.conf:164: expected quoted string near '/'
..skipped

Bei Status aktualisieren:
Code:
/etc/init.d/named status gab 1 (Programm ist abgestürzt und pid-Datei /var/run ist vorhanden) zurück:
Checking for nameserver BIND ..dead

Im Prinzip, aber dass was ich in der Konsole ausgeführt habe. Verwunderlich ist, dass der Dienst im einfachen Modus aktiviert ist, und im Expertenmodus nicht, und sich mit dem rechten Klappmenü nicht dazu bewegen läßt.


edit:
Ich habe den ganzen Ablauf von hier einmal in eine Textdatei gepackt, und alle Aussagen und Korekturen oben in meinen ersten Beitrag reingesetzt, und schon fallen einem Kleinigkeiten auf. Bind startet jetzt im YAST.
 

Yehudi

Guru
Jetzt wirft auch der Befehl von nbrk auch was aus:

Code:
linux:/var/lib/named # less +G /var/log/messages
Mar  9 23:48:30 linux named[24971]: starting BIND 9.3.1 -t /var/lib/named -u named
Mar  9 23:48:30 linux named[24971]: found 1 CPU, using 1 worker thread
Mar  9 23:48:30 linux named[24971]: loading configuration from '/etc/named.conf'
Mar  9 23:48:30 linux named[24971]: listening on IPv6 interfaces, port 53
Mar  9 23:48:30 linux named[24971]: listening on IPv4 interface lo, 127.0.0.1#53
Mar  9 23:48:30 linux named[24971]: listening on IPv4 interface eth0, 192.168.3.1#53
Mar  9 23:48:30 linux named[24971]: listening on IPv4 interface eth1, 192.168.1.1#53
Mar  9 23:48:30 linux named[24971]: listening on IPv4 interface dsl0, meine InternetIP#53
Mar  9 23:48:30 linux named[24971]: none:0: open: /etc/rndc.key: permission denied
Mar  9 23:48:30 linux named[24971]: couldn't add command channel 127.0.0.1#953: permission denied
Mar  9 23:48:30 linux named[24971]: none:0: open: /etc/rndc.key: permission denied
Mar  9 23:48:30 linux named[24971]: couldn't add command channel ::1#953: permission denied
Mar  9 23:48:30 linux named[24971]: zone 0.0.127.in-addr.arpa/IN: loaded serial 42
Mar  9 23:48:30 linux named[24971]: zone localhost/IN: loaded serial 42
Mar  9 23:48:30 linux named[24971]: zone heim.netz/IN: loading master file /etc/bind/db.heim.netz: file not found
Mar  9 23:48:30 linux named[24971]: running
Mar  9 23:48:31 linux SuSEfirewall2: Warning: ip6tables does not support state matching. Extended IPv6 support disabled.
Mar  9 23:48:31 linux SuSEfirewall2: batch committing...
Mar  9 23:48:31 linux SuSEfirewall2: Firewall rules unloaded.
Mar  9 23:48:31 linux SuSEfirewall2: Warning: ip6tables does not support state matching. Extended IPv6 support disabled.
Mar  9 23:48:31 linux SuSEfirewall2: batch committing...
Mar  9 23:48:31 linux SuSEfirewall2: Firewall rules set to CLOSE.
Mar  9 23:48:31 linux SuSEfirewall2: Warning: ip6tables does not support state matching. Extended IPv6 support disabled.
Mar  9 23:48:31 linux SuSEfirewall2: Setting up rules from /etc/sysconfig/SuSEfirewall2 ...
Mar  9 23:48:32 linux SuSEfirewall2: batch committing...
Mar  9 23:48:32 linux SuSEfirewall2: Firewall rules successfully set
Mar  9 23:48:34 linux startproc: startproc:  exit status of parent of /usr/sbin/httpd2-prefork: 1
/var/log/messages lines 1102-1140/1140 (END)

Der Apache startet leider noch nicht.

Code:
In der Konsole sagt mir das Teil was anderes, als im Yast:
linux:~ # rndc status
rndc: connect failed: connection refused
linux:~ #

Wenden wir uns noch mal der Fehlermeldung zu. Folgende Zeilen sind wohl problematisch:
Code:
Mar  9 23:48:30 linux named[24971]: none:0: open: /etc/rndc.key: permission denied
Mar  9 23:48:30 linux named[24971]: couldn't add command channel ::1#953: permission denied

Code:
Mar  9 23:48:30 linux named[24971]: zone heim.netz/IN: loading master file /etc/bind/db.heim.netz: file not found

Bei diesem muss der Eintrag wohl falsch sein, denn das liegt im /var/lib/named/db.heim.netz

Hier muss ich das noch mal überprüfen.
Den Fehler habe ich gefunden, da habe ich beim kopieren den Pfad nicht geändert:
Es was in der Datei /etc/named.conf.include der Eintrag:

Code:
zone heim.netz in {
  type master;
  file "/etc/bind/db.heim.netz";
};

in

Code:
zone heim.netz in {
  type master;
  file "/var/lib/named/db.heim.netz ";
};

Nun sagt bind:

Code:
linux:~ # rcnamed status
Checking for nameserver BIND
rndc: connect failed: connection refused
                                                                      running
linux:~ #
 

Yehudi

Guru
Derzeitiges Bindprotokoll:
Code:
less +G /var/log/messages
Mar 10 10:10:03 linux named[13749]: starting BIND 9.3.1 -t /var/lib/named -u named
Mar 10 10:10:03 linux named[13749]: found 1 CPU, using 1 worker thread
Mar 10 10:10:03 linux named[13749]: loading configuration from '/etc/named.conf'
Mar 10 10:10:03 linux named[13749]: listening on IPv6 interfaces, port 53
Mar 10 10:10:03 linux named[13749]: listening on IPv4 interface lo, 127.0.0.1#53
Mar 10 10:10:03 linux named[13749]: listening on IPv4 interface eth0, 192.168.3.1#53
Mar 10 10:10:03 linux named[13749]: listening on IPv4 interface eth1, 192.168.1.1#53
Mar 10 10:10:03 linux named[13749]: listening on IPv4 interface dsl0, meineInternetIP#53
Mar 10 10:10:03 linux named[13749]: none:0: open: /etc/rndc.key: permission denied
Mar 10 10:10:03 linux named[13749]: couldn't add command channel 127.0.0.1#953: permission denied
Mar 10 10:10:03 linux named[13749]: none:0: open: /etc/rndc.key: permission denied
Mar 10 10:10:03 linux named[13749]: couldn't add command channel ::1#953: permission denied
Mar 10 10:10:03 linux named[13749]: zone 0.0.127.in-addr.arpa/IN: loaded serial 42
Mar 10 10:10:03 linux named[13749]: zone localhost/IN: loaded serial 42
Mar 10 10:10:03 linux named[13749]: /var/lib/named/db.heim.netz:32: file does not end with newline
Mar 10 10:10:03 linux named[13749]: zone heim.netz/IN: loaded serial 200207241
Mar 10 10:10:03 linux named[13749]: running

Problem 1:
/etc/rndc.key

Code:
key "rndc-key" {
	algorithm hmac-md5;
	secret "hier steht ein Key";
};

Problem2: das hinzufügen der 127.0.0.1

Problem3:
/var/lib/named/db.heim.netz:32

Code:
; Zonefile (Forward Mapping) für heim.netz.
;
$TTL 3h
@         IN  SOA linux.heim.netz. root.linux.heim.netz. (
   200207241 ; Seriennummer
   10800     ; Refresh Zeit
   3600      ; Retry Zeit
   604800    ; Expire
   38400 )   ; negative Caching TTL
;
; Nameserver
;
          IN  NS linux.heim.netz.
;
; Hosts (kanonisch)
;
localhost IN  A     127.0.0.1
nichts    IN  A     192.168.3.8
          IN  LOC   52 31 0.12 N 13 24 0.36 E 34m
          IN  HINFO "Power MAC AGP-Grafik 1,4GHz" "OSX 10.4"
          IN  RP    root.nichts.heim.netz.    linux.heim.netz.
          IN  TXT   "Apple G4" "Standort: Studio"
linux     IN  A     192.168.3.1
          IN  LOC   52 31 0.12 N 13 24 0.36 E 34m
          IN  HINFO "AMD 1,8GHz" "SuSE Linux 10.0"
          IN  RP    root.linux.heim.netz.    linux.heim.netz.
          IN  TXT   "Server und Router" "Standort: Arbeitszimmer"
;
; Aliase
;
www       IN  CNAME linux
irc       IN  CNAME linux

Was soll das bedeuten, das es nicht mit einer neuen Zeile beginnt?


Edit:
Der Apache startet - http://www.linux-club.de/viewtopic.php?p=317955#317955
Über http://localhost/ und http://127.0.0.1 komme ich auf mein Intranet, über http://www.mein.netz und http://192.168.3.1 kommt jedoch folgende Fehlermeldung:
"Forbidden
You don't have permission to access / on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request."
Was natürlich schon mal besser ist, als vorher.
 

baumpaul

Hacker
1. Localhost hat eigene Zonen und ist schon drin.
siehe dein Logfile.
Mar 10 10:10:03 linux named[13749]: zone 0.0.127.in-addr.arpa/IN: loaded serial 42
Mar 10 10:10:03 linux named[13749]: zone localhost/IN: loaded serial 42
Warum brauchst du den nochmal ?

2. rndc.key...
(der Eintrag ist nicht drekt in der named.conf, oder ? in so ein include .... <file> haben die den gepackt ? (War bei menem SuSE 9.3 zumindest so)

=> 1. habe ich den Eintrag, da wo er war gelöscht, weil mir nicht klar war,
warum er da steht, wo er steht und was er da tut. Ich brauche den Burschen
für die Dyn Einträge vom DHCP und da muß er dann eh in die Zonendefinition.
=> 2. SuSE läßt ja den named im chrootjail laufen und da haben die auch immer
mal Probleme mir den Rechten unter /var/lib/named.
(siehe named-doku in /usr/share/doc/packages evtl steht da was)
evt. liegt es ja daran.

3. Fehlermeldung Zeilenende
Die letzte Zeile ist wohl nicht mit return abgeschlossen ?
Ich würde sagen meckert den fehlenden Zeilenabschluß an.

Deine Forwarder hasttest vorhin du wahrsch. auch auch doppelt.
1x in der named.conf und einmal in einem Includefile?

Ach... solltest du da mit Yast basteln... nicht gut...
Gibt's manchmal geile Effekte, die in keinem Handbuch stehen.
 

Yehudi

Guru
baumpaul schrieb:
1. Localhost hat eigene Zonen und ist schon drin.
siehe dein Logfile.
Mar 10 10:10:03 linux named[13749]: zone 0.0.127.in-addr.arpa/IN: loaded serial 42
Mar 10 10:10:03 linux named[13749]: zone localhost/IN: loaded serial 42
Warum brauchst du den nochmal ?
baumpaul schrieb:
An dieser Stelle war er am mekern:
Code:
Mar 10 10:10:03 linux named[13749]: couldn't add command channel 127.0.0.1#953: permission denied

baumpaul schrieb:
2. rndc.key...
(der Eintrag ist nicht drekt in der named.conf, oder ? in so ein include .... <file> haben die den gepackt ? (War bei menem SuSE 9.3 zumindest so)[/code]

Nee, nee, die ist bei mir in einer Extradatei. s.o. /etc/rndc.key

Wenn ich jetzt S. 161 im "DNS und BIND" richtig verstanden habe, dann braucht man noch eine /etc/rndc.conf, die dann so aussehen soll:


#Nach NDS und Bind Oreily S. 161

options {
default-server localhost;
default-key "rndc-key",
};

key "rndc-key" {
algorithm hmac-md5;
secret "Passwort"
};

Bei mir kann ich jetzt auf www.heim.netz zugreifen. Allerdings weiß ich noch nicht, ob es wirklich alles so 100% ist, denn nach außen hin scheint die falsche Website aufgerufen zu werden. Das wiederrum liegt wahrscheinlich ma Apache.

Auch wenn mein Problem scheintbar gelöst ist, würde ich die Diskussion zu dem Thread weiterführen, um wirklich auch Thema zu verstehen was dort vorgeht.


:?: Erläuter das noch mal genauer.





Das hatte ich auch angenommen. Momentan finde ich leider keinen Eintrag, weil die Liste mal wieder zu lang ist.



Vielleicht hatte er deswegen gemekert. Einen habe ich ausdokumentiert.
Ich habe das mal irgendwann bei Samba festgestellt, Du machst dort Änderungen, die dann gar nicht oder falsch in der smb.conf auftauchen. Ist zwar superübersichtlich angelegt. Ansonsten war mir das bisher nicht aufgefallen.
 

baumpaul

Hacker
Äh....
zu 1
Zitat:
baumpaul schrieb:
1. Localhost hat eigene Zonen und ist schon drin.
siehe dein Logfile.
Mar 10 10:10:03 linux named[13749]: zone 0.0.127.in-addr.arpa/IN: loaded serial 42
Mar 10 10:10:03 linux named[13749]: zone localhost/IN: loaded serial 42
Warum brauchst du den nochmal ?
baumpaul schrieb:
An dieser Stelle war er am mekern:
Code:
Mar 10 10:10:03 linux named[13749]: couldn't add command channel 127.0.0.1#953: permission denied
/Zitat


.... Lese dein Logfile....
localhost/IN: loaded serial 42
zone 0.0.127.in-addr.arpa/IN: loaded serial 42
sind erfolgreich mit Serial 42 geladen ! FERTIG ! Localhost ist somit drin.

Keinen Localhost oder 127.0.0.1 in anderen Zonen !!!!!!

2. rndc-key ..... ist kein muß.... prinzipiel laufen alle DNS Geschichten ohne...
Das Ding braucht man ausschießlich für die verschlüsselte Kommunikation zwischen 2 Servern, soweit ich weiß.
Also DHCP > DNS für den DNS-Eintrag der dynamisch vergebenen Host IPs, oder
DNS-Master > DNS-Slave für das Zonenupdate.
... auch das geht aber ohne.

So hab ich den eingesetzt....
DHCP bekommt den Schlüssel und die Zone in der named.conf z.B. dann so:
zone "mynet.local" IN {
type master;
file "mynet.zone";
allow-update { key rndckey; };
};

(eq > reverse Zone)

include "/etc/rndc.key";

Der Bezeichner "rndckey" ist der String der im Schlüssel steht. (sogar lesbar)
Man kann diesen Schlüssel auch mit openssl selber bauen und andere Bezeichner verwenden.

Zitat:
Erläuter das noch mal genauer.

baumpaul hat folgendes geschrieben:

=> 2. SuSE läßt ja den named im chrootjail laufen und da haben die auch immer
mal Probleme mir den Rechten unter /var/lib/named.
(siehe named-doku in /usr/share/doc/packages evtl steht da was)
evt. liegt es ja daran.

\Zitat:

Was ein chroot-Jail ist, ist hoffentlich bekannt. oder ?
Für den named bei Suse ist es der Pfad /var/lb/named mit den Benutzerrechten named:named, glaube ich.
Alle für den Berieb relevanten Daten (named.conf, rdnc.key) und ab /etc/named
werden darin abgebildet. Ich hatte z.B. das Problem mit den Journalen für die
Dynamischen Zonen. Beim 1. Zugriff des DHCP auf den DNS werden diese
automatisch neu erstellt und danach nur noch verändert.
Wenn der User named, aus der Gruppe named die Rechte dafür nicht hat, funtzt es nicht. Premission denied, oder niet wie der Russe sagt.
Das Work around dafür fand ich dann unter /usr/share/doc/packages/named. GEIL!!!!
für include "rndc.key" gilt zu prüfen wie die Rechte dann in /var/lib/named gebraucht werden. Ich tippe mal auf 644 root:named. Hat er das ?
Ebenso noch die Verzeichnisrechte kontrollieren.

Beipiele für meine Conf-Files kann ich dir Mailen und Doku (leider etwas älter)
hab ich auch noch.
 

baumpaul

Hacker
Nochwas zu SuSE und Serverdiensten im allgemeinen:
1.=> keinen yast
2.=> das Zeug unter /usr/share/doc/packages/<dienst> lesen.
es erleichtert das Leben in den allermeisten Fällen.

Für den Named:
fangt mit einer einfachen monolithischen named.conf an (außer die Zonen natürlich und include "/etc/rndc.key")
Tragt das was in den "include /../<Datei>.conf steht in die named.conf an der
stelle von include ein. (und kommentiert den ..... .key aus)
Named braucht diese Verzeigungen nicht, man hat einen Überblick über die Datei
und man ist mit den allermeisten Dokus "kompatiebel", wenn man so will.
Zonen: Verzichtet auf Schnickschnak wie CNAME oder MX oder ....
Erstmal mit den Basiswerten zu laufen bringen, dann spielen :wink:
 

Yehudi

Guru
Unter /usr/share/doc/packages/bind/README.SUSE
gibts was für bind, werde ich mir mal zu Gemüte führen, und das obere auch noch mal durcharbeiten.

Du hast eine ziemliche Antipati gegen YAST, ich kann das im allgemeinen nicht bestätigen. Das starten von NFS geht so supereinfach z.B., auch der Runleveleditor, der hier ja oben verwendet wird kinderleicht.
Die ganzen Netzwerkgeräte lassen sich auch spielend editieren. Bei den Netzwerkdiensten habe ich folgende genutzt:
DHCP-Server, HTTP-Server, DNS Server, NFS-Server, xinetd, TFTP und Weiterleitung, ohne Probleme. Auch "Sicherheit und Benutzer" und "Software" wies keine Schwierigkeiten auf.
Das ich meine Updates und installationen mit Apt/Synaptic mache hat ganz andere Ansätze.
 

baumpaul

Hacker
Hm
Kann der z.B. DHCP-Yast mittlerweile "use-host-decl-names on" ?
Ingendeine 9er Version hat mir das immer gekillt und der
Yast hätte gerne gehabt, dass ich das für jede statische IP einzeln angebe anstatt
wie oben für die ganze Gruppe.
Einfach rausgeschmnissen hat er die Zeile und was da dann im Prodiktivbetrieb
los ist ....

Sowas und Ähnliches hatte ich schon öfter.
Da kannst du Dokus lesen wie ein Wilder und dann killt der Yast die Options.
GEIL!!!!!

Sonst mag ich Yast und Sax schon ....
 
Oben