ローカル ネットワークの外部からアクセスしたい FTP サーバーがあります。IP 192.168.0.23、ポート 21 にあります。ポート 21 をポート転送し、Wi-Fi に接続していないときに電話で接続しようとしたところ、うまくいきました。問題は、他のデバイスに接続できないことです。今日、家を離れているときに電話で接続を再度試みたところ (偶然 Wi-Fi に接続したとは思わないでください)、うまくいきましたが、友人が試したときはうまくいきませんでした。私のネットワーク設定は、インターネットに接続されているメインの ZTE ルーター、ZTE ルーターに接続されアクセス ポイントとして使用している TP-Link Archer C7 です。FTP サーバーも Archer C7 に設定されています。この問題には本当に困惑しています。理由は不明ですが、電話では機能するのに、他のすべてでは機能しないからです。このようなことに遭遇した方はいますか?
追伸: ISP に連絡して、ポートがブロックされているかどうか尋ねたところ、ブロックされていないと言われました。
答え1
コメントから判断すると、自宅の回線と電話は両方ともキャリアグレードNATシステム。
これは、「WAN」アドレスが 10.* IPv4 範囲内にあり、プライベート使用 (NAT または分離されたネットワーク用) であるため、インターネット上の他のマシンからアクセスできないことから明らかです。
自宅のネットワーク上の 2 台のマシンが互いにアクセスできるのと同じように、携帯電話は同じ NAT 上にあるため、自宅のルーターにアクセスできます。
解決策:
- ISP に適切な外部ルーティング可能な IPv4 アドレスを要求してください。ただし、それが不可能であったり、追加料金が必要になったりする場合があります。また、マシンにアクセスできるように、静的 IP アドレスを要求してください。
- ISP に IPv6 アドレス (範囲) を問い合わせてください。IPv6 には利用可能なアドレスが豊富にあるため、長期的にはこれが正しい解決策ですが、ISP がそれをサポートしていない可能性があり、また、クライアントが (または何らかのゲートウェイ) にアクセスするために IPv6 アドレスも必要になります。
- AWS または同様のクラウド プロバイダーでサービスをホストします。
- キャリアグレード NAT でトンネルを要求しますが、ISP がそれを提供する可能性は低いです。
また、ftp はおそらく設定するのに最適な種類のサーバーではありません。ポートの問題が発生する傾向があり、ftp は暗号化されていないため、代わりに sftp または http サーバーを設定するのが最善でしょうか?