問題児たちがwiresharkのdissectorをLuaで書くそうですよ?

2013/06/05追記: wireshark_dissector_plugin_with_luaをPDFで書いて置いたのでそちらの方が見やすいやも。

wiresharkで対応していないプロトコルなんて滅多に無いので、利用シーンは限られるんだろうけど。

wireshark : 言わずと知れたパケット解析ソフトウェア。

http://www.wireshark.org/

  • dissector : 解析部分のこと。デコード、パース等言い方は何でもいいよ。

  • Lua : スクリプト言語的なの。wiresharkにはLua用APIがあるので連携できるの。

以下レッツ、コーディングなので興味ある人だけどーぞ。

more…

CentOSとiptablesでper-packet loadbalance with coreemu

Linuxでパケット単位のロードバランスをしながら、coreemuの宣伝をします。

今回のキーワードは、 CentOS, coreemu, iptables, fwmark, loadbalance, per-packet loadbalance 辺りでしょうか。

Install coreemu for CentOS 6.3

さっくりインストールするので、いくつか現時点のハマりどころを書いておく。

基本的には、2.2.2. Installing from Packages on Fedora/CentOSを読みながら進みましょう。

  1. tkimgとlibevを先にインストールしておく必要があります。(EPEL使う場合は勝手に入るのでOK)
  2. SELINUXを無効にするか適切に設定しないとzebra(およびルーティングデーモン)が動きません
  3. ホスト側でiptablesを無効にするか空っぽにしておかないと、仮想リンク間のパケットが全部叩き落とされます。 iptables -F; /etc/init.d/iptables save とかで良いですかね。
  4. yumで入るtkのバージョンが古いので、仮想リンクの遅延等を設定しようとすると Error: Invalid command …
more…

今は昔、coreemuといふ者ありけり。

quagga/xorpにまじりてLinux network namespaceを取りつつ、よろづのことに使ひけり。

今日は coreemu というネットワークエミュレータの話をしようと思う。

GNS3のIOS使わない全てOSS版、みたいなものだと思ってくれればいい。

前述の通り、関連キーワードは Linux network namespace, Quagga, XORP である。

What is coreemu ?

coreemuとは、tcl/tkで書かれたGUIでネットワークトポロジを作成し、作成した仮想ノード別にルーティングテーブル(Linux network namespace)およびプロセスを分離し、各仮想ノードでquagga/xorp等を動作させて、IPネットワークをエミュレートするためのアプリケーションである。

各仮想ノードは、Linux Containerのような形である程度独立して動くものの、ルートディレクトリが隔離されるわけでもないので、アプリケーションコンテナのような形で動くことになる。

とりあえず触ってみる

まずはインストールしてみよう。

手元で動作を確認しているのはUbuntu系列だけなので、説明にはXubuntuを使用する。

しかし、基本的に Netnwork namespaceが使用出来るカーネル以降であれば、おおよそ動作するはずなので、CentOSやFedoraが良い人は、そちらのパッケージを使おう。

インストールは Coreemu …

more…

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…