
ルーターでポート転送を有効にするためにあらゆることを試しました。私は大学に通っており、大学は私の部屋にインターネット設備を提供しており、そこには私専用のルーターがあります。大学はすべての外部ポートをブロックしていると思いますが、確信が持てないので、ここに来ました。
私が試したこと:
- Tenda ルーターでポート転送を設定しました (内部および外部ポート - 7712)
- ファイアウォールに受信ルールを追加して、外部ポート 7712 を許可します (このルールより上位のルールがブロックされていないことを確認しました)
- ポート7712でREST APIを公開するSpringboot APIがあります
- 大学の親ルーターまたは ISP によってポート 7712 がブロックされているかどうかはわかりません (一意のポートを使用するように最善を尽くしました)
観察:
- 大学のネットワークに接続しているときは、externalIp:port にアクセスできます (大学の学生で、大学から提供されたインターネットを使用している友人の部屋からでもアクセスできます)
- 携帯電話のインターネットから接続するとexternalIp:portにアクセスできません(基本的に、大学が提供するインターネットから外に出ると)ポートが空いているかどうかを確認しようとするとリンク試したポートはすべてブロックされていると表示された
すでに確認し、理解し、試したが、問題を解決できなかったリンク:
- ポートは開いていますが、外部 IP アドレス経由ではアクセスできません
- https://stackoverflow.com/questions/54086936/how-to-make-spring-boot-application-accessible-by-external-ip-address-of-the-ser/66308302
- https://stackoverflow.com/questions/63319977/port-80-still-blocked-even-after-port-forwarding-and-disabling-firewall
これらのリンク以外にも、インターネット上で多くのリソースをチェックしましたが、チェックした解決策のどれも成功しませんでした。
基本的に、私は自宅から世界に向けて、いわば自宅データセンターのようなサービスをホストしようとしています。ここには大きなマシンはなく、ラップトップがあるだけです。ラップトップ (サーバー) に接続する一部のユーザーの電話 (クライアント) で実行される可能性のある非常に小さなアプリをホストするためにこれを行っています。
現在、Eclipse から実行する Springboot アプリケーションがあります。Eclipse でサーバーを起動したら、localhost:ip から接続しようとしますが、ポート転送構成を行った後、externalIp:port からアクセスできるようにしたいと考えています。この点について教えてください。
答え1
大学の友人が外部 IP/ポート経由でアクセスできる場合、原因はルーターまたは Windows ファイアウォール ソフトウェアである可能性があります。
ただし、まず大学での接続が何らかの NAT (キャリア グレードまたは通常の NAT) を使用しているかどうかを確認する必要があります。ルーターとインターネットの IP アドレスを比較します。ルーターの WAN IP を確認し、インターネットから見た IP を表示するサイト (例: whatismyip.com) にアクセスします。2 つの IP アドレスが同じであれば、NAT を経由していません。これらが異なる場合、またはルーターの WAN IP がプライベート IP アドレス範囲 (https://en.wikipedia.org/wiki/プライベートネットワーク) の場合、NAT の背後にいるため、できることはあまりありません。
実際の外部 IP があり、NAT が干渉していない場合でも、大学によって特定のポート/サービスで接続がファイアウォールで保護されているか、ルーターまたは Windows ファイアウォールが原因の可能性があります。次の手順では、ルーターを問題として排除します。
•Tenda ルーターが DMZ 機能を提供している場合は、コンピュータを Tenda の DMZ に配置してテストを開始します (これは通常、Tenda によってデバイスに割り当てられた IP を DMZ 設定に移動することによって行われます)。DMZ はすべての NAT をバイパスし、コンピュータをインターネットに公開します。
• コンピュータを大学のネットワークに直接接続し、ルーターを完全に回避します。ルーターに IP アドレスがどのように発行されるかを確認する必要があります (ほとんどの場合、DHCP によって発行されますが、PPPOE 認証が必要になる場合もあります)。
次のステップは、Windowsファイアウォールソフトウェアを一時的に無効にすることです(警告:これにより、コンピュータがインターネットに完全に公開されます)。次に、コンピュータでポートが開いているか、リッスンしていることを確認します。次のようなツールを使用して、ポートが開いているかどうかを確認します。https://www.portchecktool.com/またはインターネットに外部接続された別のデバイス。
開いているポートが確認できる場合は、ルーターの問題か Windows ファイアウォールの設定の問題かをさらに調べることができます。ポートが開いていない場合は、大学によってファイアウォールが設定されている可能性があります。
答え2
私の ISP は NAT を使用していました。NAT から手動で削除し、要求されたポートを開くために ISP に電話する必要がありました。ただし、大学のネットワークでそれができるかどうかはわかりません。