site_admin のすべての投稿

firewall enable

access groupコマンドと合わせてネットワークアクセス制御を行います。

書式

[no] firewall enable

パラメータ

なし

デフォルト設定

無効

コマンドモード

Global Configuration Mode

説明

  • firewall enableコマンドを実行すると,access groupコマンドによって明示的に許可された相手先IPアドレス,プロトコル,ポート以外との通信が禁止されます。つまり,アクセスリストの最後に暗黙のdenyを追加します。firewall enableが無効のとき,access groupコマンドによって明示的に禁止された相手先IPアドレス,プロトコル,ポート以外との通信は許可されます。
  • firewall enableコマンドで暗黙のdenyが有効になっていても,GenieATM側からは外部ホストに対してセッションを確立し,応答パケットを受け取ることはできます。(ただし,相手先ホストが明示的にdeny設定されていない場合に限ります)
  • 設定を無効にするには,no firewall enableコマンドを発行します。
  • 現在の設定を確認するには,show runningコマンドを発行します。

注意事項

  • access groupコマンドで設定を追加する際には,先にno firewall enableコマンドでファイアウォールを無効にしてください。(バージョン5.6.3-RP3まではfirewall enableが設定された状態でも[no] access groupコマンドが発行できますが,想定外の結果を招く場合がありますので避けてください)
  • firewall enableコマンドを実行していなくても,access groupコマンドをdeny指定で実行した内容は即座に有効になり,アクセスがブロックされるようになります。
  • コントローラ,コレクタのSNMP IPアドレスをローカル・ループバック・アドレス(127.0.0.1)以外に設定している場合は,コントローラ―コレクタ間の通信がブロックされないために,それらのIPアドレスも明示的に許可してください。
  • ExporterのIPアドレスをブロックしてしまうとフローレコードが取得できなくなります。
  • firewall enableコマンドで有効になる暗黙のdenyは,外部ホストからGenieATMに対して新規に確立しようとしたセッションや送信しようとしたパケットに対して適用されます。GenieATM側からセッションを張る場合や,そのようなセッションを使って相手先から受信するパケットはブロックされません。たとえば,BGPセッションは常にGenieATMから張りに行くので,対応ルータをaccess groupコマンドでdenyしていない限り通信できます。また,ローカル・ループバック・アドレス(127.0.0.1)についてもブロックされることはありません。
  • access web-groupコマンドの動作には影響しません。

実行例

(config)# firewall enable
(config)# show running
#### show running configure ####
!
(中略)
  ip route 172.16.0.0 255.255.0.0 192.168.0.1 0
  firewall enable
  access group 172.16.3.58 netmask 255.255.255.255 protocol ip permit
  access group 172.16.3.0 netmask 255.255.255.0 protocol ip deny
  access group 172.16.2.0 netmask 255.255.255.0 protocol tcp 443 permit
  access group 172.16.2.0 netmask 255.255.255.0 protocol tcp 80 deny
  module id collector 3001
(中略)
!
!
(config)# 

バージョンアップ後のGUI異常動作

GenieATMのソフトウェアアップグレードを行ったあと,GUIからの操作がうまく動作しないことがあります。
たとえば,以下のようなケースです。

  • 「ルータの追加」ページ(システム管理 > ネットワーク > ルータ)から新しいルータを登録して「実行」ボタンを押したのに,一覧画面に戻ったら追加されていなかった
  • 「プロトコル不正使用管理」ページ(システム管理 > ネットワーク > 異常状態 > プロトコル不正使用 タブ)で閾値を編集して「実行」ボタンを押したら”Please Input event threshold value!”というエラーメッセージが出た

これらは,ウェブ・ブラウザがキャッシュに残ったアップグレード前のページを読み込んでいることが原因の場合があります。ブラウザでスーパーリロードを行うことでバージョンアップ後のページを読み込んでから,もう一度試してみてください。スーパーリロードは,以下の操作で行えるようです。

プラットフォーム オペレーション
Windows Ctrl + F5 (IE,Firefox,Chrome)
Shift + 更新ボタン (Safari)
Mac Command + R (Chrome, Safari, Opera)

※GenieATMは上記のすべてのブラウザでの動作を保証しているわけではありません。

構成のディスパッチとは

GenieATMでは,GUIから

システム管理 > ネットワーク

の下のページで行った変更を有効にするために,ディスパッチと呼ばれるオペレーションが必要です。

GenieATMは,コントローラとコレクタという2種類のモジュールから構成されています。GUIでのオペレーションはコントローラ側に持っている構成情報だけを変更するため,次のようなコレクタに必要な構成情報は,ディスパッチによってコレクタに展開する必要があります。

  • ルータとインターフェイスの定義
  • ホームネットワークやサブネットワークとその境界の定義
  • ルールベースレポート定義
  • 異常検出の閾値などの設定

構成のディスパッチ

ディスパッチを行うには,

システム管理 > 構成

から現在の構成に名前を付けて「ネットワーク構成をDispatchして保存」ボタンを押します。「同期ステータスを取得」ボタンを押して,ステータスが「同期化中」から「完了」になれば,すべてのコレクタへの展開が完了しています。

システム構成管理ページ

ただし,コレクタに展開された構成情報が有効になるタイミングは,毎時0分,5分,10分…であることに注意してください。たとえば,ルータからのフローパケット受信やAS経路分析用の経路テーブルを取得するためのBGPピアは,このタイミングまで開始されません。(DDoS防御時に経路変更を注入するためのBGPピアはコントローラから張られるため,GUIの設定変更直後に確立されます。)

そのほか,ソフトウェアバージョンのアップグレードを行った後や,DBの初期化を行ったときも,ディスパッチを行うようにしてください。

レポート再構成時のRawdata存在判定

レポート再構成機能(システム管理 > レポート再構成)の「Step 2.時間間隔と対象コレクターの指定」において対象日付範囲を指定するダイアログボックスがあります。ここには,コレクターごとに各日付のRawdata存在状況が,No Data,Incomplete Data,Complete Dataの3種類の色分けで表示されます。

レポート再構成時の日付範囲指定ダイアログ

この判定は,1分ごとにディスク上に作成されるRawdataファイルに基づいて以下のように行われます。

種別 条件
No Data 毎時0分,5分,10分…のRawdataファイルが一つも存在しない
Incomplete Data 毎時0分,5分,10分…のRawdataファイルのうち1つでも存在しないものがある
Complete Data 毎時0分,5分,10分…のRawdataファイルがすべて存在する

従って,正常にフローレコードを受信し続けている場合でも,トラフィックの落ち込んだ時間帯にRawdataファイルが作成されないことがあるとIncomplete Dataと判定されることになりますので,あくまでも目安としてお考えください。なお,Rawdataファイルの一覧は,CLIよりshow rawdataコマンドで見ることができます。

show rawdata {internal | nfs} [ from <from-datetime> to <to-datetime> ]

flow dump

GenieATMが受信しているフローレコードを表示します。

書式

flow dump
[-a | -h] [-i <interface>] [-c <count>]"<expr>"

主な追加パラメータ

キーワード 説明
-a | -h -a: すべての属性を表示
-h: フローパケットのヘッダ部分のみ表示
(指定なし): フローパケットの概要のみ表示
-i <interface> フローを受信するインターフェースを指定。省略するとeth0
-c <count> 指定した件数のフローパケットを受信するとコマンドを終了する。省略した場合は停止するまでフローを表示し続ける。
"<expr>" 表示するフローパケットの条件

構造

<expr> := {<expr> and <expr> | <expr> or <expr> | not <expr> | (<expr>)}
※ 括弧以外,条件の評価は単純に左から右に行わる。したがって,A and B or C and Dは(((A and B) or C) and D)と評価される。

表記

<expr> := {{src | dst | [src | dst] host} <ipv4 address> | [src | dst] net <ipv4 prefix> | [src | dst] port <port no> }
※ 表記はフローパケットに関する条件であることに注意。したがって,dst portで指定する条件はGenieATMがフローパケットを受信するポート番号であり,フローが示すトラフィックの送信先ポート番号ではない。
※ 明示的にsrcdstを指定しない場合,送信元,送信先のいずれかが条件に一致すれば表示される。

デフォルト設定

なし

コマンドモード

Debug Mode

説明

  • GenieATMが受信したフローレコードのうちパラメータで指定した条件に一致するものを指定したフォーマットで表示します。
  • パラメータはflow dumpコマンドを入力した後
    Please input nfdump parameters and press return

    が表示されてから入力します。

  • パラメータで受信件数を指定した場合は,その件数を表示すると終了します。それ以外の場合はCtrl+Cで停止するまで表示し続けます。

注意事項

  • 内部的にはnfdumpのバージョン1.1が動作します。新しいバージョンのnfdumpとは動作が異なる可能性があります。
  • flow dumpコマンドは,GenieATMのfirewallによってフローレコードの受信ができないルータからのフローレコードも表示します。GUIのスナップショットなどからトラフィックが見えない場合はaccess groupコマンドやfirewall enableコマンドの設定も確認してください。

実行例

# debugmode
(debug)# flow dump
Please input nfdump parameters and press return
"host 172.16.2.24"
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: host 172.16.2.24
15:42:29  172.16.2.24.8888 > 172.16.2.90.6343 : sflow ver = 4, count = 2, len = 348
15:42:31  172.16.2.24.8888 > 172.16.2.90.6343 : sflow ver = 4, count = 7, len = 1200
15:42:31  172.16.2.24.8888 > 172.16.2.90.6343 : sflow ver = 4, count = 2, len = 424
15:42:32  172.16.2.24.8888 > 172.16.2.90.6343 : sflow ver = 4, count = 3, len = 568
15:42:33  172.16.2.24.8888 > 172.16.2.90.6343 : sflow ver = 4, count = 4, len = 748
15:42:34  172.16.2.24.8888 > 172.16.2.90.6343 : sflow ver = 4, count = 7, len = 1256
15:42:34  172.16.2.24.8888 > 172.16.2.90.6343 : sflow ver = 4, count = 6, len = 1224
   :
 (中略)
   :
15:42:35  172.16.2.24.8888 > 172.16.2.90.6343 : sflow ver = 4, count = 7, len = 1256
15:42:35  172.16.2.24.8888 > 172.16.2.90.6343 : sflow ver = 4, count = 7, len = 1312
15:42:35  172.16.2.24.8888 > 172.16.2.90.6343 : sflow ver = 4, count = 7, len = 1256
15:42:35  172.16.2.24.8888 > 172.16.2.90.6343 : sflow ver = 4, count = 7, len = 1256
(debug)# 
(debug)# flow dump
Please input nfdump parameters and press return
-h "src 172.16.2.10"
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 172.16.2.10
15:00:24  172.16.2.10.44080 > 172.16.2.90.9996 : netflow ver = 5, count = 30, len = 1464
 -----------------------------------------------------------------------
| version| count  | sys_uptime      | unix_secs       | unix_nsecs      |
| 5      | 30     | 249804000       | 1450332048      | 303589000       |
 -----------------------------------------------------------------------
| flow_sequence   |type|id |sampling|
| 1624560         | 1  | 1 | 0      |
------------------------------------
15:00:25  172.16.2.10.35074 > 172.16.2.90.9996 : netflow ver = 5, count = 30, len = 1464
 -----------------------------------------------------------------------
| version| count  | sys_uptime      | unix_secs       | unix_nsecs      |
| 5      | 30     | 249804000       | 1450332048      | 352822000       |
 -----------------------------------------------------------------------
| flow_sequence   |type|id |sampling|
| 1624500         | 1  | 1 | 0      |
------------------------------------
15:00:25  172.16.2.10.62301 > 172.16.2.90.9996 : netflow ver = 5, count = 30, len = 1464
 -----------------------------------------------------------------------
| version| count  | sys_uptime      | unix_secs       | unix_nsecs      |
| 5      | 30     | 249804000       | 1450332048      | 372876000       |
 -----------------------------------------------------------------------
| flow_sequence   |type|id |sampling|
(debug)#
(debug)# flow dump
Please input nfdump parameters and press return
-a -c 2 "port 6343"
Do you want to add "more" command behind the nfdump
parameters to prevent terminal session crashed?(Y/N) n
nfdump: listening on device eth0
expression: port 6343
18:03:19  172.16.2.224.8888 > 172.16.2.90.6343 : sflow ver = 4, count = 7, len = 1200
 -----------------------------------------------------------------------
| version         | ip_ver          | agent_addr      | seq_number      |
| 4               | 1               | 172.16.2.224    | 61826628        |
 -----------------------------------------------------------------------
| switch_uptime   | count           |
| 1129306885      | 7               |
------------------------------------
flow      1 sample_type         1                     seq_number          83992247
sample      src_id_type         0                     src_index_value     33
            sampling_interval   256                   sample_pool         27178752
            drops               0                     input               33
            output              0                     packet_data_type    1
            header_protocol     1                     frame_length        1518
            length_of_header    128                   Destination         02:9d:80:9c:73:3a
            Source              66:27:c8:20:26:b7     type                0x8100
            priority            0                     CFI                 0
            id                  103                   type                0x800
            version             4                     header_length       20
            tos                 0x0                   total_length        1500
            id                  0x8d2d                flag                0x2
            flag_offset         0x0                   time_to_live        64
            protocol            0x6                   checksum            0x492c
            source ip address   172.16.3.91           dest ip address     172.16.3.71
            source port number  57185                 dst port number     548
            sequence number     3772736637            ack number          4002378524
            header length       32                    tcp flag            -A----
            window size         32768                 tcp_checksum        0xb867
            urgent pointer      0
            data                70        bytes
            n_extended_data     1
            extened_data_type   1                     src vlan            103
            src priority        0                     dest vlan           0
            dest priority       0

            -------------------------------------------------------------------------------------
flow      2 sample_type         1                     seq_number          83992248
sample      src_id_type         0                     src_index_value     33
            sampling_interval   256                   sample_pool         27179008
            drops               0                     input               33
            output              0                     packet_data_type    1
            header_protocol     1                     frame_length        1518
            length_of_header    128                   Destination         02:9d:80:9c:73:3a
            Source              66:27:c8:20:26:b7     type                0x8100
            priority            0                     CFI                 0
            id                  103                   type                0x800
            version             4                     header_length       20
            tos                 0x0                   total_length        1500
            id                  0xd6da                flag                0x2
            flag_offset         0x0                   time_to_live        64
            protocol            0x6                   checksum            0xff7e
            source ip address   172.16.3.91           dest ip address     172.16.3.71
            source port number  57185                 dst port number     548
            sequence number     3772842717            ack number          4002378524
            header length       32                    tcp flag            -A----
            window size         32768                 tcp_checksum        0xf32d
            urgent pointer      0
            data                70        bytes
            n_extended_data     1
            extened_data_type   1                     src vlan            103
            src priority        0                     dest vlan           0
            dest priority       0

            -------------------------------------------------------------------------------------
flow      3 sample_type         1                     seq_number          29701300
sample      src_id_type         0                     src_index_value     32
            sampling_interval   256                   sample_pool         3308565504
    :
  (中略)
    :
            -------------------------------------------------------------------------------------
18:03:19  172.16.2.224.8888 > 172.16.2.90.6343 : sflow ver = 4, count = 8, len = 1336
 -----------------------------------------------------------------------
| version         | ip_ver          | agent_addr      | seq_number      |
| 4               | 1               | 172.16.2.224    | 61826629        |
 -----------------------------------------------------------------------
| switch_uptime   | count           |
| 1129307016      | 8               |
------------------------------------
flow      1 sample_type         1                     seq_number          29701304
sample      src_id_type         0                     src_index_value     32
            sampling_interval   256                   sample_pool         3308566528
            drops               0                     input               32
            output              0                     packet_data_type    1
            header_protocol     1                     frame_length        70
            length_of_header    70                    Destination         66:27:c8:20:26:b7
            Source              02:9d:80:9c:73:3a     type                0x8100
            priority            0                     CFI                 0
            id                  103                   type                0x800
            version             4                     header_length       20
            tos                 0x0                   total_length        52
            id                  0x45c6                flag                0x2
            flag_offset         0x0                   time_to_live        64
            protocol            0x6                   checksum            0x963b
            source ip address   172.16.3.71           dest ip address     172.16.3.91
            source port number  548                   dst port number     57185
            sequence number     4002378758            ack number          3773996523
            header length       32                    tcp flag            -A----
            window size         19450                 tcp_checksum        0xe2e0
            urgent pointer      0
            data                12        bytes
            n_extended_data     0

            -------------------------------------------------------------------------------------
    :
  (後略)
(debug)#

フローレコード受信の確認

GenieATMに新たなエクスポータの定義を追加したのにスナップショットやレポートでトラフィックが表示されない場合の標準的なご確認項目,切り分け方法をご紹介します。

  1. ネットワーク到達性
  2. ファイヤーウォール
  3. フローパケットの到達

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 groupfirewall 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はこの項目が適切に設定されていないと当該フローパケットを正しく解析することができません。

firewall web-login enable

access web-groupコマンドと合わせて管理者権限を持つユーザIDでGUIにログイン可能なIPアドレスを規定します。

書式

[no] firewall web-login enable

パラメータ

なし

デフォルト設定

無効

コマンドモード

Global Configuration Mode

説明

    firewall web-login enableコマンドを実行すると,access web-groupコマンドによって明示的に許可されているIPアドレス以外からはGUIに管理者権限を持つユーザIDでログインできなくなります。
  • 設定を無効にするには,no firewall web-login enableコマンドを発行します。
  • 現在の設定を確認するには,show runningコマンドを発行します。

注意事項

  • access web-groupコマンドを実行せずにfirewall web-login enableコマンドを実行すると,どこからも管理者権限のユーザIDでGUIにログインできなくなります。
  • access groupコマンドの動作には影響しません

実行例

(config)# firewall web-login enable
(config)# show running
#### show running configure ####
!
(中略)
  ip route 192.16.0.0 255.255.0.0 172.16.2.1 0
  firewall web-login enable
  access web-group 172.16.2.0 netmask 255.255.255.0 permit
  access web-group 172.16.1.1 netmask 255.255.255.255 permit
  module id collector 3001
(中略)
!
!
(config)# 

2種類のBGP接続の併用

GenieATMでは,2つの目的でBGPピアと接続します。

ひとつは,隣接ネットワークなどAS関連のレポート作成時に参照されるBGP経路テーブルを取得するため,もうひとつは,DDoS攻撃緩和(Mitigation)時に経路変更の通知(Diversion)を行うためです。前者はコレクタモジュール,後者はコントローラモジュールから接続するため,それぞれ個別のBGP接続が必要になります。

GenieATMが1台構成などのケースで1台のルータに対してコントローラと内蔵コレクタからBGP接続が必要なときは,注意が必要です。一組のIPアドレス間に2本のBGPセッションを張ることはできないため,DDoS攻撃緩和用のBGP接続に経路テーブル取得用とは異なるインターフェイス(IPアドレス)を指定します。

GenieATMにはもともと2つのイーサーネットポートが実装されているので,これらを使い分けることで異なるIPアドレスを指定できますが,別の方法として,同じ物理ポートにセカンダリIPアドレスを付与する方法もあります。以下のオペレーションではEthernet 0にセカンダリIPアドレス172.16.2.99を付与しています。このIPアドレスは,BGPピアの定義画面ではインターフェイスeth0:0として表示されています。

ATM_6367 # configure terminal
ATM_6367 (config)# interface ethernet 0
ATM_6367 (config-if)# ip address 172.16.2.99 255.255.255.0 secondary
ATM_6367 (config-if)# exit
ATM_6367 (config)# show running
#### show running configure ####
!
!
  hostname ATM_6367
  enable password 7 XXXXXX
  clock timezone JST 9
  password XXXXXX
!
interface ethernet 0
  ip address 172.16.2.50 255.255.255.0
  ip address 172.16.2.99 255.255.255.0 secondary
!
interface ethernet 1
  ip address 172.16.4.50 255.255.255.0
!
!

(中略)

ATM_6367 (config)#

BGPピアの定義

関連トピック

GenieATMのBGPの仕様

GenieATMのBGPの仕様

このトピックでは,GenieATMのBGPの仕様をご説明します。GenieATM ISP版は,AS経路分析レポート作成時に参照する経路テーブルの取得とDDoS攻撃の緩和(Mitigation)のための経路注入という2つの機能ためにBGPピアを確立しますが,BGPの仕様はほぼ共通です。

ピアの確立

GenieATMは対向ルータからのOPENメッセージを受け付けません。BGPのピアは常にGenieATM側から開始されることになります。

タイマー設定

GenieATMは以下のタイマー設定でBGPピアのネゴシエーションをします。

  • Holdtime: 360秒
  • Keepalive間隔: 120秒

対向側がより短いタイマー値を提示した場合はプロトコルに従って短い方に合わせます。また,Keepalive間隔は明示的にOPENメッセージには含まれませんが,Holdtimeの3分の1となります。

マルチホップ対応

GenieATMは,iBGP,eBGPに関わらずデフォルトでマルチホップに対応しています。

一般的にはeBGP接続は外部ASとの境界ルータにおいて使用されるためTTLは1に設定されます。しかし,GenieATMが境界ルータの役割を担うことはなく,GenieATMとの接続においてeBGPが選択されるのは,直接BGPピアを張っていないルータと経路情報をやり取りするため(iBGPでは受信した経路はフォワードされない)なので,このような仕様になっています。

設定が有効になるタイミング

AS経路分析用のBGPピアはコレクターから張られるため,GUIで行った設定を有効にするためにディスパッチを行う必要があります。一方,DDoS攻撃の緩和用のBGPピアはコントローラから張られるため,GUI設定直後に有効になります。詳しくは構成のディスパッチとはを参照してください。

関連トピック

2種類のBGPピアの併用

ディスク使用率の維持

DBとRawdataは時間とともにデータ量が増加していくため,割り当てられたパーティションが満杯になることを避けるために定期的に古いデータが消去されます。

DB領域の維持

DBについては,上限のディスク使用率に達するとレポートデータ → ログ(検出された異常やミチゲーションなど)の順序で設定した使用率になるまでデータを削除します。デフォルトでは使用率が90%に達すると60%まで使用率を落とす設定です。この設定と,各レポートやログに関する設定はGUIメニュー

システム管理 > プリファレンス > ストレージ

の「ディスク使用率」および「レポートデータ」で変更可能です。

まず,レポートデータは設定された保存期間を下回らないようにテーブル単位でパージされます。日次レポート(プロット単位5分)は日ごと,週次・月次レポート(プロット単位30分,2時間)は月ごと,年次レポート(プロット単位1日)は年ごとにテーブルが作られています。

レポートデータの削除だけでは設定した使用率まで下がらない場合は,さらに以下のログをレコード単位で削除します。

  • アラートログ
  • 異常ログ
  • ミチゲーション操作ログ
  • ログインログ

これらについては,「エントリーの最大値」の件数まで削除された後,まだ足りなければ「保存期間」分を残して削除されます。

Rawdataファイル領域の維持

Rawdataファイルについては,パーティションの使用率が95%を上回らないように古いファイルから順に削除されます。これは,異常Rawdataファイルも同様です。DBとは違い,使用率の設定を変更することはできません。

ご注意

NFS使用時にDB,Rawdata,異常Rawdataのパーティションを同一のストレージ(の異なるディレクトリ)にマウントしてしまうと,上記の動作はDB,Rawdata,異常Rawdataの合計使用量から算出された使用率に基づいて行われるため,想定外の結果を招くことがあります。

たとえば,3つのパーティションを容量100GBの同一ストレージにマウントし,DBが50GB,Rawdataと異常Rawdataが合計40GBを消費していた場合,ディスクの使用率は次のように見えます。

ATM # show disk mount
Filesystem Size Used Avail Use% Mounted on
(中略)
172.16.2.10:/export/db
           100G  90G   10G  90% /home/genie/atm_data_nfs
172.16.2.10:/export/raw
           100G  90G   10G  90% /home/genie/rawdata_nfs
172.16.2.10:/export/anomaly_raw
           100G  90G   10G  90% /home/genie/anomaly_rawdata_nfs
ATM #

これをベースに使用率が60%になるまでDBの容量を削減しようとすると,50GBのうち30GBを削除しなければならないことになります。