LL decadeに参加してきました。
LLには以前観客として参加したことはありますが、今回はネットワークチーム(LLNOC)として参加しました。前回のLLで手がまわらなかったネットワーク監視系でのお手伝いということで声をかけていただいて、sFlowを集めてのトラヒック解析を担当しました。
sFlow周りのネットワーク構成はこんな感じ。実際のNW構成よりかなり簡略化して書いてます。
トラヒック情報のsFlowはセンタースイッチのAX3640S と PoEスイッチの X600(2台)からだしています。sFlowを集めてトラヒック解析するフローコレクタ(今回はGenieATM)は同じ会場内に置くのが常套手段ですが、なにせ今回はNW設置作業に許された時間は1時間だけ。その短時間のうちに設定調整作業をするのは厳しいので、今回はコレクタを会場に持ち込まずにリモートサイトに置き、会場とリモートサイト間をVPNでつないで、sFlowはVPNを経由して送ることにしました。
当日のトラヒック例。googleが多いですね。
VPNはVyattaのOpenVPNを使いました。Vyattaのコンフィグはこんなかんじです。ポイントは2つ。
1.VPNのエンドポイントのうち会場側vyattaがグローバルアドレスを持っていないので、会場側VyattaからVPNを張りに行く形になります。リモート側のVyattaはVPN開始を待ち受けています。
2.MTUサイズを小さめにしておく。デフォルトだと大きめパケットを通過しないことがあったので、今回はopenvpn-option で調整。あまり厳密にかんがえずにえいっで1280にしてます。
Vyattaのコンフィグ。
■会場側Vyatta(vyatta-site)
interfaces { ethernet eth0 { address 10.3.2.1/24 duplex auto speed auto } openvpn vtun0 { description LL2012 local-address 10.0.0.2 mode site-to-site openvpn-option "--fragment 1280 --mssfix" remote-address 10.0.0.1 remote-host 61.x.y.z shared-secret-key-file /etc/openvpn/key.psk } } protocols { static { interface-route 192.168.253.0/24 { next-hop-interface vtun0 { } } } }
■リモートサイト側(vyatta-remote)のVyatta設定。
interfaces { ethernet eth4 { address 61.x.y.z/28 duplex auto smp_affinity auto speed auto } ethernet eth5 { address 192.168.253.1/24 duplex auto smp_affinity auto speed auto } openvpn vtun0 { description LL2012 local-address 10.0.0.1 mode site-to-site openvpn-option "--fragment 1280 --mssfix" remote-address 10.0.0.2 shared-secret-key-file /etc/openvpn/key.psk } } protocols { static { interface-route 10.3.0.0/16 { next-hop-interface vtun0 { } } } }