PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache hinter Router antwortet nicht mehr



heuki
21.01.07, 11:01
Hallo zusammen,

zuerst mal eines vorweg, ich bin was den Einsatz von Linux auf einem Server angeht eigentlich eher ein Anfänger, also verzeiht bitte meine Unkenntnis ;-)

Ich betreibe seit einigen Wochen einen Server mit Debian Stable hinter einem Hardwarerouter (So' n ****** Telekom Ding, ich habs nicht selber gekauft ;-)) Auf dem Server soll aktuell ssh und apache2 laufen. Dazu habe ich die Ports 22 und einen hohen Port für apache (damit ihn nicht jeder sofort findet) mit dem Router auf meinen Server weitergeleitet. Das funktionierte auch zunächst super.

Aber seit ca. einer Woche bekomme ich keine Verbindung mehr zum Apache. Das einzige, das ich wissentlich verändert habe, ist die /etc/hosts.allow bzw. hosts.deny. Aber ich habe es gerade auch mal mit einer leeren hosts.deny und ALL:ALL in der hosts.allow ausprobiert. Außerdem habe ich irgendwo gelesen, dass Apache diese Dateien sowieso ignoriert. Stimmt das?

Ansonsten habe ich kein netfilter in meinem Kernel, daran kann es also nicht liegen. (Ich weiß, das ist sehr mutig, aber als ich den Server aufgesetzt habe, dachte ich der Router davor würde reichen. Sobald ich wieder physischen Zugang zum Rechner habe, werde ich einen neuen Kernel mit Netfilter installieren)

Die Konfiguration des Apache kann es eigentlich auch nicht sein, denn vom Server selber aus bekomme ich den Zugriff. in der Konfiguration steht folgendes:
<Location />
order allow,deny
allow from all
</Location>

In den Dateien access.log und error.log erscheinen bei einem Zugriff aus dem Internet keine Einträge, obwohl ich loglevel = debug gewählt habe. Es scheint also auf jeden Fall vor dem Apache gefiltert zu werden.

Hat jemand eine Idee, woran es sonst noch liegen könnte? Ich persönlich habe ja den Router im Verdacht, aber es wäre eigentlich schon komisch, wenn er sich selbstständig umkonfigurieren würde. Aber das ist halt das einzige, was ich im Moment nicht überprüfen kann, weil ich nur eine ssh-Verbindung zum Server bekomme und das Webinterface mittels JavaScript, Frames und einem Webserver, der wohl nicht standardkonforme Antworten liefert (zumindest sagt links "Bad HTTP Response") mit den gängigen Textbrowsern unbenutzbar gemacht wurde.

Also ich bin für jeden Hinweis wirklich dankbar, denn ich habe überhaupt keine Idee mehr.

Viele Grüße,
Stefan

PS: Hab gerade noch mal ein nmap auf den Server losgelassen (nur mit der Option -P0
PORT STATE SERVICE
22/tcp open ssh
135/tcp closed msrpc
137/tcp closed netbios-ns
138/tcp closed netbios-dgm
139/tcp closed netbios-ssn

und noch einmal speziell für den Port auf dem der Apache läuft. Sieht so aus, als ob das irgendwas mit dem Fehler zu tun hätte oder? Ich kann leider die Ausgabe nicht so ganz deuten...
8367/tcp filtered unknown

tschloss
21.01.07, 11:55
Läuft der Apache auch unter diesem komischen high-port oder mappt deine NAT Konfig auf Port 80? Könnte das der Grund sein?
Du könntest ja mal testweise alle Ports auf den Server forwarden ("DMZ" nennen das die meisten Router-Interfaces) oder aber mal den Apache auf die jeweils andere Situation umkigurieren, wenn du an den Router nicht drankommst.

Übrigens bieten viele Router auch ein Telnet-Zugang, den Du aus deiner ssh-Shell mal versuchen könntest.

heuki
21.01.07, 12:16
Hi,

erstmal Danke für Deine schnelle Antwort.
Apache läuft auf dem hohen Port. Ich bin mir ziemlich sicher, dass der Router den Port nicht ändert ;-)
Und wegen dem "ziemlich" habe ich auch schon den Apache auf Port 80 laufen lassen, aber mit dem gleichen Ergebnis.

Der blöde Telekom-Router kann kein Telnet. Er kann zwar tftp aber ich hab keine Ahnung wie die Konfigurationsdatei heißt... :-( und eigentlich weiß ich auch gar nicht ob sie in einer lesbaren form abgespeichert wird ;-)

Stefan

tschloss
21.01.07, 13:10
Hmm. Ist natürlich schwer zu debuggen. Aber wenn es überhaupt keine Logenttries gibt, scheinen es doch eher am Netz / der Netzwerkwerkschicht zu liegen.

Übrigens müsste es möglich sein, über einen SSH-Tunnel auf die Weboberfläche des Routers zuzugreifen.

ssh -L 80:192.168.0.1:80 <externe-IP>

dann den Browser auf localhost dirigieren.
Wenn das https ist, dann halt über 443

Vielleicht hilft das weiter....

heuki
22.01.07, 21:27
Hallo,

es hat weitergeholfen. Mit dem Tunnel konnte ich auf den Router zugreifen und hab gesehen, dass der Port überhaupt gar nicht weitergeleitet wurde. Jetzt erinnere ich mich auch wieder, dass beim letzten mal, als ich im Bereich NAT etwas konfiguriert habe der Router sich komisch verhalten hat. Ich habe eine Regel gelöscht und das hat erst nicht funktioniert. Als ich sie dann nochmal gelöscht habe, ist dabei wohl auch irgendwie die richtige Regel mit gelöscht worden. Kann man nur mal wieder sagen: Sch*** Telekom Router

Naja, gut dass es jetzt wieder läuft :-).
Vielen Dank nochmal für Deine Hilfe!!

Grüße,
Stefan

tschloss
22.01.07, 21:37
Hallo,

es hat weitergeholfen. Mit dem Tunnel konnte ich auf den Router zugreifen und hab gesehen, dass der Port überhaupt gar nicht weitergeleitet wurde. Jetzt erinnere ich mich auch wieder, dass beim letzten mal, als ich im Bereich NAT etwas konfiguriert habe der Router sich komisch verhalten hat. Ich habe eine Regel gelöscht und das hat erst nicht funktioniert. Als ich sie dann nochmal gelöscht habe, ist dabei wohl auch irgendwie die richtige Regel mit gelöscht worden. Kann man nur mal wieder sagen: Sch*** Telekom Router

Naja, gut dass es jetzt wieder läuft :-).
Vielen Dank nochmal für Deine Hilfe!!

Grüße,
Stefan

Freut mich. ssh ist einfach faszinierend :cool: , finde ich!