外部からサーバーにpingできない

外部からサーバーにpingできない

LAMP を使用して Ubuntu サーバーをセットアップし、外部からアクセスしようとしています。

私がしたこと:

  • 私はno-ip.comにアカウントを設定しました。この記事

  • サーバーにローカルの静的 IP 192.168.1.127 を割り当て、ポート 80 と 22 (外部とローカルの両方) をその IP アドレスに転送しました。また、外部のポート 50005 を内部のポート 80 に転送しました。

  • Portcheckers で外部 IP を見つけました。私の理解では、外部 IP はネットワーク上のすべてのコンピューターとルーターで同じです。

    問題

  • ポート80、22、50005をチェックしますポートチェッカーそして、それらすべて(および他のすべての主要な港)は利用できないと言われました。

  • 私はまた、私のサーバーの外部IPにpingを試みた。ポートチェッカーPing Failed: TimedOut 端末から IP アドレスを ping してみましたが、ブラウザ経由でサーバーに接続しようとするとメッセージが表示され、その後フリーズしてしまいましPING myhost.no-ip.org (66.XXX.XXX.XX) 56(84) bytes of data.Oops! Google Chrome could not connect to...

    情報

    ssh、sftp、http 経由でローカル サーバー (192.168.1.127) に接続できます。

    私は Linksys E320 ルーターを持っており、ファイアウォールを無効にしました。

    外部 IP を提供する必要がある場合はお知らせください。ご協力ありがとうございます。

    編集

    Listen 80/etc/apache2/ports.confを次のように変更して、ポート80ではなくポート50005をリッスンするようにしました。listen 50005

  • 答え1

    私が間違っている理由

    ping ができない理由は、ルーターがエコー要求をサーバーに転送しないからだと説明しましたが、ルーター自体がエコー要求に応答しない理由については説明がつきません。自宅のネットワークではルーターに直接 ping できます (192.168.1.254)。では、外部から ping しようとすると機能しないのはなぜでしょうか。

    私の推測では

    私はまだこれを学んでいるので、この情報は正確ではないかもしれません。私の答えは主にhttps://community.spiceworks.com/topic/85353-forward-pings-from-the-router-to-the-server-behind-it

    ping が実行できないのは、実際にはあなたのせいではなく、IPv4 の設計上の制限によるものです。ルーターに指定の IP アドレスがあり、ポート 80、22、50005 を任意のコンピューターに転送するように設定されていると想定します。これは、特定の種類のネットワーク アドレス変換 (NAT) であるポート アドレス変換 (PAT) を使用するルーターです。

    サーバーに ping を実行すると、ping はインターネット制御メッセージ プロトコル (ICMP) エコー要求メッセージを送信し、返信メッセージを待ちます。

    問題は、ICMP が非常に低レベルであるためポートがないことです。ルータはポートのみを転送するため、ping が実行できず、ICMP エコー要求がサーバーに転送されません。

    ping を使用してサーバーが稼働しているかどうかを確認する代わりに、telnet 25 を使用して回避策を実行できる可能性があります。まだサーバー上でこれを設定していないため、その方法がわかりません。

    動作しましたか? ポート転送を行う代わりに、ファイアウォール > IP パススルーに移動し、割り当てモードを「パススルー」から「デフォルト サーバー」に変更し、デフォルト サーバーをラップトップ サーバーが使用している内部 IP (192.168.1.99) に設定しました。

    ping が機能するようになりました。正直なところ、私の状況があなたの状況と似ているかどうかはわかりませんので、すぐに返信をいただければ幸いです。

    関連情報