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してみないと理解全然足りてません。