GenieATMに新たなエクスポータの定義を追加したのにスナップショットやレポートでトラフィックが表示されない場合の標準的なご確認項目,切り分け方法をご紹介します。
1. ネットワーク到達性
CLIのEnableモードよりpingコマンドでエクスポータとのネットワーク到達性を確認します。
ATM90 # ping 172.16.2.224 PING 172.16.2.224 (172.16.2.224) 56(84) bytes of data. 64 bytes from 172.16.2.224: icmp_req=1 ttl=64 time=1.53 ms 64 bytes from 172.16.2.224: icmp_req=2 ttl=64 time=0.411 ms 64 bytes from 172.16.2.224: icmp_req=3 ttl=64 time=0.422 ms ^C --- 172.16.2.10 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2000ms rtt min/avg/max/mdev = 0.411/0.790/1.538/0.529 ms ATM90 #
(Ctrl+Cで停止します)
2. ファイヤーウォール
CLIのEnableモードよりshow runningコマンドによりaccess group,firewall enableの設定を表示し,エクスポータからフロー受信ポートへのUDPパケットがブロックされていないことを確認します。
ATM90 # show running #### show running configure #### ! ! hostname ATM90 clock timezone JST +9 ip domain-name jp.genie-networks.com ! interface ethernet 0 ip address 172.16.2.90 255.255.255.0 ip address 172.16.2.92 255.255.255.0 secondary ! : (中略) : ip route 0.0.0.0 0.0.0.0 172.16.2.1 0 access group 172.16.0.0 netmask 255.255.0.0 protocol ip permit firewall enable module id collector 3001 : (中略) : ! ATM90 #
3. フローパケットの到達
flow dumpコマンドをsrc hostにエクスポータのIPアドレスを指定して実行し,フローレコードが届いているかを確認します。
ATM90 (debug)# flow dump Please input nfdump parameters and press return -a "src host 172.16.2.224" Do you want to add "more" command behind the nfdump parameters to prevent terminal session crashed?(Y/N) y nfdump: listening on device eth0 expression: src host 172.16.2.224 11:04:23 172.16.2.224.8888 > 172.16.2.90.6343 : sflow ver = 4, count = 1, len = 224 ----------------------------------------------------------------------- | version | ip_ver | agent_addr | seq_number | | 4 | 1 | 172.16.2.224 | 61884802 | ----------------------------------------------------------------------- | switch_uptime | count | | 1190572734 | 1 | ------------------------------------ flow 1 sample_type 1 seq_number 84086197 sample src_id_type 0 src_index_value 33 sampling_interval 256 sample_pool 51229952 drops 0 input 33 output 0 packet_data_type 1 header_protocol 1 frame_length 1466 length_of_header 128 Destination 29:73:08:0c:34:e3 Source 03:d7:55:2b:21:c0 type 0x8100 priority 0 CFI 0 id 102 type 0x800 version 4 header_length 20 tos 0x0 total_length 1444 id 0x44cc flag 0x0 flag_offset 0x0 time_to_live 254 protocol 0x11 checksum 0x5538 source ip address 10.144.8.2 dest ip address 172.16.2.149 source port number 56488 dst port number 2055 udp_length 1424 udp_checksum 0x5ea5 data 82 bytes n_extended_data 1 extened_data_type 1 src vlan 102 src priority 0 dest vlan 0 dest priority 0 ------------------------------------------------------------------------------------- 11:04:24 172.16.2.224.8888 > 172.16.2.90.6343 : sflow ver = 4, count = 1, len = 216 ----------------------------------------------------------------------- | version | ip_ver | agent_addr | seq_number | | 4 | 1 | 172.16.2.224 | 61884803 | ----------------------------------------------------------------------- | switch_uptime | count | | 1190573744 | 1 | ------------------------------------ flow 1 sample_type 1 seq_number 6101417 sample src_id_type 0 src_index_value 30 sampling_interval 256 sample_pool 1561962752 drops 0 input 30 output 0 packet_data_type 1 ATM90 (debug)#
上記の例ではsFlowバージョン4のフローサンプルレコードが届いていることが分かります。
確認ポイント
- sFlowのヘッダにはAgentアドレス(上記の結果のagent addr)という項目があります。これがGenieATMのエクスポータ定義の「フローエクスポータIPアドレス」と一致していなければなりません。フローの送信元IPアドレスとは異なる場合がありますのでご注意ください。
- ヘッダにフローレコード数の項目(count)があります。NetFlowバージョン9は1つのフローパケットに複数のフローセットが含まれ,1つのフローセットに複数のフローレコードが含まれるという2階層構造を持ちます。count項目にはフローセットではなくフローレコードの総数が入っている必要があり,GenieATMはこの項目が適切に設定されていないと当該フローパケットを正しく解析することができません。