Server bei Verlust der Internetverbindung nicht mehr im lokalen Netz erreichbar

H8000

Member
Hallo,

ich habe hier ein Problem mit mit einem FreeBSD 5.2.1 Server.

Wenn keine Verbindung ins Internet vorhanden ist, können keine Verbindungen mehr aus dem lokalen Netz zu dem Server hergestellt werden.
Ich habe den Verdacht, daß es an der Konfiguration von Samba, Sendmail oder NTP liegen könnte.
Meine Suche hat bis jetzt leider zu keinem Ergebnis geführt.
Hat vielleicht jemand eine Idee, was das Problem hervorrufen könnte?

Danke im Voraus.
 
hmmm, also ohne ein paar mehr Daten wird das sicherlich schwierig ;)
Sind die alle im gleichen netz? Wie sieht bei dem Server und den Hosts die IP-Configuration aus? Was ist für die Verbindung ins Internet zuständig/Wie wird die Verbindung aufgebaut? Was ist als DNS-Server eingtragen? Kannst du den Server Pingen? Wiviele Clients, mit was für Hardware sind die vernetzt? e.t.c. ;)
 
Hallo,

habe das Problem teilweise lösen können.
Als ich einige von den Informationen gesammelt habe,
um die Commander Zed gebeten hatte habe ich einen Blick in die resolv.conf geworfen.
Der Router soll die Rolle des primären DNS übernehmen und die 141.1.1.1 den sekundären DNS.
Mit tcpdump habe ich mir angeschaut was passiert wenn auf shares zugegriffen wird wenn keine Verbindung zum Internet besteht:
Der Server kann die Namen nicht auflösen. Aber, warum löst der Router als primärer DNS die Namen nicht auf?
Mir scheint es so als wäre auch dieser auf eine Verbindung mit den Nameservern des ISP angewiesen. Okay, wieder was dazugelernt. :rolleyes:
Wenn die resolv.conf leer ist erfolgt der Zugriff auf die shares auch ohne Verbindung nach draussen.
Jetzt ist die Frage: Geht das auch eleganter? So das der Server Namen wenigstens lokal auflösen kann?


Danke im Voraus
 
ich vermute Du benutzt "bind" als DNS-Server, dann könntest Du die 141.1.1.1 als "Forwarder" in deinem primären DNS eintragen.

options {....
forwarders { 141.1.1.1 };
...}

und dann nur Deinen eigenen DNS-Server in resolf.conf eintragen, ohne sekundären DNS.

Oder Du erfragst die Adressen bei den rootserver, ohne den DNS Deines ISP.
 
Hallo,

habe das Problem teilweise lösen können.
Als ich einige von den Informationen gesammelt habe,
um die Commander Zed gebeten hatte habe ich einen Blick in die resolv.conf geworfen.
Der Router soll die Rolle des primären DNS übernehmen und die 141.1.1.1 den sekundären DNS.
Mit tcpdump habe ich mir angeschaut was passiert wenn auf shares zugegriffen wird wenn keine Verbindung zum Internet besteht:
Der Server kann die Namen nicht auflösen. Aber, warum löst der Router als primärer DNS die Namen nicht auf?
Mir scheint es so als wäre auch dieser auf eine Verbindung mit den Nameservern des ISP angewiesen. Okay, wieder was dazugelernt. :rolleyes:
Wenn die resolv.conf leer ist erfolgt der Zugriff auf die shares auch ohne Verbindung nach draussen.

Das kommt natürlich ganz darauf an was das für ein Router ist, und wie dieser Konfiguriert ist ;)

Jetzt ist die Frage: Geht das auch eleganter? So das der Server Namen wenigstens lokal auflösen kann?

Ja. du benutzt einfacht den vorhanden Server auch als DNS-Server! (z.B. mit Bind)

Diesen konfigurierst du so das er alle Anfragen deiner eigenen Domäne korrekt beantwortet und alle anderen Anfragen weiterleitet (z.B. zum Router, zum DNS-Server deines Providers oder direkt an die DNS-Rootserver.)

In den Clients (AUCH der Server selbst ist in dem fall ein Clients) trägst du den Server als Primären DNS ein, ggf. kannst du als "Backup" noch einen 2. eingeben!
 
Hallo,

ich habe mich getraut, die Auflösung der Namen mit "bind" zu verwirklichen.
Benutzt habe ich folgendes HOWTO: http://www.tuxweb.net/howto/dns/bsd/bind-89-bsd4x.html
In den ersten Zeilen steht das es veraltet ist, habe aber in anderen Quellen die gleichen Informationen gefunden. Nun zu meinem Problem :confused:

Beim Start meldet named keine Fehler.
Die Auflösung externer Adressen funktioniert, in beide Richtungen.
Die Auflösung der Internen Adressen endet so:

Nslookup sagt: " Non-existent host/domain".
Dnswalk sagt: SOA record not found for blah.blah.

Die Troubleshooting Guides die ich gelesen habe, beziehen sich größtenteils auf fehler die auftreten wenn exteren namen nicht aufgelöst werden können.

Server läuft nicht oder Host/Adresse nicht in der Liste sollten als Fehler ausgeschlossen sein.

Anbei sind die Konfigurationsdateien, wäre echt klasse wenn Ihr mir helfen könnt, oder wisst wo ich nachlesen kann um das Problem zu lösen.

Danke im Voraus


/etc/resolv.conf

domain blah.blah
search blah.blah
nameserver 127.0.0.1

/etc/namedb/named.conf

options {
directory "/etc/namedb";
allow-query { 192.168.100/24; 127.0.0.1; };
listen-on { 192.168.100.2; 127.0.0.1; };
version "unavailable";
};

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

zone "0.0.127.IN-ADDR.ARPA" {
type master;
file "localhost.rev";
};

zone "blah.blah" {
type master;
file "db.blah.blah.forw";
allow-transfer { none; };
};

zone "100.168.192.in-addr.arpa" {
type master;
file "db.100.168.192";
allow-transfer { none; };
};

/etc/namedb/db.blah.blah.forw

; forward lookup
;

$TTL 3600

@ IN SOA server.blah.blah. root.server.blah.blah. (
1 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
@ IN NS server.blah.blah.

; Machines
localhost IN A 127.0.0.1
router IN A 192.168.100.1
server IN A 192.168.100.2
drucker IN A 192.168.100.3

/etc/namedb/db.100.168.192

;reverse lookup
;

$TTL 3600

@ IN SOA server.blah.blah. root.server.blah.blah. (
2 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS server.blah.blah.

; Machines
1 IN PTR router.blah.blah.
2 IN PTR server.blah.blah.
3 IN PTR drucker.blah.blah.

/etc/namedb/localhost.rev

; From: @(#)localhost.rev 5.1 (Berkeley) 6/30/90
; $FreeBSD: src/etc/namedb/PROTO.localhost.rev,v 1.6 2000/01/10 15:31:40 peter Exp $
;
; This file is automatically edited by the `make-localhost' script in
; the /etc/namedb directory.
;

$TTL 3600

@ IN SOA server.blah.blah. root.server.blah.blah. (
3 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS server.blah.blah.
1 IN PTR localhost.server.blah.blah.
 
Zuletzt bearbeitet:
Hallo,

so sieht das log aus:

XX+/127.0.0.1/1.0.0.127.in-addr.arpa/PTR/IN
XX+/127.0.0.1/server.blah.blah/A/IN
XX+/127.0.0.1/server/A/IN
XX+/127.0.0.1/1.0.0.127.in-addr.arpa/PTR/IN
XX+/127.0.0.1/2.100.168.192.in-addr.arpa/PTR/IN
XX+/127.0.0.1/1.0.0.127.in-addr.arpa/PTR/IN
XX+/127.0.0.1/router.blah.blah/A/IN
XX+/127.0.0.1/router/A/IN
XX+/127.0.0.1/1.0.0.127.in-addr.arpa/PTR/IN
XX+/127.0.0.1/1.100.168.192.in-addr.arpa/PTR/IN
XX+/127.0.0.1/1.0.0.127.in-addr.arpa/PTR/IN
XX+/127.0.0.1/google.de/A/IN
XX+/127.0.0.1/1.0.0.127.in-addr.arpa/PTR/IN
XX+/127.0.0.1/104.221.14.72.in-addr.arpa/PTR/IN

Auf den ersten Blick sieht es bei allen erfolgreich aus, die Fehler werden aber weiterhin angezeigt. Nur nicht bei der Auflösung von google.de !?
 
Hallo,

wie Ihr bestimmt schon gemerkt habt ist das mein erster Kontakt mit Bind.

In der Konfiguration kann ich keinen Fehler erkennen. Ich weiss aber ehrlich gesagt auch nicht wonach ich suchen soll/muss Wenn ich den Netzwerktraffic mit Wireshark beobachte kann ich sehen das DNS Anfragen die lokale Adressen oder Namen enthalten das lokale Netz verlassen und an externe Server geschickt werden, aber warum? Der Domainname ist übrigens wirklich blah.blah. Wollte einen Namen bei dem sicher ist das er nicht mit "echten" Domainnamen kollidiert. Ist der Fehler da zu suchen?
 
Das einzige was mir direkt auffällt, ist, dass Du in der named.conf schreibst:
allow-query { 192.168.100/24; 127.0.0.1; };

Vielleicht versteht das bind nicht korrekt. Schreibe mal besser
allow-query { 192.168.100.0/24; 127.0.0.1; };

Der Rest scheint ok, sofern ich nichts übersehen habe.
 
Hallo,

ES FUNKTIONIERT! :D

Leider weiss ich immer noch nicht 100%ig was das Problem verursacht hat. :confused:

Gemacht habe ich folgendes:

Freebsd 5.2.1 auf einem andern Rechner installiert, die Konfiguration 1zu1 übernommen.
Siehe da, es funktioniert!?

Auf dem Rechner auf dem es nicht funktioniert hat, alle Konfigurationen gelöscht und
make-localhost ausgeführt. Die neuen Dateien habe ich aus der "localhost.rev" erstellt.

Der Unterschied besteht darin das ich alle Dateien "von Hand" direkt auf dem Rechner erstellt habe.
Die "alten" habe ich mit dem Editor unter Windows erstellt und den Inhalt dann in ein "putty" Fenster eingefügt.
Könnte dieser Vorgang die Probleme verursacht haben?
 
Zurück
Oben