• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Zugang aus Netz erreicht Firewall, aber nicht WS

mucker

Newbie
Ich bin ein Linux-Neuling und habe OpenSuse 11.0 installiert (mit GNOME), um mit dem Glassfish Applikationsserver (version 9.1_02) einen Web-Server aufzusetzen; auch letzteres mache ich in dieser Form das erste Mal.

Mein Server ist via DSL ans Netz angehängt und soll dynamisches DNS verwenden, und das Aufsetzen im Netz scheint richtig funktioniert zu haben; ich kann den Server pingen. Der Provider scheint aber NAT einzusetzen, von aussen bin ich unter einer andern IP sichtbar als ich intern als IP sehe. (Im Moment 85.1.218.162 resp. 192.168.2.101).

Wenn ich die Demo-Applikation von Glassfish mittels localhost aufrufe, funktioniert sie tadellos: http://localhost/hello.

Wenn ich die Demo-Applikation übers Internet aufrufe (http://www.mydomain/hello/), kriege ich den Fehler "Firefox can't establish a connection to the server at http://www.mydomain. Though the site seems valid, the browser was unable to establish a connection."

In /var/log/firewall sehe ich dabei die ankommenden Packete:
Aug 18 12:16:38 fluhmatt-linux1 kernel: SFW2-IN-ACC-EST IN=eth0 OUT= MAC=00:0d:61:be:d6:70:00:01:e3:e5:42:3d:08:00 SRC=192.168.2.1 DST=192.168.2.101 LEN=66 TOS=0x00 PREC=0x00 TTL=64 ID=4041 PROTO=UDP SPT=53 DPT=15001 LEN=46
Aug 18 12:16:38 fluhmatt-linux1 kernel: SFW2-IN-ACC-EST IN=eth0 OUT= MAC=00:0d:61:be:d6:70:00:01:e3:e5:42:3d:08:00 SRC=192.168.2.1 DST=192.168.2.101 LEN=66 TOS=0x00 PREC=0x00 TTL=64 ID=4043 PROTO=UDP SPT=53 DPT=10358 LEN=46
Aug 18 12:16:38 fluhmatt-linux1 kernel: SFW2-IN-ACC-EST IN=eth0 OUT= MAC=00:0d:61:be:d6:70:00:01:e3:e5:42:3d:08:00 SRC=192.168.2.1 DST=192.168.2.101 LEN=66 TOS=0x00 PREC=0x00 TTL=64 ID=4045 PROTO=UDP SPT=53 DPT=16490 LEN=46
Aug 18 12:16:38 fluhmatt-linux1 kernel: SFW2-IN-ACC-EST IN=eth0 OUT= MAC=00:0d:61:be:d6:70:00:01:e3:e5:42:3d:08:00 SRC=192.168.2.1 DST=192.168.2.101 LEN=66 TOS=0x00 PREC=0x00 TTL=64 ID=4047 PROTO=UDP SPT=53 DPT=16536 LEN=46
Aug 18 12:16:38 fluhmatt-linux1 kernel: SFW2-IN-ACC-EST IN=eth0 OUT= MAC=00:0d:61:be:d6:70:00:01:e3:e5:42:3d:08:00 SRC=192.168.2.1 DST=192.168.2.101 LEN=82 TOS=0x00 PREC=0x00 TTL=64 ID=4049 PROTO=UDP SPT=53 DPT=1545 LEN=62
Aug 18 12:16:38 fluhmatt-linux1 kernel: SFW2-IN-ACC-EST IN=eth0 OUT= MAC=00:0d:61:be:d6:70:00:01:e3:e5:42:3d:08:00 SRC=85.1.218.162 DST=192.168.2.101 LEN=40 TOS=0x00 PREC=0x00 TTL=253 ID=18261 PROTO=TCP SPT=80 DPT=28153 WINDOW=0 RES=0x00 ACK RST URGP=0

Daneben wird kein anderes File in /var/log/ modifiziert.

Die Packete werden auch rapportiert, wenn ich die Firewall via YaST-Konfiguration nur akzeptierte Packete protokollieren lasse, woraus ich schliesse, dass die Packete angenommen wurden.

Im Log des Glassfish sehe ich jedoch (im Gegensatz zum Gutfall mit localhost) keine Aktivität.

Wenn ich die Firewall abschalte, erhalte ich weiterhin dieselbe Reaktion. Die Firewall ist via Custom Rules konfiguriert:
• Network: 0/0, Protocol: UDP, Destination port: http-alt (8080), Source port: All
• Network: 0/0, Protocol: TCP, Destination port: http-alt (8080), Source port: All
• Network: 0/0, Protocol: TCP, Destination port: http (80), Source port: All
• Network: 0/0, Protocol: UDP, Destination port: http (80), Source port: All
Custom Rules verwende ich, weil der "Allowed Service " "HTTP Server", den ich als zu benützende Einstellung im Web erwähnt gefunden habe, bei mir nicht vorhanden ist. Ein Versuch mit einer selbst erstellten Konfiguration hat auch nicht zum Ziel geführt.

Dasselbe negative Resultat (mit den Packeten im Firewall, und danach nichts) sehe ich, wenn ich die momentan gültige IP direkt eingebe: http://85.1.218.162/hello/.
Wenn ich die lokale IP des Providers verwende funktioniert es, aber offenbar aufgrund eines Loopbacks, denn die Firewall ist in diesem Fall nicht involviert.

Anscheinend fehlt mir eine essentielle Einstellung, damit der Zugang von aussen funktioniert, aber tagelanges suchen hat mich nicht weiter gebracht. Kann mir jemand auf die Sprünge helfen? Ich wäre sehr dankbar.
 

abyss

Member
Bei Einsatz von NAT in Verbindung mit der Erreichbarkeit eines lokalen Rechners von aussen muss auf jeden Fall Portforwarding eingesetzt werden.
Wo dies zu definieren ist, kann ich nicht sagen, da Du zu wenig ueber den Aufbau deines lokalen Netzes verraetst. ( Webserver direkt an ADSLmodem oder ueber Zugangsrouter ?)
 

framp

Moderator
Teammitglied
Es ist nicht klar welche Topologie Du hast. So wie ich es verstehe hast Du den Server per Router am DSL dran. An Diesem Router hängen auch andere lokale Clients (192.168.2.xx Netz).

Damit Dein Server vom Internet erreichbar ist, musst Du im Router den Port 80 des Webservers auf die lokale Adresse 192.168.2.101 weiterrouten. Wie das geht musst Du in Deinem RouterHandbuch nachlesen.

Eine Anmerkung: Du weisst, dass das ein Sicherheitsloch vom Internet in Dein lokales Netz sein/werden kann wenn der Server nicht korrekt aufgesetzt wird und nicht regelmäßig SoftwareUpdates eingespielt werden :ugly:
 
OP
M

mucker

Newbie
Vielen Dank für die Hinweise.

Mein Server hängt in der Tat an einem Netopia Router (3346N), an dem auch noch ein WLAN Router hängt. Ich habe nicht über diese Geräte nachgedacht, die Packete, die bis zum Firewall druchkamen haben mich dazu verleitet zu glauben, weiter aussen sei alles in Ordnung.

Die Konfiguration eines Custom Service im Router, welcher Port 80 für das Protokoll TCP auf die lokale IP-Adresse forwarded, hat mir schlussendlich die gewünschte Konnektivität gegeben; aber erst nach Reboot des Routers (mit Neuvergabe der dynamischen IP), Update der dynamischen DNS und Abwarten einiger Zeit, bis die neue IP im Netz bekannt war. Jetzt liefert allerdings nslookup konfuse Resultate (falsche IP). Egal, Hauptsache der Zugang funktioniert.

Nochmals herzlichen Dank für die prompte und sehr zielsichere Hilfe.
 
Oben