このセクションでは、True Client IP とその構成を使用するメリットについて説明します。
プロキシは、受信接続のレイヤー 3 ヘッダーからクライアントの IP アドレスを識別します。ただし、それは必ずしも実際のクライアントの IP アドレスであるとは限りません。実際のクライアントと NSX Advanced Load Balancer の間にプロキシがある場合、中間プロキシは常に受信接続の送信元の IP アドレスを X-Forwarded-For
ヘッダーに追加します。実際の宛先に要求を転送するときに、送信元の IP アドレスをレイヤー 3 ヘッダーの送信元 IP アドレスとして IP アドレスに置き換えます。
True Client IP 機能を使用すると、「X-Forwarded-For」またはユーザー定義のヘッダーから実際のクライアントの IP アドレスを取得し、実際のクライアントの IP アドレスをログに追跡したり、True Client IP アドレスに基づいて HTTP セキュリティ、HTTP 要求などのポリシーを構成したりできます。
True Client IP を使用するメリット
実際のクライアントの IP アドレスは、NSX Advanced Load Balancer のアプリケーション ログに記録できます。
実際のクライアントの IP アドレスは、実際のサーバと共有できます(NSX Advanced Load Balancer は、識別された実際のクライアントの IP アドレスを X-Forwarded-For として追加でき、それを解析するようにサーバを構成できます)。
実際のクライアントの IP アドレスに基づいて、HTTP ポリシー、SSO ポリシーなどを構成できます。
NSX Advanced Load Balancer の True Client IP
True Client IP の実装では、以下がサポートされます。
送信元 IP アドレスは、常にダウンストリーム接続の IP ヘッダーからの IP アドレスです(受信)。
クライアントの IP アドレスは、ユーザー構成に基づいて生成されます。X-Forwarded-For またはユーザー指定のヘッダーから生成することも、送信元の IP アドレスと同じにすることもできます。
True Client IP の場合、動作は次のようになります。
True クライアントの IP アドレス構成 |
ヘッダー パラメータ |
方向パラメータ |
インデックス数パラメータ |
動作 |
---|---|---|---|---|
無効(デフォルト) |
X-Forwarded-For(デフォルト) |
左(デフォルト) |
1(デフォルト) |
クライアントの IP アドレス = 送信元の IP アドレス |
有効 |
True-User-IP(ユーザー定義) |
左(デフォルト) |
1(デフォルト) |
クライアントの IP アドレスは、要求またはフォーマット エラーでユーザー定義のヘッダーが見つからない場合に、ユーザー定義のヘッダー「True-User-IP」またはレイヤー 3 ヘッダーから取得された IP アドレスです。IP アドレスは常にレイヤー 3 ヘッダーから取得されます |
L4 アプリケーションの場合、Source-IP と Client-IP は常に同じになります。HTTP アプリケーションの場合は異なることがあります。デフォルトでは、機能は非アクティブになっています。True Client IP を有効にした後、クライアントの IP アドレスを取得する必要があるヘッダーを指定します。
ユーザーがヘッダーを定義していない場合は、X-Forwarded-For
ヘッダーから取得されます。指定したヘッダーには、ヘッダー値として IP アドレスのカンマ区切りリストの形式が必要です。この形式でない場合は無視されます。
たとえば、フォーマット(ヘッダー値の形式)は X-Forwarded-For: 1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4
です
現時点では、クライアントの IP アドレスを取得するには 1 つのヘッダーのみを構成できます。