web-dev-qa-db-ja.com

PATはウェブサイトにアクセスできませんが、NATできます

私の最初の質問はここにありました: PATユーザーはウェブサイトにアクセスできませんが、NATユーザーはアクセスできますか?

静的IPを取得し、有効にした後も応答がないため、機能していると思いましたが、昨日、クライアントがまだWebサイトにアクセスしていないと言われました。クライアントは会社の方針によりネットワーク設定を変更できないので、自分の側で何かできることはないかと思います。

現在NATを使用しているため、すべてが正常に接続されます。 IT担当者から、静的IPアドレスに2回接続すると、Webサイトがランダムなポートに接続しようとすると言われました。次に、Googleに属する他の2つのIPアドレス(Webランキング用)に接続し、Webサイトをロードします。

PATを使用する場合、静的IPアドレスに2回接続しますが、何も起こりません。私たちのウェブサイトが接続し直すと、ファイアウォールはそれを落とします。

Webサイトが接続を試みているのが正常かどうかはわかりません。実は、何が起こっているのか全くわかりません。私はネットワーキングの人ではありません。私はウェブサイトを担当しています。

1
Alex

あなたの立場では、両者とのアイデアを明確にした後、私はあなた、クライアントのIT担当者、およびホスティングプロバイダーのテクニカルサポートスタッフが参加する電話会議を設定します。他の2人に詳細について話し合い、共同で解決策にたどり着くか、原因を特定するための具体的な手順を特定することをお勧めします。


クライアントにホスティングサービスと通信させることができない場合は、問題の技術的な詳細を明確に理解する必要があります。

NATはネットワークアドレス変換であり、IPV4アドレスの不足に対処するための非常に一般的な方法です。 NATの前は、インターネットに接続されているすべての組織のすべてのコンピューターは、グローバルに一意のIPアドレスを持っている必要がありました。 NATはルーターで実行され、内部アドレスを別のパブリックアドレスの背後に隠します。このように、10,000台のコンピューターを使用するビジネスでは、10,000台ではなく1つのパブリックIPアドレスのみが必要になる場合があります。アドレスは、私的使用のために予約されたIPV4アドレスのグループから選択されます。

したがって、私のPCの内部アドレスは192.168.1.1であり、Webサーバーの内部アドレスも192.168.1.1である可能性があります。 NATは、これらのコンピューターが相互に通信できるようにします。www.example.comのパブリックDNSは、内部アドレス192.168.1.1を提供せず、ユーザーのパブリックIPアドレスを提供します。ルーター、1.2.3.4としましょう。

したがって、Webブラウザに http://www.example.com と入力すると、次のようなTCPパケットが送信されます。

From=192.168.1.1:5432 To=1.2.3.4:80 Payload="GET / HTTP/1.0"

5432は、私のPCがランダムに選択したポートです。私のルーターはそれをに変更します

From=99.88.77.66:6789 To=1.2.3.4:80 Payload="GET / HTTP/1.0"

ここで、99.88.77.66はルーターのパブリックIPV4アドレスです。これはネットワークアドレス変換(NAT)です。 6789はそれが割り当てるポート番号です(他の人の接続にすでに5432を使用している可能性があります)これはポートアドレス変換(PAT)です。ルータは、後で呼び出すために、この変換をメモリに記録します。

1.2.3.4のホスティングサービスルーターはパケットを受信し、ポート番号80を調べて、パケットを渡す内部コンピューターを決定します。これはポートフォワーディングです。したがって、ホスティングサービスLANでは、パケットは次のように変更されます。

From=99.88.77.66:6789 To=192.168.1.1:80 Payload="GET / HTTP/1.0"

Webサーバーはこれを受け取ります。 99.88.77.66:6789に返信します。その応答がルーターに届くと、ターゲットアドレス99.88.77.66:6789のポート番号を使用して、元の接続のソース(私の192.168.1.1:5432)を検索します。ルーターはそれに応じて宛先アドレスを変更し、パケットをLANに転送します。

これがどのようにうまくいかないのかわかりません。しかし、すべてを機能させるには、ポート番号が不可欠であることがわかります。

1
RedGrittyBrick