Portweiterleitung auf Android 2.3.6 Wi-Fi-Tether mit der Port Forwarder App

Ich habe Probleme mit der Portweiterleitung von Verbindungen von außerhalb meines Netzwerks, wenn ich mit meinem Telefon per Tethering verbunden bin. Ich habe ein schlechtes Verständnis von Routern und Netzwerken im Allgemeinen, also haben Sie bitte etwas Geduld mit mir.

Mein Android-Gerät ist direkt mit dem Internet verbunden. Um den Zugriff auf meinen Computer von der Außenwelt über das Android-Gerät zu ermöglichen, verwende ich derzeit die kostenlose App namens Port Forwarder und mein Telefon ist gerootet, sodass ich die erforderliche Autorisierung habe. Der Port, an dem ich Verbindungen auf dem Server handhabe, ist 80. Wenn ich auf die IP-Adresse des Servers (innerhalb des Netzwerks) <local_ip.addr.ess.here>:80zugreife, kann ich darauf zugreifen, damit das funktioniert.

Das Problem ist, wenn ich versuche, von außerhalb des Netzwerks darauf zuzugreifen, fordert mich die App auf, die Quelle auf 80 und das Ziel, was auch immer es ist, einzustellen (ihr Beispiel ist 8080); Natürlich habe ich es auf 80 gesetzt, da der Server darauf hört. Also versuche ich, von außen auf den Server zuzugreifen, <phone.public_ip.adr.ess>:80aber es funktioniert nicht.

Wie Sie bemerkt haben, habe ich keine Ahnung, was ich tue, und es war schwierig, Anleitungen zu finden, selbst für Standard-Router. Hat jemand diese App erfolgreich genutzt und kann mir vielleicht weiterhelfen? Ich habe wahrscheinlich wichtige Informationen aus Unwissenheit ausgelassen. Wenn ja, lassen Sie es mich wissen und ich werde die Frage aktualisieren.

Von welcher "öffentlichen Adresse" sprechen wir hier? Wenn es sich um die von Ihrem Router zugewiesene WLAN-Adresse handelt (normalerweise so etwas wie 192.168.*.*, aber manchmal auch 172.*.*.*oder 10.*.*.*, siehe Wikipedia ), ist sie nur innerhalb Ihres lokalen Netzwerks sichtbar und kann nicht direkt von der "Außenwelt" aus erreicht werden. Portweiterleitungseinstellungen in Ihrem Router sind hier erforderlich und werden besser unter ServerFault besprochen .
Nein, es ist die Adresse von Google'ing "whats my ip" (wenn Sie es nicht verwendet haben, gibt Google selbst eine IP-Adresse an, die zuverlässig sein sollte). Und Sie verstehen die Frage falsch, im Titel steht "WLAN-Tethering". Das heißt, es ist kein normaler Router, mein Android-Gerät ist mein Router, was dies zur relevanten Site macht. Hast du überhaupt die ganze Frage gelesen? Ich erwähne Apps, Telefon und andere relevante Dinge, die Sie anscheinend völlig übersehen haben.
Ich habe es sogar mehrmals gelesen – aber ich muss zugeben, ich war etwas verwirrt. Sie haben nicht explizit angegeben, welches Gerät in diesem Zusammenhang als "Server" fungiert, also habe ich die übliche Richtung angenommen (das Wort "Tether" allein gibt nicht an, wer Server und wer Client ist, sorry). Danke für die Klarstellung: Das macht meinen Kommentar zu ServerFault natürlich obsolet. // Ihre Portweiterleitung von 80 auf 80 sieht für mich korrekt aus. Ich würde vorschlagen, die Android-Protokolle (z. B. adb logcat) zu konsultieren, während Sie versuchen, von außen darauf zuzugreifen, um zu sehen, ob es zumindest Ihr Gerät erreicht und möglicherweise einige Hinweise protokolliert.
Keine Sorge, ich werde die Frage etwas präzisieren. Ich werde nachschlagen, wie ich das Protokoll anzeigen kann.
Danke! Ich habe gerade ein wenig mehr bearbeitet, also sollte es jetzt vollkommen klar sein (hoffentlich; zumindest sollte niemand mehr in dieselbe Falle tappen wie ich). Fühlen Sie sich frei, anzupassen, wenn Ihnen meine Bearbeitung nicht gefällt. // Ein Gedanke ist, dass Ihr Anbieter dies möglicherweise nicht zulässt. Richten Sie zur Überprüfung einen Server (z. B. einen einfachen FTP-Server) auf Ihrem Android-Gerät ein und versuchen Sie, ob von der "Außenwelt" darauf zugegriffen werden kann. Wenn das auch nicht funktioniert, blockiert Ihr Provider diesen Datenverkehr. Wenn es funktioniert, können wir es immer noch weiter untersuchen.
Ich rief meinen Provider an und sie sagten, sie erlauben es. Nur einige "bekannte Virenports" wurden blockiert, was auch immer das bedeutet. Das Problem sollte also am Telefon selbst liegen.
Haben Sie es also mit einer Serversoftware auf dem Telefon selbst versucht, wie ich in meinem vorherigen Kommentar vorgeschlagen habe? Vielleicht ist es nur ein Problem mit der von Ihnen verwendeten Port-Weiterleitungs-App. Und wie gesagt, adb logcatkönnte auch einige Hinweise geben.

Antworten (2)

Ich bin mir nicht sicher, welche Version Sie verwenden, hier ist mein Rat. Die Ursache für die Blockierung liegt wahrscheinlich an der Firewall von Android und der strengen Se-Linux-Richtlinie.

Da Sie vollen Root-Zugriff haben, können Sie mit ADB eine Shell abrufen und dies überprüfen. Geben su -Sie ein und Sie gelangen in den Root. Ich verwende TerminalEmulator, aber Sie können einen nativen verwenden, wenn er mit dem Betriebssystem geliefert wird.

Wenn ich Sie richtig verstanden habe, verhält sich Ihr Telefon im Tethering-Modus wie ein Router. Das wird also benötigt, um Pakete weiterzuleiten:echo 1 > /proc/sys/net/ipv4/ip_forward

Mal sehen, ob das hilft. Höchstwahrscheinlich müssen Sie mit iptables spielen und Port 80.443 auf dem Tethering-Port zulassen. Dies ist keine vollständige Antwort, aber es ist zu lang, um es als Kommentar zu posten.

Die Antwort ist, dass Ihr Provider Port 80 blockiert, aber wenn Sie zu Port 443 wechseln, können sie ihn nicht blockieren, da Port 443 eine bidirektionale Kommunikation entsperrt haben muss, damit https Antworten senden und empfangen kann. Daher sollte der Wechsel von http zu https:// Ihr Problem höchstwahrscheinlich lösen.