
Ich habe alles versucht, um die Portweiterleitung auf meinem Router zu aktivieren. Ich bin an einer Universität und die Universität stellt mir den Internetzugang in meinem Zimmer zur Verfügung, in dem ich meinen eigenen Router habe. Ich glaube, die Universität blockiert alle externen Ports, bin mir aber nicht sicher, also bin ich hierher gekommen.
Was ich versucht habe:
- Portweiterleitung auf meinem Tenda-Router konfiguriert (interner und externer Port – 7712)
- Ich habe der Firewall eine Regel für eingehenden Datenverkehr hinzugefügt, um den externen Port 7712 zuzulassen (ich habe überprüft, dass keine andere Regel darüber meine Regel blockiert).
- Ich habe eine Springboot-API, die eine REST-API auf dem Port 7712 bereitstellt
- Ich bin nicht sicher, ob mein Universitäts-Router oder mein ISP meinen Port 7712 blockiert (ich habe mein Bestes getan, um einen eindeutigen Port zu verwenden).
Beobachtungen:
- Ich kann auf externalIp:port zugreifen, wenn ich in meinem Universitätsnetzwerk bin (sogar aus dem Zimmer meines Freundes, der auch Student an der Universität ist und das von ihm bereitgestellte Internet nutzt).
- Ich kann nicht auf externalIp:port zugreifen, wenn ich mich über das Internet meines Telefons verbinde (im Grunde, wenn ich das von meiner Universität bereitgestellte Internet verlasse). Wenn ich versuche zu prüfen, ob ein Port auf diesem frei istVerknüpfung, jeder Port, den ich versuche, wird als blockiert angezeigt
Links, die ich bereits geprüft, verstanden und ausprobiert habe und die das Problem nicht lösen konnten:
- Der Port ist offen, kann aber nicht über eine externe IP-Adresse darauf zugreifen
- https://stackoverflow.com/questions/54086936/wie-macht-man-spring-boot-application-zugangsfähig-durch-externe-ip-adresse-des-ser/66308302
- https://stackoverflow.com/questions/63319977/port-80-still-blocked-even-after-port-forwarding-and-disabling-firewall
Abgesehen von diesen Links habe ich viele weitere Ressourcen im Internet überprüft und war bei keiner der überprüften Lösungen erfolgreich
Im Grunde versuche ich, einen Dienst von zu Hause aus für die Welt zu hosten, sozusagen ein Heimrechenzentrum. Ich habe hier keine großen Maschinen, nur meinen Laptop. Ich mache das, um eine sehr kleine App zu hosten, die auf einigen Benutzertelefonen (Client) laufen kann, die sich mit meinem Laptop (Server) verbinden.
Momentan habe ich eine Springboot-Anwendung, die ich von Ecplise aus ausführe. Sobald ich den Server auf Eclipse starte, versuche ich, eine Verbindung von localhost:ip herzustellen, und es funktioniert, aber ich möchte, dass es von externalIp:port aus zugänglich ist, nachdem ich die Portweiterleitungskonfiguration vorgenommen habe. Bitte helfen Sie mir dabei.
Antwort1
Es hört sich so an, als ob es an Ihrem Router oder an der Windows-Firewall-Software liegen könnte, wenn Ihr Freund an der Universität über seine externe IP/seinen externen Port erreichbar ist.
Sie müssen jedoch zunächst feststellen, ob Ihre Verbindung an der Universität eine Art NAT verwendet (entweder Carrier Grade oder normales NAT). Vergleichen Sie Ihre IP-Adressen zwischen Ihrem Router und dem Internet. Sehen Sie sich die WAN-IP im Router an und besuchen Sie dann eine Site, die Ihre IP so anzeigt, wie sie vom Internet aus gesehen wird (z. B. whatismyip.com). Wenn die beiden IP-Adressen gleich sind, verwenden Sie kein NAT. Wenn sie unterschiedlich sind und/oder wenn die WAN-IP Ihres Routers in einem privaten IP-Adressbereich liegt (https://en.wikipedia.org/wiki/Privates_Netzwerk), dann befinden Sie sich hinter einem NAT und können nicht viel tun.
Wenn Sie eine echte externe IP-Adresse haben und kein NAT stört, ist es dennoch möglich, dass Ihre Verbindung an bestimmten Ports/Diensten durch die Universität durch eine Firewall geschützt ist oder dass es einfach an Ihrem Router oder Ihrer Windows-Firewall liegt. Der nächste Schritt besteht darin, den Router als Problem auszuschließen:
•Wenn der Tenda-Router eine DMZ-Funktion bietet, platzieren Sie Ihren Computer in der DMZ auf dem Tenda und beginnen Sie mit dem Testen (normalerweise geschieht dies, indem Sie die Ihrem Gerät vom Tenda zugewiesene IP in die DMZ-Einstellungen verschieben). DMZ sollte alle NAT umgehen und Ihren Computer dem Internet aussetzen.
• Verbinden Sie Ihren Computer direkt mit dem Universitätsnetzwerk und vermeiden Sie den Router vollständig. Sie müssen herausfinden, wie Ihre IP-Adresse an Ihren Router vergeben wird (höchstwahrscheinlich wird sie nur über DHCP vergeben, aber es könnte eine PPPOE-Authentifizierung erforderlich sein).
Der nächste Schritt besteht darin, die Firewall-Software von Windows vorübergehend zu deaktivieren (Warnung: Dadurch wird Ihr Computer dem Internet ausgesetzt) und dann sicherzustellen, dass die Ports auf Ihrem Computer geöffnet sind. Überprüfen Sie sie mit einem Tool wiehttps://www.portchecktool.com/oder ein anderes extern mit dem Internet verbundenes Gerät.
Wenn Sie die offenen Ports sehen, können Sie weiter untersuchen, ob es ein Problem mit dem Router oder Ihren Windows-Firewall-Einstellungen gibt. Wenn die Ports nicht geöffnet sind, werden Sie wahrscheinlich von der Universität durch eine Firewall geschützt.
Antwort2
Mein ISP verwendete ein NAT. Ich musste sie anrufen, damit sie mich manuell aus dem NAT entfernen und die angeforderten Ports öffnen. Ich weiß allerdings nicht, ob Sie das mit Ihrem Uni-Netzwerk tun können.