net6501-70 ネットワークベンチマーク harvest編

FreeBSDのネットワークパフォーマンスチューニングに関するwikiページがあるのですよ。

http://wiki.freebsd.org/NetworkPerformanceTuning

で、OS tuningの項目には、以下のように書いてある。

Skip feeding /dev/random from network.
kern.random.sys.harvest.ethernet=0
kern.random.sys.harvest.point_to_point=0
kern.random.sys.harvest.interrupt=0

そんなに変わるかなぁ、と半信半疑なので、簡単に測定してみた。

※見たら分かると思うけど信憑性超低いですぞな。

前提

物理構成

Node1 ---(SW)--- net6501 --- Node2

環境

OS : FreeBSD 9.0R
pf …
more…

net6501-70 ネットワークベンチマーク測定結果

以前、 net6501-70を買って、それからどうしよう。 とか言っていたのだけど、結局FreeBSD 9.0Rを入れて、いつものようにルータにすることにした。

理由はいくつかあるけど、それは置いといて。

そこで、ネットワーク周りのベンチマークを取って、傾向だけでも把握しておこうかと思ったので、チマチマ測った結果を載せておこうと思う。

別段面白いことは無いと思うよ...うん。

2012/10/13 「IPv6のUDP性能測定のやり直し」「各グラフの縦軸統一」を適用しました。

はじめに

まず、測定構成は以下の2つで、測定のアプリケーションにはiperf 2.0.5を使用した。

Case1)
    Node1 ---(SW)--- DUT(net6501)

Case2)
    Node1 ---(SW)--- DUT(net6501) ----- Node2

iperfによる測定時間は、いずれも300秒。記事末尾にスクリプト例だけ載せておきますので説明を端折ることに。

SW部分にはHP 1810-24Gがあるが、ごく小さい遅延が乗るだけなので目をつぶる。

また、Node1,net6501には試験に使用するネットワークを介してSSH接続を行なっていることもあり、試験用トラフィック以外のトラフィックが流れてしまう環境であることを予め共有しておく …

more…

障害記録 UPS 2012/09/28

本日のアクセス障害に関する障害記録。

  • 11:02 ESXi動作マシンの電源故障により、収容仮想マシンがダウン(時間はログから推定)。仮想化されていたルータのダウンにより、全外向きサービスの不通となる
  • 19:45 当初原因不明であったため、同マシンの電源を投入したところ、電力供給ライン上のUPSが短絡検出したことで当該UPSの電力供給が停止。これにより、UPS収容装置の全断が発生
  • 19:50 故障電源を予備電源と入れ替えて再度起動
  • 20:07 各監視アラートの対処を完了

今後の対応と対策

  • どうしよっかー...

冷静にログ追ったら断時間が8時間5分とか、年間で言うと0.1%分の稼働率が吹っ飛んだことに...。

まぁメンテナンス入れたらもっと吹っ飛んでますけど。

more…

net6501-70 + FreeBSD 9.0R

本来はFreeBSD 9.1Rを待って、「サポート期間長いぞうひょー」なのだが。

先んじてFreeBSD 9.0Rで動作確認しておこうかな、と。

OpenBSDについては相談の結果L2TP Clientになれそうになかったので、少し保留。

net6501にはVGAが無いので、必然的にSerialを使った操作になる。

FreeBSDのインストールメディアはUSBメモリ1択。

CD/DVDはどうしても使わないといけない時以外は使わないようになりました。

FreeBSD-9.0-RELEASE-i386-memstickをddして焼きこみ。でもVGA用だからSerial用に設定する。handbook見ながらね!

https://www.freebsd.org/doc/ja/books/handbook/serialconsole-setup.html#idp87991760

# dmesg \tail -6
da4 at umass-sim0 bus 0 scbus2 target 0 lun 0
da4: Removable Direct Access SCSI-5 …
more…

OpenBSDとnpppdにルータのご相談(2)

前回、 OpenBSDとnpppdにルータのご相談(1) でスルーしたPPPoEも簡単に試す。

  • pppoe(4)の動作確認。
  • npppdが可能なのはPPPoE Server(BAS)側なので、サーバ側はそちらで。

環境は以下です(適当)

  • VirtualBoxホスト : 2740p i7 CPU M 620 @ 2.67GHz
  • PPPoE Client : 1コア 256MB 内部net(PPPoE) HostOnly(ssh用)
  • PPPoE Server : 1コア 256MB 内部net(PPPoE) HostOnly(ssh用)

PPPoE Server side

まずはユーザを作ろう。

# echo "Username,Password,Framed-IP-Address,Framed-IP-Netmask,Description,Calling-Id" >> /etc …
more…

OpenBSDとnpppdにルータのご相談(1)

OpenBSDさんと、PPPoE、L2TP/IPsec、PPTP、L2TP、pf周りでルータ代替の機能確認を少し。

厳密に言うとルーティングはしないんだけど。まぁいいや。

OpenBSD触るの初めてなので全然勝手が分からないのがどちらかと言えば障害になっているのであった。

npppdのドキュメント少ないとか言ってすいませんでした。

いくつか当たりを付ける。

結論としては、PPPoEに関してはpppoe(4)かpppoe(8)を使うことになるんじゃないか、ということ。

L2TP/IPsecとPPTPについてはnpppdで捌けそうだし、pfは元より本家なので引き継ぐのは容易...という想像。

L2TP LAC(OCN IPv6用)だけ不透明なので継続して要調査(でも多分諦める気がする)。

(もし、npppdがLAC対応したらmpdのような立ち位置になるかもしれない)

まず、PPPoEの話。

これは前例がいくつもあるようなので、特に深く追ってないのだけど、この辺で何とかしましょう、という雰囲気。

more…

net6501-70を買って、それからどうしよう。

BSD界隈ではたまにネタになるSoekris社のnetシリーズなのだけど、とうとうnet6501-70を衝動的に買ってしまった。

net6501シリーズはこちら http://soekris.com/products/net6501.html

ので、PfSenseを入れてルータはこっちにしようかな...と、仮想化と逆行することを考えている日の話。

なんだかんだ言ってさ?誰だって欲しいもんじゃあ無いんですか?

「GbEポートが沢山ついてて、まさに自分でOS入れてルータとして使ってください。それ以外の用途は、まぁ、今度考えます」みたいな製品。

Atomのファンレスマザーが出た時思ったでしょ?何でGbEポート1個しか無いの?馬鹿なの?って。

それで仕方ないからVIAのDualポートNICのマザーとか買ってみて、ケースが無いだの、熱くて死にそうだの。

なのでコレ。でも買った直後に net7501の話題 を見つけて若干凹んだのは内緒。

とりあえず、見た目こんな感じ。

image0

image1

image2

GbE(82574)が4ポート、CPUはAtom E680(換装不可)、メモリはDDR2 2GB(換装不可)という分かりやすい仕様。

Mini PCI ExpressかPCI Express x1のCrypto Acceleratorが欲しくなるだろう …

more…

hgweb.cgiとsphinxによる自動ビルド環境

  • バージョン管理にmercurial
  • ドキュメント作成にsphinx
  • 手元でrst書いて、HTTPSでhgweb.cgiにhg pushして、裏でsphinxが自動的にビルドして、Webが更新される。

そういうことをしたいなぁ、という話。

OSはUbuntu 10.04 server amd64を使ったsphinx環境の導入については、ダイジェスト。

Ubuntu 10.04のリポジトリにあるsphinxは古いので、aptで入れるのはpipのみ。

# apt-get install pip
# pip install sphinx
# pip install sphinxcontrib-blockdiag
# pip install sphinxcontrib-nwdiag
# pip install sphinxjp.themecore
# pip install rst2pdf
# pip install sphinxjp.themes.dotted

場合によっては、apt-get purge docutilのようなことをしなければならないかもしれない。

正直virtualenvを使うべきだったと反省している。

hgweb …

more…

python + dpkt で pcap解析 - 2.パケット生成と保存

前回(python + dpkt -> pcap解析 – 1.読み込みから解析開始まで) に引き続き、dpktの使い方を見ていく。

次はこの辺りか。

  • パケットの生成と保存
  • 読み込んだパケットをフロー分類して別のファイルに保存

既に解析ではないね...うん...

ソース見れば分かる人はBitbucketへどうぞ。

まず「パケット生成と保存」をしてみる。

パケット生成の基本は、 dpktのフロントページ に書いてある通りだ。

今回は、SYN Flood辺りを想定して、SYNパケットを沢山作ってそれをpcapファイルに出力してみる。

ステップは簡単だ。

  • Step.1 : dpkt(とsocket)のimport
  • Step.2 : Ethernet, IPv4, TCPの各ヘッダをオブジェクトとして生成
  • Step.3 : pcap(libpcap)形式でファイルを開く
  • Step.4 : 送信元アドレスを増加させながらpcapファイルに書き込む
# -*- coding: utf-8 …
more…

python + dpkt で pcap解析 - 1.読み込みから解析開始まで

以前から小規模ではあるが、pythonでパケット分析をするためのモジュールdpkt(http://code.google.com/p/dpkt/)を使用している。

元々dokuwikiの方には少しだけ書いているのだが、整理がてらblogにも書いてみる。

まずはこの2つ。

  • *.pcapファイルの読み込み
  • 読み込んだバイナリデータの簡単な解析

ソース見れば分かる人はBitbucketへどうぞ。

windows、Linuxのいずれも使い方は変わらないはずだ。

手元の環境は windows XP/7 + Python 2.7.3 だが、好きにすればいいだろう。

dpkt自体は、

easy_install dpkt

でインストールする方法と、

http://code.google.com/p/dpkt/ からダウンロードしてきて

python setup.py config
python setup.py …
more…