さて今回の記事では、弊社ジュピターテクノロジーのブログ人気記事「NetFlowとは?」「フローとは?」を5分で理解するのFlexible NetFlow版となります。
文:ジュピターテクノロジー よしひろ
そもそもNetFlowとは?フローとは?の理解が十分でない方は、上記リンク記事を一読してから本記事にお戻りください。
本記事を読めば、既に導入済みのFlexbile NetFlow対応スイッチ/ルーターに対して技術的な裏付けをもってFlexible NetFlowを設定できるようになります。そして、パラメーターの意味と設定を正確に理解し、同僚や後輩への説明・教育もできるくらいの知識を得ることができるでしょう。
本記事では、実際のFlexible NetFlowのフローデータを見ながらFlexible NetFlowとは?の問いに回答したいと思います。
Wiresharkで実際のデータを見て、設定パラメータとの対比を解説しますので、視覚的にもイメージしやすく理解も深まると思います。
是非最後まで読んでください。
Flexible NetFlowの一般的な説明
本節では、一般的なFlexible NetFlowの説明をご紹介したいと思います。NetFlow及びFlexible NetFlowの開発元であるCisco社の説明を掲載するのが一番かと考えますので、以下にご紹介します。
Cisco IOS Flexible NetFlowは、IPトラフィックを特徴づけ、送信元、宛先、タイミング及びアプリケーション情報を識別する機能は、ネットワークの可用性、パフォーマンス、及びトラブルシューティングに活用することができます。IPトラフィックフローの監視をすれば、トラフィック容量の精度が向上し、組織リソースの割り当て目標を計画的に達成することができます。つまり、Flexible NetFlowは、Ciscoのお客様がリソース使用量を最適化し、ネットワーク容量を計画し、サービス品質(QoS)に最適なアプリケーション層を特定する方法を決定するのに役立ちます。Flexible NetFlowの利点は以下です。
・従来のNetFlowを超えるフローデータの柔軟性とスケーラビリティ
・カスタマイズされたトラフィック識別
・特定のネットワーク動作に焦点を合わせて監視する機能
・広範囲のパケット情報を監視し、ネットワークの動作に関する新しい情報を生成する機能
・強化されたネットワーク異常とセキュリティ検出
・複数のアカウンティングテクノロジーを1つのアカウンティングメカニズムに統合
https://www.cisco.com/c/en/us/products/ios-nx-os-software/flexible-netflow/index.html
柔軟性があるというのが、Flexible NetFlowの最大の特徴です。こちらを説明するために、弊社のCisco891Fを使って説明したいと思いますが、その前に一般的なFlexible NetFlowの設定手順をご紹介します。
Flexible NetFlow設定手順
設定の手順は、以下の通りです。
フロー識別条件設定(flow record “Redord Name”)
Flexible NetFlowのキーとオプションキーを設定する。
エクスポーター設定(flow exporter “Exporter Name”)
Flexible NetFlowの送信先、つまりフローコレクターを設定する。フローコレクターとは、フローを収集して可視化する製品のことです。弊社で販売している製品では、PRTG, ntopng, SolarWinds NTAが該当します。
モニター設定(flow monitor “Monitor Name”)
エクスポーター、識別条件指定、タイムアウト値の設定を行います。
インターフェイス設定(interface “interface Name”)
ip flow monitor “Monitor Name” input
をフローを生成するインターフェイスに設定します。最後のinputは入力トラフィックという意味です。outputは逆になります。
そして、弊社C891Fの設定例は、以下の通りです。随分と古いバージョンですが、検証用途ですので、そこはご承知おきください。
フロー識別条件設定(Cisco891F Version 15.4(3)M1)
flow record Netflow-Example
match ipv4 tos
match ipv4 protocol
match ipv4 source address
match ipv4 destination address
match transport source-port
match transport destination-port
match interface input
match flow direction
match application name
collect datalink mac source address input
collect datalink mac destination address input
collect routing source as
collect routing destination as
collect routing next-hop address ipv4
collect ipv4 dscp
collect ipv4 ttl
collect ipv4 source prefix
collect ipv4 destination prefix
collect transport tcp flags
collect interface output
collect counter bytes long
collect counter packets long
collect timestamp sys-uptime first
collect timestamp sys-uptime last
!
match部分がキーフィールド、collect部分がノンキーフィールトとなります。このキーフィールドとノンキーフィールドを自由に組み合わせて設定ができるというのが、Flexibleと言われる所以です。
キーフィールドは、以下の種類があります。
match flow
match interface
match {ipv4 | ipv6 }
match routing
match transpor t
ノンキーフィールドは、以下の様な種類があります。
collect counter
collect flow
collect interface
collect {ipv4 | ipv6 }
collect routing
collect timestamp sys-uptime
collect transport
例えば、match ipv4 protocolとキーを設定している場合、キーフィールドとしてipv4プロトコルを設定しています。。
このmatch ipv4 protocolの意味を調べるには、やはりCisco社のサイトページが詳しいです。
Protocol | Configures the IPv4 protocol as a key field.
https://www.cisco.com/c/en/us/td/docs/ios/fnetflow/command/reference/fnf_book/fnf_02.html
ここで実際にパケットを見てみましょう
こちらが、実際のパケットをWireSharkで表示した結果となります。
Flexible NetFlow設定との凡その対応は、以下のとおりです。
Cisco891Fのフロー識別条件設定 | WireSharkフィールド |
flow record Netflow-In | |
match ipv4 tos | IP ToS: 0x02 |
match ipv4 protocol | Protocol: TCP(6) |
match ipv4 source address | SrcAddr: 192.168.93.114 |
match ipv4 destination address | DstAddr: 172.217.167.68 |
match transport source-port | SrcPort: 51563 |
match transport destination-port | DstPort: 80 |
match interface input | InputInt: 16 |
match flow direction | Direction: Egress (1) |
match application name | ※NBAR設定 |
collect datalink mac source address input | Source Mac Address: PscCompu_xxxx |
collect datalink mac destination address input | Destination Mac Address: Cisco_XXXX |
collect routing source as | SrcAS: 0 |
collect routing destination as | DstAS: 0 |
collect routing next-hop address ipv4 | NextHop: 192.168.91.1 |
collect ipv4 dscp | DSCP: 0 |
collect ipv4 ttl | IP TTL: 127 |
collect ipv4 source prefix | SrcPrefix: 192.168.93.0 |
collect ipv4 destination prefix | DstPrefix: 0.0.0.0 |
collect transport tcp flags | TCP Flags: 0xc2, SYN |
collect interface output | OutputInt:1 |
collect counter bytes long | Octets: 52 |
collect counter packets long | Packets: 1 |
collect timestamp sys-uptime first | StartTime: 269XXXX seconds |
collect timestamp sys-uptime last | EndTime: 2694702.XXXX seconds |
エクスポーター設定
flow exporter Netflow-to-Example
destination 192.168.91.XX
transport udp 6363
option application-table timeout 60
option application-attributes timeout 300
!
こちらは、分かり身がよいと思います。
destinationにご利用のフローコレクター(※弊社取り扱い製品であれば、PRTG, ntopng, SolarWinds NTAが該当します)を設定、transport udpにフローコレクターの待ち受けポートを設定、残りのoptionはNBARの再送タイムアウト設定です。
モニター設定
flow monitor Netflow-Monitor-example
exporter Netflow-to-Example
cache timeout inactive 10
cache timeout active 60
record Netflow-example
flow exporterで設定したエクスポーター名をexporterで指定しています。インアクティブ、アクティブタイムアウト設定をし、最後にflow recordで設定したレコード名を設定しています。
インターフェイス設定
!
interface GigabitEthernet8
description PrimaryWANDesc_
ip address 192.168.91.XX 255.255.255.0
ip broadcast-address 192.168.93.255
ip helper-address 192.168.93.255
ip directed-broadcast 101
ip nbar protocol-discovery
ip flow monitor Netflow-Monitor-Example input
duplex auto
speed auto
!
最後にインターフェイス設定に、モニター設定で作成したflow monitorを設定します。
例ではinputを設定していることに注意してください。
こちらで入力トラフィックにflow monitorを適用していることになります。
「NetFlowとは?」「フローとは?」を5分で理解するのFlexible NetFlow版と題した通り、この2つの記事を読み、実際にパケットを分析してみることによって、Flexible NetFlowの動作と設定の理解が深まったのではないでしょうか?
Flexible NetFlowフローとは?
NetFlow v5/v9とコンセプトは類似しており、ネットワークトラフィックをフロー化できるCisco IOSの一機能とお考え下さい。復習ですが、フローとは2つのノード間セッションの初めから終わりまでの一連の通信のことでした。送信元、宛先IPアドレス、ポート、プロトコルなど属性が同じものが1つのフローとしてカウントされます。フローを取得することで、SNMPでは追跡出来ないユーザーとアプリケーションのトラフィック分析が可能となりますが、NetFlow v5/v9ではフローに含める情報(フィールド)が固定され自由に設定できない問題がありました。こちらの制限に対処するべく実装されたのが、本記事でご紹介したようにFlexible NetFlowでフィールドを細かく操作・設定できるのが最大の特長です。
ネットワーク可視化(見える化)無料ebookプレゼントします!
オンプレミス、クラウド、コンテナ環境問わず、ネットワークトラフィックの可視化を希望するお客様からの問い合わせが増加しております。
ネットワークトラフィック見える化(可視化)ソリューションの決定版ntopngの無料ebookを貴社課題のNetwork Visibilityの一助としてください!
ntopによる高速トラフィック分析入門(ntopngバージョン5.0.2系)
今回プレゼントするeBookを読めば、以下のテーマを解決することができます。
・ ネットワークトラフィック可視化のアプローチ手法
・ L7アプリケーション分析の概要と実装方法
・ ntop製品の概要・使い方・インストール・運用方法
・ クラウド・コンテナのネットワークVisibilityの達成
弊社では、以下の特徴を持ったntop社のntopngという製品を販売しております。
- リアルタイム分析
- アプリケーション分析
- L2,L7サポート
- フローコレクター
- 脅威検知
お問い合わせ
ntop社製品にご興味のある方は、以下リンクよりいつでも弊社までお問い合わせください。
10分間機能制限なし!無償でご利用いただける評価版も以下のダウンロードリンクにご用意しております。簡単に検証が開始できますので、評価ガイド(PDF)を参考にぜひお試しください!