単純なネットワークでは、DNS(foo.comなど)を使用してLAN内のサーバーにアクセスしている場合、nginxログは内部クライアントアドレス(10.0.0.19)ではなくゲートウェイアドレス(10.0.0.1)になります。
私はこれについてもっと読みたいと思っていますが、それが何と呼ばれているのかわかりません。 「ルーターは、ネットワークの外部、ネットワーク内のリソースに到達しようとしていることに気づき、IPアドレスをゲートウェイアドレスに置き換えた」という用語はありますか?これが単なる標準的なことである場合、私がもっと読むことができる記事はありますか?なぜこれが起こっているのかよくわかりませんが、名前がわからないルーターの「機能」のように感じます。
FROMアドレスがゲートウェイであるという副作用として、応答はスイッチを使用するだけでなく、ルーターに送信されます(その後、ローカルクライアントに返されます)。ルーターがファイアウォール機能を実行しているため、LANスイッチのスループットはルーターよりもはるかに高いため、これはあまり良くありません。
これはかなり単純なネットワーク設定です。
WAN - (70.x)Router(10.0.0.1) - Switch - (10.0.0.3) Server
- (10.0.0.19) Client
LAN内のコンピューター(クライアント10.0.0.19)で、foo.comにリクエストを送信します。 foo.comのDNSは、ルーターのWANインターフェイスを指します。このインターフェイスにはサーバーへのポート転送が設定されています。サーバー内のnginxは、リクエストが10.0ではなく10.0.0.1から送信されていることを示します。 0.19。
リクエストがWANから発信された場合、nginxログには期待されるデータが表示されます。
関連する場合、ルーターはユビキタスUSGであり、ユビキティスイッチが背後にあります。
「ルーターは、ネットワークの外部、ネットワーク内のリソースに到達しようとしていることに気づき、IPアドレスをゲートウェイアドレスに置き換えました」?
これは、NAPT(ネットワークアドレスポート変換)と呼ばれるNAT(ネットワークアドレス変換)バリアントです。大規模なベンダーがそれを呼んでいるため、PAT(ポートアドレス変換)と呼ぶ人もいますが、RFC 2663、IPネットワークアドレス変換(NAT)の用語と考慮事項はそれを説明します。内部でループバックしたい場合、それはベンダーに応じてさまざまなものと呼ばれます(ヘアピンルーティング、NATリフレクションなど)、そしてルーターリソースを非常に浪費します。
RFCを含むさまざまなリソースがあります。たとえば、RFC 3022、従来のIPネットワークアドレス変換器(従来のNAT)には セクション2.2。NAPTの概要 :
2.2。 NAPTの概要
たとえば、組織にプライベートIPネットワークがあり、サービスプロバイダーへのWANリンクがあります。プライベートネットワークのスタブルーターには、WAN)でグローバルに有効なアドレスが割り当てられます。リンクと組織内の残りのノードには、ローカルでのみ重要なIPアドレスがあります。このような場合、プライベートネットワーク上のノードは、NAPTを使用して単一の登録済みIPアドレスを使用して、外部ネットワークへの同時アクセスを許可できます。NAPTタイプ(ローカルIPアドレス、ローカルTUポート番号))のタプルをタイプ(登録済みIPアドレス、割り当てられたTUポート番号)のタプルにマッピングできます。 )。
このモデルは、IPアドレスが割り当てられた単一のサービスプロバイダーを使用して外部ネットワークにアクセスするためのほとんどのスモールオフィスホームオフィス(SOHO)グループの要件に適合します。このモデルは、登録されたIPアドレスの各サービスTUポート)ごとにローカルノードを静的にマッピングすることにより、インバウンドアクセスを許可するように拡張できます。
以下の図3の例では、スタブAは内部でクラスAアドレスブロック10.0.0.0/8を使用しています。スタブルーターのWANインターフェイスには、サービスプロバイダーによってIPアドレス138.76.28.4が割り当てられます。
\ | / +-----------------------+ |Service Provider Router| +-----------------------+ WAN | | Stub A .............|.... | ^{s=138.76.28.4,sport=1024, | v{s=138.76.29.7, sport = 23, ^ d=138.76.29.7,dport=23} | v d=138.76.28.4, dport = 1024} +------------------+ |Stub Router w/NAPT| +------------------+ | | LAN -------------------------------------------- | ^{s=10.0.0.10,sport=3017, | v{s=138.76.29.7, sport=23, | ^ d=138.76.29.7,dport=23} | v d=10.0.0.10, dport=3017} | | +--+ +--+ +--+ |--| |--| |--| /____\ /____\ /____\ 10.0.0.1 10.0.0.2 ..... 10.0.0.10 Figure 3: Network Address Port Translation (NAPT) Operation
スタブAホスト10.0.0.10がTelnetパケットをホスト138.76.29.7に送信する場合、グローバルに一意のアドレス138.76.29.7を宛先として使用し、パケットをプライマリルーターに送信します。スタブルーターにはサブネット138.76.0.0/16の静的ルートがあるため、パケットはWANリンクに転送されます。ただし、NAPTは、IPの送信元アドレス10.0.0.10と送信元TCPポート3017、およびTCPヘッダーのタプルを、グローバルに一意の138.76.28.4と一意に割り当てられたTCPポート、たとえば1024、パケットが転送される前。リターンパス上のパケットは同様のアドレスを通過し、TCPターゲットIPアドレスのポート変換)ターゲットTCPポート。ここでも、ホストやルーターを変更する必要がないことに注意してください。変換は完全に透過的です。
この設定では、TCP/UDPセッションのみが許可され、ローカルネットワークから発信する必要があります。ただし、DNSなど、インバウンドアクセスを要求するサービスがあります。組織がインバウンドセッションアクセスを許可したい他のサービスがあるかもしれません。プライベートネットワーク内の特定のノードに向けられるように、スタブルーターでよく知られているTUポートサービス[RFC1700]]を静的に構成することができます。
TCP/UDPセッションに加えて、REDIRECTメッセージタイプを除くICMPメッセージもNAPTルーターによって監視される場合があります。 ICMPクエリタイプのパケットは、TCP/UDPパケットと同様に変換され、ICMPメッセージヘッダーの識別子フィールドは、登録されたIPアドレスのクエリ識別子に一意にマップされます。 ICMPクエリメッセージの識別子フィールドは、クエリ送信者によって設定され、クエリレスポンダーからの応答メッセージで変更されずに返されます。したがって、(ローカルIPアドレス、ローカルICMPクエリ識別子)のタプルは、NAPTルーターによって(登録済みIPアドレス、割り当てられたICMPクエリ識別子)のタプルにマップされ、任意のローカルホストからのすべてのタイプのICMPクエリを一意に識別します。 ICMPエラーメッセージの変更については、後のセクションで説明します。これには、ICMPペイロードとIPおよびICMPヘッダーの変更が含まれるためです。
登録されたIPアドレスがスタブルーターのIPアドレスと同じであるNAPTセットアップでは、WANインターフェイス)ルーターは、発信されたTCP、UDP、またはICMPクエリセッションを確実に区別する必要があります。すべてのインバウンドセッション(TCP、UDP、およびICMPクエリセッションを含む)は、エンドノードとしてNATルーターに送信されると見なされます。ただし、ターゲットサービスポートは、ローカルネットワーク内の別のノードに静的にマップされます。
TCP、UDP、およびICMPクエリタイプ以外のセッションは、NAPTルーターによって処理されるローカルノードからは許可されません。
適切な方法は、スプリットDNSのようなものを使用して、内部トラフィックがルーターに入らないようにすることです。これにより、LANインターフェイスの帯域幅を(両方向で)浪費せず、ルーターのCPUとRAMネットワークを離れてはならないトラフィックの場合。