Autor Beitrag
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Mi 27.04.11 19:35 
Hallo,

ich entwickle gerade eine ASP.NET-Webanwendung und habe diese in den IIS-Server geladen. Über die LAN-interne IP-Adresse des Rechners, auf dem der Server läuft, kann ich die Website abrufen, nicht aber über die externe Adresse des Routers. Die Portfreigabe funktioniert, das habe ich mit einem anderen Programm getestet.

Wireshark liefert folgende Erkenntnis: Die SYN-Pakete kommen an, werden aber nicht mit ACK beantwortet. Das heißt doch, dass der TCP-Listener die Anfrage nicht aktzeptiert, oder? Und wie kann ich IIS so konfigurieren, dass er die Pakete annimmt? Eine Bindung auf die externe IP-Adresse ist bereits hinzugefügt.

Ich hoffe, es findet sich eine Lösung. Vielen Dank schonmal für eure Vorschläge!

Grüße,
Yogu
Yogu Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Fr 29.04.11 18:32 
Ich erlaube mir mal einen *Schiebeposting* und möchte noch einmal betonen, dass ich dankbar bin für jeden Hinweis.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 29.04.11 18:55 
Wie sieht es mit der Firewall aus?

Da wäre es normal, wenn es gar keine Antwort gibt. ;-)
Yogu Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Fr 29.04.11 19:17 
Juhu, ein Post :)

Die Firewall habe ich gerade noch einmal gänzlich ausgeschaltet - ohne Erfolg. Außerdem kann es gar nicht an ihr liegen: Wenn ich statt der IIS einen selbst programmierten TCP-Server lauschen lasse und diesen Eingehende Verbindungen akzeptieren lasse, kommt die Verbindung zustande.

Ich glaube vielmehr, dass der IIS-Server Pakete von externen IP-Adressen nicht beantwortet. Es gibt das Modul "Einschränkungen für IP-Adressen und Domänen", aber daran liegt es nicht. Gibt's vielleicht noch mehr solcher Möglichkeiten, bestimmte IP-Adressen auszuschließen?

Grüße,
Yogu
dark-destination1988
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 178
Erhaltene Danke: 21



BeitragVerfasst: Mo 02.05.11 10:32 
schonmal über Portforwarding probiert?
von außen muss ja prinzipiell an die interne Adresse weitergeleitet werden.
Ich vermute deshalb das du das über Portforwarding erreichen kannst.
Du rufst über die Externe Adresse auf. Der Router leitet es an die interne weiter und du erhälst damit eine antwort von der Internen Adresse, obwohl die Externe angesprochen wurde
dark-destination1988
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 178
Erhaltene Danke: 21



BeitragVerfasst: Mo 02.05.11 10:32 
Sorry doppelpost


Zuletzt bearbeitet von dark-destination1988 am Mo 02.05.11 10:33, insgesamt 1-mal bearbeitet
Yogu Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Mo 02.05.11 15:57 
Hallo,

danke für deine Antwort, user profile icondark-destination1988. Am Router ist bereits eine Protfreigabe eingerichtet, d.h. er wurde so konfiguriert, dass er den Port 80 der externen IP-Adresse mit dem Port 80 der lokalen IP-Adresse meines Rechners verknüpft. Das meinst du wohl mit Port Forwarding. Das Problem ist aber, dass der IIS-Server die Pakete, die über diese Portfreigabe gesendet wurden, nicht akzeptiert. Wahrscheinlich ist irgend eine Einstellung gesetzt, dass er nur lokale IP-Adressen annimmt. Aber die finde ich eben nicht.

Vorübergehend habe ich das Problem damit gelöst, dass ein anderer TCP-Server die Verbindungen in Empfang nimmt und dann selbst eine Verbindung zum IIS-Server aufbaut, um die Daten zu übertragen. So denkt der IIS-Server, die Daten kämen vom eigenen Rechner, obwohl sie von außen stammen. Das löst zwar erstmal das Problem, birgt aber ein Sicherheitsrisiko und erlaubt es mir nicht, lokale Anfragen anders zu behandeln als normale (z.B. mit erweiterten Fehlermeldungen).

Der IIS Express scheint übrigens genau das gleiche Problem zu haben.

Grüße,
Yogu
Yogu Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Do 26.05.11 20:49 
Hallo,

ich habe inzwischen eine Lösung gefunden, die mit IIS Express funktioniert. Im Prinzip muss nur folgende Zeile ausgeführt werden:

ausblenden Quelltext
1:
netsh http add urlacl url=http://hostname:port/ user=Jeder					

In der Quelle wird statt Jeder everyone verwendet, aber in der deutschen Version von Windows muss die Übersetzung benutzt werden.

Wie man die Regel wieder löscht und wie das ganze unter XP funktioniert, steht auf der verlinkten Seite.

Grüße,
Yogu