Windows Server 2008 - Herstellen einer Verbindung zu 127.0.0.1

9

Unter Windows Server 2008 R2 haben wir eine Anwendung, die eine Verbindung von einer öffentlichen IP-Adresse auf dem Server zu 127.0.0.1:8334 herstellt (eine Verbindung zu einem Dienst herstellt, der 0.0.0.0:8334 überwacht).

In Windows 2003 gab es kein Problem damit. Wir können eine Verbindung mit TCP von 1.2.3.4 [zB] bis 127.0.0.1:8334 herstellen.

In Windows 2008 stellen wir fest, dass TCP-Verbindungen von öffentlichen IP-Adressen, z. B. 1.2.3.4 bis 127.0.0.1:8334, sogar fehlschlagen. Der Dienst akzeptiert jedoch Verbindungen von 127.0.0.1 bis 127.0.0.1:8334 und von 127.0.0.1 bis 1.2.3.4:8334.

Es wurde versucht, die Windows-Firewall auszuschalten, die Protokollierung usw. zu konfigurieren (es wurden keine nützlichen Protokolleinträge angezeigt), ohne Erfolg. Ist dies ein Problem mit dem neuen Netzwerkstapel?

Änderungen

1.2.3.4 versucht, auf demselben Computer eine Verbindung zu localhost [127.0.0.1] herzustellen

Die Hosts-Datei ist die Standard-Windows 2008-Hostdatei.

Loopback Check Info, interessant. Versuchte es ... hat nicht funktioniert. Crosschecked, um zu überprüfen, ob ich alles richtig gemacht habe - das habe ich.

Ich frage mich, ob es eine Lösung gibt, die NAT oder eine andere Möglichkeit zum Weiterleiten von Ports verwendet. Wenn ich 127.0.0.1:port an 1.2.3.4:port weiterleiten würde, würde das funktionieren? Da die App auf 0.0.0.0:port hört, würde sie Verbindungen auf 1.2.3.4:port aufnehmen

Die HOSTS-Datei enthält localhost 127.0.0.1. Die Hosts-Datei wird jedoch nur bei der Suche nach Hostnamen verwendet. In diesem Fall würde unsere Anwendung keinen Hostnamen nachschlagen, da die IP-Adresse 127.0.0.1 fest darin codiert ist (anstelle des Hostnamens localhost). Die HOSTS-Datei würde hier also nicht ins Spiel kommen.

Was Ports über 1024 betrifft [denken Sie, Sie beziehen sich vielleicht auf das MaxUserPort-Problem?], Habe ich dies getestet, indem ich eine einfache Verbindung zu Port 445 versucht habe - funktioniert ab 127.0.0.1, funktioniert nicht, wenn ich eine Verbindung von Quell-IP 1.2.3.4 herstelle. 445 ist ein Standard-Windows-Dienst, sollte also funktionieren!

Derzeit wird NAT oder RRAS nicht auf dem Computer ausgeführt. Ich habe mich gefragt, ob es eine Möglichkeit gibt, die Umleitung durchzuführen. Ich vermute, dass dies nicht funktioniert, da der TCP / IP-Stapel das Paket ablehnt, bevor es die Loopback-Schnittstelle zum Umleiten erreicht.

Routendruck, den ich überprüft hatte - scheint in Ordnung zu sein, die öffentlichen IPs wurden zuerst weitergeleitet, dann schließlich 127.0.0.0 Netzmaske 255.255.255.0 und 127.0.0.1 Netzmaske 255.255.255.255 beide an Loopback.

Bearbeiten Scheint, als hätte ich die Antwort auf den Grund für das Problem gefunden. Ich habe eventvwr.msc verwendet, die Winsock-Protokollierung aktiviert, andere Dienste deaktiviert und gerade diesen Verbindungstest versucht. Ich habe einen Fehler erhalten, der in hexadezimaler Reihenfolge STATUS_INVALID_ADDRESS_COMPONENT zugeordnet wurde, als ich ihn gegoogelt habe.

Das brachte mich zu: http://social.msdn.microsoft.com/Forums/en-US/wfp/thread/d7cb6138-3f67-4467-a068-8325f56739ba

Dies bestätigte, dass dies eine Designänderung in WFP für Vista / 7 / Server 2008 [Windows-Filterplattform] ist.

[Siehe Antwort von Anupama Vasanth]

Sieht so aus, als müsste ich den harten Weg gehen und den Code neu schreiben [schwer, weil es bedeutet, mit Managern umzugehen!]

Vielen Dank, dass Sie mir geholfen haben, das Problem zu finden / zu bestätigen!

Kara Marfia
quelle
Befinden sich in Ihrer Beschreibung 1.2.3.4 und 127.0.0.1 auf demselben Computer? Was haben Sie für sie in der Hosts-Datei?
Gennady Vanin Геннадий Ванин

Antworten:

1

Vergessen Sie nicht, dass in Windows 2008 die Firewall standardmäßig aktiviert ist. Dies kann möglicherweise jeglichen Datenverkehr auch auf der Loopback-Schnittstelle blockieren. Wenn Sie an 0.0.0.0 binden, akzeptieren Sie außerdem Verbindungen auf ALLEN Schnittstellen. Die Firewall würde dies weiterhin blockieren. Sie können versuchen, die Firewall während des Testens auszuschalten ... und dann wieder einzuschalten. Ich hatte keine Probleme mit der Verbindung zu verschiedenen Programmen, die ich unter 127.0.0.1 entwickelt habe.

TheCompWiz
quelle
0

Versuchen Sie, eine Verbindung zu 127.0.0.2 in Vista / win2k8 und höher herzustellen - klingt lustig, funktioniert aber. Hatte damit in der Vergangenheit positive Ergebnisse


quelle
-3

Ich bin mir sehr sicher, dass es mit der Loopback-Check-Sicherheitsfunktion verbunden ist, obwohl ich nicht genau wissen kann, wie es implementiert wird, sondern nur, wie ich es überwinden kann:

http://chillicode.wordpress.com/tag/loopback-check/

Informationen zu "GILT FÜR" Windows 2008 finden Sie unter http://support.microsoft.com/kb/896861


Was genau steht in Ihrer HOSTS-Datei? Ich habe kein W2008. Meinen Sie damit, dass es dort keinen "127.0.0.1 localhost" gibt?

Ich habe auch irgendwo gelesen, dass das Standard-W2008-Setup keine Kommunikation mit Ports über 1024 zulässt.


Sie können Feedback zu MS Windows Server 2008 direkt an das MS-Team über senden

und sie werden antworten

Wenn Sie versucht haben, die "Loopback-Prüfung" durch die Methode der Registrierungsbearbeitung auszuschalten, ist ein Neustart erforderlich. Noch einer - nicht.

NAT in der Maschine? 127.0.0.1 wird nicht weitergeleitet oder weitergeleitet, ich glaube schon, es ist intern, Sie können die Netzwerkkarte herausziehen, Ihre 1.2.3.4 wird verschwinden, aber 127.0.0.1 wird weiterhin dort sein.

Was ist die Ausgabe Ihres (Run -> cmd -> route print)?

Es gibt noch einen Moment, dachte ich, obwohl ich nicht weiß, wie ich es zusammensetzen soll.

127.0.0.1 ist localhost (Schnittstelle), es ist ein Name mit einer Bezeichnung und wird als lokal betrachtet. 1.2.3.4 ist ein Name ohne Einzelbezeichnung.

Mögliche Probleme dabei sind, dass ein solcher Name möglicherweise als extern angesehen wurde


Können Sie es separat versuchen:

  1. IPv6 auf dem Netzwerkadapter deaktivieren (wenn es aktiviert ist und wenn es deaktiviert ist)?

  2. Einen Single-Label-Namen für 1.2.3.4 in die HOSTS-Datei einfügen?


Was ist die entsprechende Ereignisbeschreibung, Ereignis-ID usw. in eventvwr.msc, wenn die Kommunikation zwischen 1.2.3.4 und 127.0.0.1:8334 fehlschlägt?


"445 ist ein Standard-Windows-Dienst"

Ist es für SMB-direkt über TCP / IP? für die Dateifreigabe? CIFS?

Nicht so zuverlässig ... Es wird ständig von MS-Hotfixes gehackt. Lesen:

("NetBIOS-Browsing in Subnetzen kann nach dem Upgrade auf Windows Server 2008 fehlschlagen") - http://blogs.technet.com/b/networking/archive/2008/07/25/netbios-browsing-across-subnets-may-fail -nach dem Upgrade auf Windows Server-2008.aspx? wa = wsignin1.0

Dann,

"Wir haben das gleiche Problem wie zuvor beschrieben, wenn Vista SP2-Computer versuchen, eine Windows Server 2008 SP1- oder SP2-Dateifreigabe zu erreichen. Der Dateifreigabedienst wird von der Windows-Firewall mit erweiterter Sicherheit unter Verwendung einer vordefinierten Regel für die Dateifreigabe (SMB) geschützt, die a sichere Verbindung"

Gennady Vanin Геннадий Ванин
quelle