Forum: PC Hard- und Software Port nicht erreichbar, wie Ursache finden? (Debian 9)


von Timm R. (Firma: privatfrickler.de) (treinisch)


Lesenswert?

Hallo,

ich habe eine Anwendung auf Port 8080 laufen:

Die Anwendung ist eine php Anwendung, die auf einem vhost in Apache 2.4 
läuft, alle anderen vhosts laufen wie geschmiert.

1. von localhost ist die Anwendung erreichbar
2. von außen nicht
3. in der Firewall ist der Port freigeschaltet
4. iptables -nL | grep 8080 liefert ""
5. nmap --reason -p 8080 xxx.xxx von remote liefert:
8080/tcp filtered http-proxy no-response
6. von localhost:
8080/tcp open  http-proxy syn-ack ttl 64

die .vhost habe ich gecheckt (grep), da gibt es keine Einschränkung auf 
localhost.

Jemand eine Idee, wo ich suchen könnte?

vlg
 Timm

von Jack V. (jackv)


Lesenswert?

Timm R. schrieb:
> Jemand eine Idee, wo ich suchen könnte?

Mit z.B. ›netstat -pltn‹ schauen, ob das Dings wirklich an 0.0.0.0:8080 
gebunden ist, und nicht etwa nur an 127.0.0.1. Auch könnte man mal mit 
der externen IP von der Maschine selbst auch schauen.

Ansonsten: „von außen“ bezieht sich auf eine Maschine innerhalb oder 
außerhalb des Netzes? Wie angebunden? Router mit Paketfilter dazwischen?

von GEKU (Gast)


Lesenswert?

Timm R. schrieb:
> 5. nmap --reason -p 8080 xxx.xxx von remote liefert:
> 8080/tcp filtered http-proxy no-response

Vermutlich liegt es an der Einstellung des Routers.

Der Router scheint von Extern erreichbar zu sein, die Anwendung von 
Intern.

Welcher Router wird verwendet?

von Timm R. (Firma: privatfrickler.de) (treinisch)


Lesenswert?

Hallo,

tut mir leid, dass eine wichtige Info fehlte:

Die fragliche Anwendung läuft auf einem Root-Server bei Hetzner.


Von Remote bedeutet von meinem Arbeitsplatzrechner aus.

Herzliche Grüße

Timm

von Timm R. (Firma: privatfrickler.de) (treinisch)


Lesenswert?

Jack V. schrieb:
> Timm R. schrieb:
>> Jemand eine Idee, wo ich suchen könnte?
>
> Mit z.B. ›netstat -pltn‹ schauen, ob das Dings wirklich an 0.0.0.0:8080
> gebunden ist, und nicht etwa nur an 127.0.0.1.

das liefert:
tcp6 0 0 :::8080 :::* LISTEN 2288/apache2

> Ansonsten: „von außen“ bezieht sich auf eine Maschine innerhalb oder
> außerhalb des Netzes? Wie angebunden? Router mit Paketfilter dazwischen?

von außen meint einen Rechner in einem ganz anderen Netzwerk.

vlg
 Timm

von Name (Gast)


Lesenswert?

Timm R. schrieb:
> das liefert:
> tcp6
Verwendest Du folglich die IPv6-Adresse? Ist Dein Testclient IPv6-faehig 
und kann den Server erreichen?

Zwar hier nicht das Problem, aber
> 4. iptables -nL | grep 8080 liefert ""
ist kein gueltiger Indikator, da per -m multiport auch Portranges 
gesetzt sein koennten (--dports 8070:8090 sperrt 8080, matcht aber Dein 
grep nicht).

von Jack V. (jackv)


Lesenswert?

Hmm … mehrere Dinge fallen auf: Zunächst filtert Hetzner 445, aber 8080 
nicht (zumindest nicht bei mir). Dann lauscht dein Daemon deiner Ausgabe 
zufolge auf IPv6 Port 8080 – wenn zwischen dir und der Maschine kein 
Paketfilter wäre, wäre die Ausgabe von ›nmap‹ ohne -6 (für IPv6) etwa 
so:
PORT     STATE  SERVICE    REASON
8080/tcp closed http-proxy reset

Daraus folgt: irgendwo zwischen dir und deinem httpd sitzt ein 
Paketfilter. In Frage kommen: dein lokaler Rechner, dein Router, dein 
Server → alles mal prüfen (›iptables‹ ist bei Stretch noch aktuell 
gewesen).
Außerdem wird’s auch ohne den Paketfilter nicht funktionieren, wenn du 
via IPv4 auf den nur via IPv6 erreichbaren Dienst zuzugreifen versuchst. 
Du solltest deinen Apachen so konfigurieren, dass er auch an IPv4 
lauscht.

: Bearbeitet durch User
von DPA (Gast)


Lesenswert?

Eventuell auf dem server auch mal mit "tcpdump port 8080" schauen, was 
so ankommt.

von Timm R. (Firma: privatfrickler.de) (treinisch)


Lesenswert?

Hallo,

Name schrieb:

> Zwar hier nicht das Problem, aber
>> 4. iptables -nL | grep 8080 liefert ""
> ist kein gueltiger Indikator, da per -m multiport auch Portranges
> gesetzt sein koennten (--dports 8070:8090 sperrt 8080, matcht aber Dein
> grep nicht).

das hat mir den Durchbruch gebracht. Weil mir ohne das grep aufgefallen 
ist, dass es für 80 eine ACCEPT Regel gibt für 8080 aber nicht.

Danke!

Sorry für die Umstände Leute, es lag also an der Firewall. Ich hatte 
zwar korrekt eine Regel für 8080 angelegt, aber für mich überraschend 
führt

service NameDerFirewall restart

nicht dazu, dass die Regeln neu geladen werden, dazu muss man explizit 
die Firewall anweisen, die Regeln neu zu laden.

Sorry und Danke

 Timm

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.