naoki86star

インターネットの片隅でなにかしら書いてみる

vThunder on VirtualBox

A10社のThunderにもvmがあると知った。平凡な手持ちの環境で雰囲気だけでも味わうべくPCのVirtualBoxにインストールするということをやってみた。

動機

 ddosプロテクションの機能で知られている(と思ってる)A10Thunderの仮想イメージをダウンロードできたので、なんとかTPSを味見したくなった。*1

要点

(準備環境)

  • vThunderのISOイメージDLしてきてそれがインストーラ形式になっている
  • VirtualBoxマネージャーで、データプレーンにあたるポートの設定に留意

□ネットワーク
アダプター1: Interl PRO/1000 MT Desktop(内部ネットワーク'mgmt')
アダプター2: 準仮想化ネットワーク(内部ネットワーク'intnetA')
アダプター3: 準仮想化ネットワーク(内部ネットワーク'intnetB')

 元来は、SR-IOVという仕組みで物理ポートを最適に仮想ポート化したポートをデータプレーンポートにマップさせて、それで動作を評価するものらしい。

  • vThunderのインスタンスを操作するのに、別にひとつマネジメント用のインスタンスをたててそこからsshでアクセスするようにする。(virtualboxでよくやるNATしたポートからsshはしない)
+-------------+     +-------------+     +-------------+
|Internet-Side|     |   vThunder  |     |  Intra-Side |
|             |-----|             |-----|             |
|             |     |             |     |             |
+-------------+     +-------------+     +-------------+
                           |
                    +-------------+
                    |  management |
                    |             |
                    |             |
                    +-------------+
トライ
  • bgpの設定

雰囲気レベル(簡単な設定をいれてみるだけレベル)しか試してないですが、コミュニティの受付とnext hopの受け入れはなんとなく動いていた。
フルルートはメモリ的には余裕でしょうが、実用的なのかどうか。

  • aXAPI ~ httpsインタフェース

pythonのacos_clientというモジュールで容易に取り扱える模様*2
※managementポートは最初からhttps onだったのだけど、reloadしないと応答してくれなかった、謎。

vThunder>show management
       PING            SSH             Telnet          HTTP            HTTPS           SNMP            ACL
----------------------------------------------------------------------------------------------------------
mgmt    on              on              off             on              on              on              -
eth1    on              off             off             off             off             off             -
eth2    on              off             off             off             on              off             -
  • ddosプロテクション関連

 signinしてから参照できるweb上のDDoS Mitigation Guide (for ADC)によると、ddosプロテクションは攻撃タイプによっていくつかの項目で分けられている。いくつか列挙。
1) IP Anomaly Filtering
 なんとなく一番理解しやすい、設定も単純、既知の攻撃パターンを止めるもの(fragment落としはあるけど、udp-reflectionの項目がなさそう)
2) SYN Cookies
 server load balancer機能の一部として動かすらしい。守りたいサーバがあらかじめわかっているなら使えそう。(守りたいのが不特定多数になると??)
3) IP Limiting
 機能名からはなにをするのかが分かりやすいが、どうもあらかじめブラックリストをいれておく方式らしい。

 味見したいと最初に書いておきながら、単純なパケットですら動作を見ることができていません。だいたいこういうことかというのをドキュメントから推測。

今回覚えたこと

 SR-IOV(Single-root input/output virtualization)というものを初めて知った。ハードウェアレベルのエレメントを仮想化で扱いやすくするための標準化みたいなもの、と理解。

その他

a10Thunder、全般的にドキュメントで書かれているものを探すのが結構キツく感じた。あまり検索で直接はhitしてくれない。。

 アプライアンス機は、モデルによって相当高いスループットをさばけるようなのですが、ddosプロテクションに関しては例えていうならVery Important Personなサーバを守ってくれる、ような印象を持ちました。別のたとえだと特定要人方々のガードマンみたいな。もう少しTrialしてみないと理解全然足りてません。

*1:A10のアカウント作ってDLして評価ライセンス作って

*2:逆に素でcurl等で動かすのは手順が煩雑で現実的でない