ACXおよびPTXシリーズルーターでのインラインアクティブフロー監視の設定
このトピックでは、IPv4およびIPv6トラフィックに対してこの機能をサポートするACXおよびPTXシリーズルーターでインラインアクティブフロー監視を設定する方法について説明します。
概要
「機能エクスプローラ:JFlow」と「機能エクスプローラ:トラフィックサンプリング」を使用して、特定の機能に対するプラットフォームおよびリリースのサポートを確認します。サポートされているステートメントはプラットフォームによって異なるため、設定ステートメントの構文については、flow-monitoringを参照してください。
VRFサポート: Junos OS Evolved 24.2R1以降、インラインアクティブフロー監視サンプリングパケットのIPFIXまたはバージョン9レコードを、以下から到達可能なコレクターにエクスポートできるようになりました。
-
mgmt_junos VRFインスタンスに属するインターフェイス。
-
デフォルト以外のVRFインスタンスに属するWANポート。
この機能は、[edit forwarding-options sampling instance name family type output flow-server IP-address]階層レベルでrouting-instance設定ステートメントを使用して設定します。管理インターフェイスを介してコレクターに到達可能であることを確認する必要があります。VRFインスタンスのタイプごとに最大4つのコレクターをサポートしています。同じサンプリング設定で、両方のタイプのVRFインスタンスのコレクターを設定できます。ただし、mgmt_junos VRFインスタンスを介して到達可能なコレクターとWANポートを介して到達可能なコレクターは、ファミリーごとに1つの送信元IPアドレスしか指定できないため、同じファミリーで共存することはできません。inetコレクター、inet6コレクター、または2つのタイプを組み合わせて指定できます。デフォルトおよび非デフォルトVRFの両方でのイングレスおよびエグレスサンプリングは、物理インターフェイス、AE、およびIRBインターフェイスでサポートされています。mgmt_junos VRFインスタンスを設定するには、専用インスタンスの管理インターフェイスを参照してください。
MPLS-over-UDPのサポート: PTXシリーズルーター上のMPLS-over UDPトラフィックのインラインフロー監視を設定するには、 PTXシリーズルーター上のMPLS-over-UDPフローのインラインアクティブフロー監視を参照してください。MPLS-over-UDPトラフィックのインラインアクティブフロー監視は、PTX10001-36MR、PTX10003、PTX10004、およびPTX10008(JNP10008-SF3を使用)ルーターではサポートされていません。
コレクター:Junos OSリリース18.2R1以降、インラインアクティブフロー監視用に、ファミリーの下に最大4つのコレクターを設定できます。Junos OSの以前のリリースでは、インラインアクティブフロー監視用にファミリーの下にコレクターを1つだけ設定できました。Junos OS Evolved 20.3R1以降、インラインアクティブフロー監視用に最大4つのコレクターを設定できるようになりました。インラインアクティブフロー監視用にファミリーの下にコレクターを設定するには、edit forwarding-options sampling-instance instance-name family (inet | inet6) output階層レベルでflow-serverステートメントを設定します。最大4つのコレクタを指定するには、最大4つのflow-serverステートメントを含めます。
ラインカードCPU: インラインアクティブフロー監視は、ラインカードCPU(LCPU)に実装されていますが、Junos OS Evolvedを実行しているACXシリーズルーターは、すべての機能がハードウェアではなくソフトウェアに基づいています。サポートされている他のすべてのプラットフォームでは、フローの作成、フローの更新、フローレコードのエクスポートなどのすべての機能はLCPUによって行われます。フロー記録は、IPFIX形式またはバージョン9形式のいずれかで送信されます。
フロー:Junos OS Evolvedリリース21.2R1およびJunos OSリリース21.3R1以降では、フローは維持されません。サンプリングされたすべてのパケットはフローと見なされます。サンプリングされたパケットを受信すると、フローが作成され、すぐに非アクティブとしてタイムアウトし、ソフトウェアがレコードをコレクターにエクスポートします。そのため、コレクターに送信されるレコード数が以前よりも増えています。IPFIXおよびバージョン9のオプションテンプレートデータレコードのFlow Active Timeout(要素ID 36)およびFlow Inactive Timeout(要素ID 37)フィールドに0が含まれるようになりました。そのため、オプションテンプレートデータレコードはIPFIX RFC 7011に準拠していません。show services accounting flow inline-jflow fpc-slot slot運用モードコマンドでは、すべてのActive FlowsフィールドとTimed Outフィールドに0が表示されるようになりました。さまざまなTotal Flowsフィールドの値が、それぞれのFlow Packetsフィールド値と等しくなりました。さまざまなFlows Inactive Timed Outフィールドの値が、それぞれのFlow Packetsフィールドの値と等しくなりました。このフローなしの動作に対する[edit services flow-monitoring version version template template-name]階層レベルのnexthop-learningステートメントの影響は、オペレーティングシステムによって異なります。Junos OS Evolvedの場合、nexthop-learningステートメントを設定すると、処理できるパケット数が減少するため、設定することはお勧めしません。Junos OSでは、このデフォルトのフローなし動作を変更し、再度フローを作成および維持するようにnexthop-learningステートメントを設定し、以前の動作を必要とするFPCに関連するすべてのサンプリングインスタンスにテンプレートをアタッチできます。
制限と制限
Junos OSおよびJunos OS Evolvedのインラインアクティブフロー監視機能には、以下の制限および制約が適用されます。
-
エグレスMPLSフィルターは、PTX10001-36MR、PTX10003、PTX10004、およびPTX10008(JNP10008-SF3を使用)ルーターではサポートされていません。
-
PTX10001-36MRルーターは、ルーティングエンジンが1つしかないため、複数のFPCサンプリング収集をサポートしていません。
-
Egressサンプリングでは、True Outgoing Interface(OIF)レポートはサポートされていません。Junos OS Evolvedでは、GREカプセル化解除パケットの真の発信インターフェイス(OIF)レポートはサポートされていません。
-
真の受信インターフェイスのインターフェイス タイプ フィールドは、バージョン 9 のエクスポート バージョンには存在しないため、バージョン 9 のテンプレートには含まれません。
-
PTX10003ルーター上のGREトンネルトラフィックの場合、物理インターフェイスはレイヤー2ヘッダーで報告され、フロー作成時にキーの1つと見なされます。そのため、物理インターフェイスが集合型イーサネットバンドル内または外に移動されると、新しいフローが作成され、一定期間非アクティブ状態が続くと古いフローがタイムアウトします。物理インターフェイス、論理インターフェイス、または集約された論理インターフェイス(設定に基づく)は、設定に基づくエクスポートレコードの受信インターフェイスとして報告されます。
PTX10008(JNP10008-SF3 を使用)ルーター上の GRE トンネル トラフィックの場合、FTI インターフェイスは GRE トンネルを終端するように設定されています。このインターフェイスは、フロー作成時に物理インターフェイスではなく、キーの1つとして使用されます。そのため、物理インターフェイスが集合型イーサネットバンドル内または外に移動しても、キーは変更されないため、新しいフローは作成されません。物理インターフェイス、論理インターフェイス、または集約された論理インターフェイス(設定に基づく)は、エクスポートされたレコードの受信インターフェイスとして報告されます。
-
ACXシリーズルーターは、MPLSテンプレートをサポートしていません。
-
ACXルーターの場合、論理インターフェイス上で直接サンプリングを設定することはできません。代わりに、サンプリングを有効にするには、インターフェイスにファイアウォールフィルターを設定する必要があります。
ACXまたはPTXシリーズルーターでインラインアクティブフロー監視を設定する方法
この例では、IPv4およびIPv6のトラフィックフローを記録するための version-ipfix テンプレートを設定します。
- 出力プロパティを指定するためのテンプレートの設定
- 入力プロパティを指定するためのサンプリングインスタンスの設定
- FPCへのサンプリングインスタンスの割り当て
- フローを受け入れてサンプルするようにファイアウォールフィルターを設定する
- ファイアウォールフィルターをインターフェイスに割り当てる
- サンプル設定の結果
出力プロパティを指定するためのテンプレートの設定
-
テンプレートを定義し、テンプレートで記録するフローのタイプを設定します。(ACXシリーズルーターはMPLSテンプレートをサポートしていません。)
[edit services flow-monitoring] user@host# set version-ipfix template template-name ipv4-template user@host# set version-ipfix template template-name ipv6-template user@host# set version-ipfix template template-name mpls-template
-
(オプション、これらの機能をサポートするPTXシリーズルーターのみ)フロー タイムアウト間隔やテンプレート/オプションの更新レートなど、テンプレートの追加出力プロパティを設定して、フロー レコードを制御します。
template-refresh-rateオプションを使用して、フロージェネレーターがテンプレート定義に関する更新をフローコレクターに送信する頻度をパケット数または秒数を使用して設定できます。[edit services flow-monitoring] user@host# set version-ipfix template template-name flow-active-timeout seconds user@host# set version-ipfix template template-name flow-inactive-timeout seconds user@host# set version-ipfix template template-name template-refresh-rate (packets packets | seconds seconds) user@host# set version-ipfix template template-name option-refresh-rate (packets packets | seconds seconds)
- (オプション、これらの機能をサポートするPTXシリーズルーターのみ)
MPLSフローを監視している場合、つまり、使用中のテンプレートがMPLSプロトコルファミリー用に設定されている場合、
tunnel-observationオプションを使用してMPLSフローのタイプを特定します。[edit services flow-monitoring] user@host# set version-ipfix template template-name tunnel-observation (ipv4 | ipv6 | mpls-over-udp)
-
(オプション)ネクストホップアドレスの学習を有効にして、真の発信インターフェイスが報告されるようにします。
注:Junos OS Evolved 21.2R1以降、ネクストホップアドレスの学習を有効にすると、処理できるパケット数が減少するため、有効にすることはお勧めしません。ただし、Junos OSリリース21.3R1以降、デフォルトのフローなし動作を変更し、再度フローを作成および維持するように
nexthop-learningステートメントを設定し、以前の動作を必要とするFPCに関連付けられたすべてのサンプリングインスタンスにテンプレートをアタッチすることができます。[edit services flow-monitoring] user@host# set version-ipfix template template-name nexthop-learning enable
入力プロパティを指定するためのサンプリングインスタンスの設定
-
サンプリングインスタンスを定義し、サンプリングするパケット数の比率を設定します。例えば、レートを 10 に指定した場合、10 番目のパケット(10 パケットのうち 1 パケット)がサンプリングされます。
[edit forwarding-options sampling] user@host# set instance instance-name input rate number
ベストプラクティス:MPLSフローには1000以上の値を使用することをお勧めします。
-
サンプリングインスタンスのプロトコルファミリーを設定し、トラフィック集約を送信するフローコレクターを指定します。(ACXシリーズルーターは、
family inetまたはfamily inet6設定のみをサポートしています)。[edit forwarding-options sampling] user@host# set instance instance-name family (inet | inet6 | mpls) output flow-server hostname
-
(オプション)フローコレクターのUDPポートと、サンプリングインスタンスで使用するテンプレートを指定します。(ACXシリーズルーターはMPLSテンプレートをサポートしていません。)
[edit forwarding-options sampling] user@host# set instance instance-name family (inet | inet6 | mpls) output flow-server hostname port port-number user@host# set instance instance-name family (inet | inet6 | mpls) output flow-server hostname version-ipfix template template-name
-
サンプリングされたパケットのインライン処理を設定します。
(ACXシリーズルーターは、
family inetまたはfamily inet6設定のみをサポートしています)。[edit forwarding-options sampling] user@host# set instance instance-name family (inet | inet6 | mpls) output inline-jflow source-address address
FPCへのサンプリングインスタンスの割り当て
-
フロー監視を実装するFPCにサンプリングインスタンスを割り当てます。
[edit chassis] user@host# set fpc slot-number sampling-instance instance-name
フローを受け入れてサンプルするようにファイアウォールフィルターを設定する
-
プロトコルファミリーにファイアウォールフィルターを設定し、トラフィックフローのサンプリングを有効にします。(ACXシリーズルーターは、インラインアクティブフロー監視機能の
family inetまたはfamily inet6設定のみをサポートします。)[edit firewall] user@host# set family (inet | inet6 | mpls) filter filter-name user@host# set family (inet | inet6 | mpls) filter filter-name term term-name then accept user@host# set family (inet | inet6 | mpls) filter filter-name term term-name then sample
ファイアウォールフィルターをインターフェイスに割り当てる
-
監視するインターフェイスに入力ファイアウォールフィルターを割り当てます。(ACXシリーズルーターは、インラインアクティブフロー監視機能の
family inetまたはfamily inet6設定のみをサポートします。)[edit interfaces] user@host# set interface-name unit unit-number family (inet |inet6 | mpls) filter input filter-name
サンプル設定の結果
以下は、 family inet および family inet6でのインラインアクティブフロー監視をサポートするインスタンスのPTXシリーズルーターでのサンプリング設定の例です。
[edit chassis]
fpc 0 {
sampling-instance sample-1;
}
[edit services]
flow-monitoring {
version-ipfix {
template test-template {
flow-active-timeout 30;
flow-inactive-timeout 60;
nexthop-learning {
enable;
}
template-refresh-rate {
seconds 10;
}
ipv4-template;
}
template v6 {
ipv6-template;
}
}
}
[edit interfaces]
et-1/0/0 {
unit 0 {
family inet {
filter {
input ipv4-filter;
output ipv4-filter;
}
address 192.168.100.10/24;
}
}
}
et-1/0/2 {
unit 0 {
family inet6 {
filter {
input ipv6-filter;
output ipv6-filter;
}
address 2001:db8:0:2::1/64;
}
}
}
lo0 {
unit 0 {
family inet {
address 192.168.100.1/32;
}
}
}
[edit forwarding-options]
sampling {
instance {
sample-1 {
input {
rate 10;
}
family inet {
output {
flow-server 10.208.174.127 {
port 2055;
version-ipfix {
template {
test-template;
}
}
}
inline-jflow {
source-address 192.168.100.1;
}
}
}
family inet6 {
output {
flow-server 10.208.174.127 {
port 2055;
version-ipfix {
template {
v6;
}
}
}
inline-jflow {
source-address 192.168.100.1;
}
}
}
}
}
}
[edit firewall]
family inet {
filter ipv4-filter {
term ipv4-accept {
then {
accept;
sample;
}
}
}
}
family inet6 {
filter ipv6-filter {
term ipv6-accept {
then {
accept;
sample;
}
}
}
}
show services accounting flow コマンドを使用して、アクティブなフロー統計を確認することができます。
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。