Andreas Korthaus: extrem langsames LAN

Beitrag lesen

Hallo Klaus!

Grundsätzlich hast Du ja recht, aber was hilft's wenn es anders ist.

Aber ich finde das unlogisch. Ich als Anwendung benutze die Libs des Betriebssystems um eine TGCP-Verbindung zu einer bestimmten IP-Adresse/Port herzustellen. Wenn ich die IP habe, dann interessiert mich normalerweise nicht welcher hostname das ist.

Die einzige Problematik könnte sein, weiß das Betriebssystem ob es die Daten Pakete direkt zu der IP, also im LAN schicken kann, oder ob das über einen Router gehen muss. Und ich vermute dass es da irgendwo hapert. Das Problem ist besonder schlimm auf einem WinXP ome Notebook zu allem Überfluss noch mit WLAN. Das bekommt nicht nur keine Verbindung zum Apachen(wogegen der Webserver auf dem Router ohen Probleme erreichbar ist), sondern friert teilweise auch eine SSH-Session ein, obwohl die Verbindung angeblich wunderbar ist. Und das Teil ist tierisch lahm.

... aber selbst wenn, DNS-Abfragen dauern sicherlich nicht so lange.

Nur wenn der Name schnell gefunden wird bzw. alles richtig konfiguriert ist.

Tja...

Trage als erstes einmal auf dem Linuxrechner die IP-Adressen der beiden Rechner [...] in die Datei /etc/hosts ein.
Wie, nur die IP-Adressen?
Natürlich so wie es sich für die hosts-Datei gehört;-)

also doch mit erfundenen unützen Phantasie-Hostnamen? ;-)

Als Beispiel könnte Dir Das dienen:

127.0.0.1    localhost
192.168.168.3  server

addresses from DHCP

192.168.168.10  client1
192.168.168.11  client2
192.168.168.12  client3
192.168.168.13  client4

OK, bringt nix. Ich habe das so  ähnlich auf beiden Seiten eingetragen. Ich bekomme keinen Fehler, nur irgendwann einen Timeout. Wenn ich allerdings ein tracert auf die IP losschicke, sehe ich dass das Betriebssystem alles richtig macht, und "direkt routet", also nur 1 Eintrag.

Ich hatte auch ping versucht, was mit 87 ms für die paar mezer IMHO seht langsam ist, aber das hat damit IMHO nichts zu tun. dn jetzt passiert mir was seltsames, nachdem ich die hosts-Datei entsprechend auf beiden Seiten geändert habe, bekomme ich kein ping mehr und tracert auch nicht. Windows veruscht immer die IP als Hostnamen aufzulösen, und das scheitert natürlich. Dafür klappt das jetzt mit dem angegebenen Hostnamen, also "server", was aber wiederum im Browser auch nichts bringt. ich kann mich auch per telnet auf port 80 verbinden, nur erhalte ich irgendwie keine Antwort vom, Server, seltsame Sache.

Von anderen Rechnern im LAN aus kann ich übrigens auf den Server zugreifen, wenn auch so unglaublich langsam.

http://192.168.168.3/

dauert ein bisschen. Ich muss aber sagen, im Augenblick geht es.

Was passiert beim URL http://192.168.168.3/admin/ genau? Ich vermute, daß da ein PHP-Script dahinter liegt, welches eventuell eine Hostname-Auflösung macht.

Ich kann es mir nicht vorstellen, es ist ein CGI-Script, keine Ahnung in welcher Spache, ich tippe auf PERL. Aber das Problem habe ich ja auch bei der Apache Standard-Startseite, genauso bei den Bildern das dauert tierisch lange, sicherlich 10 mal so lange wie dieselben Daten durch dasselbe Netz nur aus dem Internet, also noch über die "schmale" DSL-Leitung, halt über den Router, das ist sauschnell, auf allen Rechnern, auch auf dem Notebook.

Mein Tipp: Probier es einfach einmal aus, so lange dauert der Test ja nicht. Und wenn das eine Änderung bringt, kannst Du ja immer noch darüber nachdenken, was da wirklich abläuft.

Hab ich getestet, auch mal neu gestatet... aber bringt alles nichts.

Der Server erfährt vom Hostnamen den ich eingegeben habe ja lediglich nebenbei aus dem host: - HTTP-Header.

Das bringt mich auf die Idee, dass das eventuell auch mit HTTP 1.1 zusammehängt. Aber ich bin ja kein Experte (Also sollte ich vielleicht gar nicht antworten *gg*).

Hm, kann natürlich sein, ich denke ich sollte mal einen DNS-Server installieren, und dann weiter sehen.

Jedenfalls weiß ich nicht was ich dort eintragen soll. Ich habe ja im prinzip nur einen Rechnernamen im LAN, die Clients brauchen wohl keinen Hostnamen, oder?

Hast Du schon einmal probiert, Dich mit telnet oder ssh auf dem Linux-Rechner anzumelden?

SSH mache ich die ganze Zeit, was aber nur beim Noteboolk manchmal Proobleme macht, mal mehr mal weniger, langsam ist es die ganze Zeit. Telnet habe ich mal auf Port 80 probiert, da kamm die Verbindung zu Stande, aber ich bekam keien Antwort vom server. Kein Statuscode, auch kein Fehler, nix.

Soweit ich das kenne, dauert das eine mittlere Ewigkeit, wenn der Linux-Rechner die IP-Adresse nicht in einen Namen auflösen kann. Ich vermute halt nur, daß das die gleiche Ursache hat.

Kann sein, aber wer will das denn machen?

Zumal das gar nicht per DNS geht, halt wegen DHCP.

Wer sagt das? Bei mir verwende ich auch DHCP und mein Nameserver kennt halt die gesamte DHCP-Range (ähnlich wie oben mit der hosts-Datei demonstriert). Es ist ja egal, _welchen_ Namen die Clients haben, Hauptsache, sie haben einen.

Wenn das so wichtig ist - ich habe gerade nochmal einiges gelesen, ich werde sowohl DNS als auch DHCP auf dem Server laufen lassen, dann kann der DHCP den DNS benachrichtigen wenn sich was ändert. Muss ich jetzt "nur noch" ans Laufen kriegen ;-)

[...] Jede Menge Konfigurationszeilen entfernt [...]

ISt das so OK?

Jetzt hast Du mich erwischt;-)

HA!

Ich muß gestehen, daß ich das ziemlcih selten mache, und bei mir erledige ich das alles mit Webmin.

Oh! Ich kenne mich damit nicht aus, ich hatte mal Confixx auf nem Linux-Server, das habe ich als erstes gelöscht, war mir von Hand dann doch lieber, ist aber auchb eine Frage was man alles konfigurieren muss, und wie oft sich das ändert.

Also kann ich über die syntaktische Richtigkeit der Ausführungen keine korrekten Angaben machen. Auf den ersten Blick scheint es aber richtig zu sein. Die Reverselookup-Dateien sind an sich recht wichtig, weil damit ja genau das Finden des Namens zu einer IP-Adresse schneller geht.

Ich werde es einfach mal probieren, wobei "probieren" hier eigentlich nicht so das richtige ist denn DNS ist schin wichtig, und sollte auch sicher vor Angriffen sein, denn wenn jemand Deinen DNS manipulieren kann, naja...

Wenn ich diesen Namensserver aber jetzt in meinen Cients angeben will, braucht man dann nicht 2 Namensserver?

Wieso?
Erstens brauchst Du lokal keine Reduntanz aufbauen. Das ist nur im Netz notwendig, um eine Ausfallssicherheit zu haben.

Weißt Du wie groß das LAN ist? Also Vorsicht mit solchen Aussagen :)
Neee, hast schon Recht, ich dachte das sei vorgeschreiben.

Zeitens kannst Du, wenn Du schon einen DNS-Server betreibst, diesem auch mitteilen, wo er all die Adressen finden kann, die er selbst nicht kennt. Dazu gibt es im options-Block der named.conf die direktive forwarders { 1. IP-Adresse Deines ISP-DNS; 2. IP-Adresse Deines ISP-DNS; };

Dann verwende ich "forweard only;", ja?

Und was muss ich noch machen, damit der Server an sich überhaupt auch als "caching nameserver" funktioniert?

Afaik cached BIND die gefundenen Einträhe sowieso
Näheres findest Du sicherlich unter:
http://www.bind9.net/doc-v8/
bzw.
http://www.bind9.net/Bv9ARM.html

Du glaubst nicht wie viel ich inzwischen dazu gelesen habe(und immer noch nicht genug) und wie doof ich mir inzwischen vorkomme ;-)

Die Zone ".", brauche ich die?
"localhost" ja wohl auf alle Fälle, oder? Obwohl, eigentlich reicht ja der Eintrag in der /etc/hosts, oder?
`
Auf ale Fälle vielen Dank für Deine Hilfe!

Grüße
Andreas