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>:80
zugreife, 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>:80
aber 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.
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.
Izzy
192.168.*.*
, aber manchmal auch172.*.*.*
oder10.*.*.*
, 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 .nur ein anderer Hobbyist
Izzy
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.nur ein anderer Hobbyist
Izzy
nur ein anderer Hobbyist
Izzy
adb logcat
könnte auch einige Hinweise geben.