高度なポリシー式:IP アドレスと MAC アドレス、スループット、VLAN ID
IP アドレスと IP サブネットの式
client.ip.src.in_subnet(147.1.0.0/16)
- add rewrite action URL1-rewrite-action replace "http.req.header("Host")" ""www.mycompany1.com""
- add rewrite policy URL1-rewrite-policy "http.req.header("Host").contains("www.test1.com") && client.ip.src.in_subnet(147.1.0.0/16)" URL1-rewrite-action
- add rewrite action URL2-rewrite-action replace "http.req.header("Host")" ""www.mycompany2.com""
- add rewrite policy URL2-rewrite-policy "http.req.header("Host").contains("www.test2.com") && client.ip.src.in_subnet(10.202.0.0/16)" URL2-rewrite-action
IPV4 アドレスおよび IP サブネットのプレフィクス
| 前 | 説明 |
|---|---|
| CLIENT.IP.SRC | 現在のパケットの送信元 IP を IP アドレスまたは数値で返します。 |
| CLIENT.IP.DST | 現在のパケットの宛先 IP を IP アドレスまたは数値で返します。 |
| SERVER.IP.SRC | 現在のパケットの送信元 IP を IP アドレスまたは数値で返します。 |
| SERVER.IP.DST | 現在のパケットの宛先 IP を IP アドレスまたは数値で返します。 |
IPV4 アドレスの操作
IPv6 式について
9901:0ab1:22a2:88a3:3333:4a4b:5555:6666
http://[9901:0ab1:22a2:88a3:3333:4a4b:5555:6666]/
https://[9901:0ab1:22a2:88a3:3333:4a4b:5555:6666]:8080/
client.ipv6.src + server.ip.dst
ABCD:1234::ABCDで 、サーバの宛先 IPv4 アドレスが10.100.10.100の場合 、前の式は"ABCD:1234::ABCD10.100.10.100"を返します 。
IPv6 アドレスの式プレフィックス
| 前 | 説明 |
|---|---|
| CLIENT.IPV6 | 現在のパケットでの IPv6 アドレスで動作します。 |
| CLIENT.IPV6.DST | IP ヘッダーの宛先フィールドの IPv6 アドレスを返します。 |
| CLIENT.IPV6.SRC | IP ヘッダーの送信元フィールドの IPv6 アドレスを返します。以下に例を示します。 client.ipv6.src.in_subnet(2007::2008/64) client.ipv6.src.get1.le(2008) |
| SERVER.IPV6 | 現在のパケットでの IPv6 アドレスで動作します。 |
| SERVER.IPV6.DST | IP ヘッダーの宛先フィールドの IPv6 アドレスを返します。 |
| SERVER.IPV6.SRC | IP ヘッダーの送信元フィールドの IPv6 アドレスを返します。以下に例を示します。 server.ipv6.src.in_subnet(2007::2008/64) server.ipv6.src.get1.le(2008) |
IPv6 プレフィクスの操作
| IPv6 オペレーション | 説明 |
|---|---|
<ipv6>.EQ(<IPv6_address> |
IPアドレスの値が<IPv6_address>引数と同じ場合は、ブール型 TRUE を返します。次に例を示します。 client.ipv6.dst.eq(ABCD:1234::ABCD) |
<ipv6>.GET1. . .GET8 |
IPv6 アドレスのセグメントを数値で返します。次の式例では、IPv6 アドレス 1000:1001: CD 10:0000:0000:89 AB: 4567: CDEF: client.ipv6.dst.get5 extracts 0000からセグメントを取得します。これは、アドレスの 5 番目のビットセットです。client.ipv6.dst.get6 extracts 89AB. client.ipv6.dst.get7 extracts 4567.これらのセグメントに対して数値演算を実行できます。IPv6 アドレス全体を取得する場合、数値演算は実行できないことに注意してください。これは、CLIENT.IPV6.SRC など、IPv6 アドレス全体を返す式は、アドレスをテキスト形式で返すためです。 |
<ipv6>.IN_SUBNET(<subnet>) |
IPv6アドレス値が<subnet>引数で指定されたサブネットにある場合、ブール型 TRUE を返します。次に例を示します。 client.ipv6.dst.eq(1000:1001:CD10:0000:0000:89AB:4567:CDEF/60) |
<ipv6>.IS_IPV4 |
これが IPv4 クライアントである場合はブール値 TRUE を返し、そうでない場合はブール値 FALSE を返します。 |
<ipv6>.SUBNET(<n>) |
引数として指定されたサブネットマスクを適用した後に IPv6 アドレスを返します。サブネットマスクには 0 ~ 128 の値を指定できます。たとえば、次のようになります:CLIENT.IPV6.SRC.SUBNET(24) |
MAC アドレスの式
MAC アドレスのプレフィックス
| 前 | 説明 |
|---|---|
client.ether.dstmac |
イーサネットヘッダーの宛先フィールドの MAC アドレスを返します。 |
client.ether.srcmac |
イーサネットヘッダーの送信元フィールドの MAC アドレスを返します。 |
MAC アドレスの操作
| 前 | 説明 |
|---|---|
<mac address>.EQ(<address>) |
MACアドレス値が<address>引数と同じ場合は、ブール型 TRUE を返します。 |
<mac address>.GET1. . .GET4 |
GET 操作で指定された MAC アドレスのセグメントから抽出された数値を返します。たとえば、MAC アドレスが 12:34:56:78:9 a: bc の場合、次の例は 34 を返します。 client.ether.dstmac.get2 |
クライアントとサーバーの数値データの式
| 前 | 説明 |
|---|---|
| interface.rxthroughput | 直前 7 秒間の raw 受信トラフィックスループットを 1 秒あたりのキロバイト数 (KBps) で表す整数を返します。 |
| client.interface.txthroughput | 過去 7 秒間の raw 送信トラフィックスループットを Kbps 単位で表す整数を返します。 |
| client.interface.rxtxthroughput | 直前 7 秒間の生の送受信トラフィックスループットを Kbps 単位で表す整数を返します。 |
| server.interface.rxthroughput | 過去 7 秒間の raw 受信トラフィックスループットを Kbps 単位で表す整数を返します。 |
| server.interface.txthroughput | 過去 7 秒間の raw 送信トラフィックスループットを Kbps 単位で表す整数を返します。 |
| server.interface.rxtxthroughput | 直前 7 秒間の生の送受信トラフィックスループットを Kbps 単位で表す整数を返します。 |
| server.vlan.id | 現在のパケットがNetScaler ADCに入ったVLANの数値IDを返します。 |
| client.vlan.id | 現在のパケットがNetScaler ADCに入ったVLANの数値IDを返します。 |