GNS3 + VirtualBox + BSDRP で PPPoE + L2TP を手元でこねくり回す

新しいルータを買った時、新しいルータの代わりになる仮想マシンを試したい時、ISPの回線がもう少しあればいいのに。そう思うときがあります。

※この文脈で言う「ルータ」とは、PPPoEクライアントとNAPTを行う家庭用ブロードバンドルータの意味です。

それを視覚的に分かりやすく手元に置くことが出来たら、ふと試そうと思い立った時に使うことが出来てとても便利ですよね!(裏声)

僕もそう思います。

そこで、VirtualBoxを使った仮想マシン間のネットワークを作り、視覚分野をGNS3で補う形で、簡単なISP接続検証を行えるようにしたいと思います。

構成図

今回作成しようとしているトポロジは次のようになります。小規模構成ですね。

topology

ISP接続と言っておきながら、本来ISPの設備管理と思われる部分については再現しないことにしました。

だったらL2TP区間も要らないじゃねぇかという意見は黙殺します。

BSDRPの入手と準備

BSDRPってのは、NanoBSDをベースにしたルータディストリビューション。

BSDRP : http://bsdrp.net/

と言っても、Vyatta程完全なルータCLIを備えてるわけではないので、必要なパッケージが入ったFreeBSDにsshでログインしてあれこれするのを想像してもらうのが近いと思います。

ダウンロードページはこちら : http://bsdrp.net/downloads?DokuWiki=c72a0692697f7a81efb627a081da55d6

(2013/07/31時点の最新バージョンは1.4なので、ここから先はBSDRP-1.4-full-amd64-vga.img.xzを使用します)

xz形式を解凍すると、250MB程度のイメージファイルが出力されるので、これをVirtualBoxのVDI形式に変換してしまいます …

more…

WordpressやめてPelicanに移行したいんだけど障害を乗り越える元気がない。

Wordpressでblog書くの自体はそう悪いことでもないんだけど、調べながらだと間違えてタブ閉じちゃうし、画像管理めんどくさいし、何においてもDBがホストのIPとか覚えちゃってて引っ越しがクソ面倒。

なのでWordpressさんも割といい線行ってたけど、やっぱり今一つだなぁ、と思ってPelicanについて調べている。

PelicanはPython製の静的HTML生成によるblogツールだよ。

more…

pypackerがあればpython3でもpcapと仲良くできるかもしれない

以前、python + dpktによるpcap解析の手法 その1 その2 を書いた。

しかし、dpktはPython2系でしか動かないライブラリで、今後はPython3も視野に入れていくべきではないか?という気持ちがあったので、時折思い出したようにネットを徘徊していた。

すると、dpktをPython3用に書き直したpypackerと言うライブラリが登場したことを知りました。(Gentoo Portage Overlays - net-analyzer/pypackerのお陰で)

これです : https://github.com/mike01/pypacker

で、 前回のあれこれ と同じことをするpypacker_tutorialを書いてみたので、Bitbucketに置いておきました。

中身の説明を含めた利用例とかは別途なんか考えましょうねぇ。

https://bitbucket.org/ainoniwa/pypacker_tutorial/src

※ちなみに、このpypackerはWindows非サポートの代わりに、Linux環境ではキャプチャもできるようになったので、慣れればかなり色んな事が出来ると思うよ。ただ僕はwindowsで使うんだけど。

お し ま い

more…

PCとpktgenとpgrxで行く遅延測定の旅

前回 、pktgenのパケット構造は基本的に以下の構造になることが分かった。

ここに入っているtv_secおよびtv_nsecを、受信側で比較して遅延測定ができたらいいよね?

というのが、この Open Source Traffic Analyzer : http://people.kth.se/~danieltt/pktgen/

はじめに

Open Source Traffic Analyzerは、pktgenと同様にカーネルモジュールを読み込むことで /proc に生えてきて、pktgen形式のパケットに対する統計情報を取得することができる。

現在サポートされているのは、ipv4/ipv6のパケットカウンタ、遅延、ジッタ、パケット間隔。

パッチ形式で配布されているので、必要な機能に対するパッチを当てて利用することになるだろう。

生えてくるのは、 /proc/net/pktgen/pgrx となり、pktgenモジュールの一機能として提供される。(従って、今後「Open Source Traffic Analyzer」についてはpgrxとして記載する)

ただ、メインラインに取り込まれているわけではないので、pgrx対応のpktgenモジュールを作り直すか …

more…

PCとpktgenで行くショートパケットワイヤレートの旅

冒頭

「ねぇ、秒速1,488,095フレームなんだって」
「え、なに?」

「1Gbpsで最小フレームを送信可能なフレームレート。秒速1,488,095フレーム」
「ふーん・・・」

そりゃあ「ふーん・・・」ってなるな?

このフレームレートに到達しなければ1Gbpsを処理できているとは言えない。

従って、1Gbpsを処理できているか試験するために、汎用PCでこのフレームレートに到達する必要がある。 (1,000,000,000 bit = 125MB, 125MB/(60+4+12+8) = 1,488,095として計算)

では本題に入ろう。

はじめに

pktgenは、Linuxのカーネルに搭載されたトラフィックジェネレータ。

いつぞやからメインラインにカーネルモジュールとして同梱されるようになったので、恐らく2.6.26以降辺りから使えるのではないかと思う。

使い方

さしあたり、構成はループバック構成とする。

つまりこうだ。

                                         eth4
Generator (Ubuntu Server 13 …
more…

またしても、彼はwindowsでwinpcapをpythonから叩く道へ引き返す。

あらすじ

( ゚д゚)/ 3行で分かるlibpcapのpythonラッパーたち

あーしちゃん「あーしwindowsなんだけど」

そこでおじさんは考えた。ctypesしよう、と。

今日紹介するのは winpcapy http://code.google.com/p/winpcapy/ だよ

コイツはpythonから超簡単にwinpcap経由でデバイスを叩けるナイスなラッパーさ。

インストール? C:\python27\Lib\site-packages\ に置くだけだよ。

やっぱりさぁ、windowsでpythonでwinpcap使いたいとか言い始めるとさ、やれコンパイルしろとか色々うるさいわけじゃん。

俺はもっと環境負担の少ない、手軽な感じで救われたいんだよ。

Visual Studio …

more…

Centreon 2.3.9 to 2.4.1のログ貼り付けるだけ

Centreon 2.3.9から2.4.1にアップデートした時のログを貼り付けるだけのポスト。

詳しくは こちら を見るとして。

Ubuntu 10.04.4 LTSとndo2dbを使っていますので、nagiosディレクトリがちょっと違う感じになりました。

centreon-brokerは見送りで。

インストールした後、centstorageが立ち上がらなくてグラフが書かれなかったので、 mkdir /var/run/centreon する必要がありました。

root@locahost:~/centreon-2.4.1# bash install.sh -u /etc/centreon
###############################################################################
#                                                                             #
#                         Centreon (www.centreon.com)                         #
#                          Thanks for using Centreon                          #
#                                                                             #
#                                    v2.4.1                                   #
#                                                                             #
#                               infos@centreon.com                            #
#                                                                             #
#                   Make sure …
more…

MPEG2-TTSのwireshark dissectorがLuaでだそうですよ?

前回は、wiresharkで対応していないプロトコルなんてあるはずないじゃない!

って感じだったんだけど、どうもMPEG2-TTS(.m2ts)に関してはそうじゃないロボ的な感じになったので、ちょっと書いてみました。

MPEG2-TTSって言うと、MPEG2-TSの0x47の手前4byteにタイムスタンプが付与されて、1ブロック192byteになるアレです。

192byteのブロックに分けて、4byteは自分で適当に読んで、残った188byteをwiresharkのDissectorに投げるのを繰り返してます。

BitBucketに置きましたので、参考程度にどうぞ。

dissector_plugins@bitbucket

使う時は、 ${wireshark-path}/plugins/${version}/ の下に置けばいいだけです。

more…

誰のせいでもなくnetsniff-ng

tcpdumpは許されている。

では、netsniff-ngはどうか。

はい、公式。

http://netsniff-ng.org/

RX_RING, TX_RINGを用いたゼロコピーメカニズムにより、今までに無いパフォーマンスでパケットキャプチャ、ジェネレート、統計取得などなどをしていくぜ、って話である。(良く分からないまま喋ってる典型的な台詞)

それでは以下うんぬん。

netsniff-ng自体はtcpdumpの類似アプリであるが、周辺ツール郡として、パケットジェネレータや統計取得、暗号化トンネルのテストツールも含まれている。

まずは基本的なところから見ていこうと思います。

一応インストールから。

Ubuntu server 12.04.2 amd64にインストールする。

$ sudo apt-get install git ccache flex bison libnl-3-dev
libnl-genl-3-dev libgeoip-dev libnetfilter-conntrack-dev
libncurses5-dev liburcu-dev libpcap-dev zlib1g-dev
$ git clone https://github.com/borkmann/netsniff-ng …
more…

Q77とUbuntuとHeadless

DQ77KBにUbuntu Server 12.04.2を入れる。

でもモニタとかディスプレイを挿さないので基本はsshだけど、必要に応じてVNCにしたい。

という当たり障りの無い話を書く。

DQ77KBにはvPro機能の一部であるところのIntel AMTが搭載されている。もちろん対応CPUを載せればの話だ。

Intel AMTの操作には、普段はManageability Commander Toolを使う。

Serial Console Redirectionモードで動くのでBIOSを見ることもできる。

CDは手元のisoファイルをIDE Redirectionすることで、IPネットワーク経由でCD Bootが出来る。

すると、ディスプレイを挿す必要もなくなる。

素晴らしき遠隔操作(と地雷を踏んで結局ディスプレイを挿してデバッグする)世界へようこそ。

DQ77KBのBIOSを0049にアップデートしたところ、UEFI Bootはデフォルトでenable。

まず面倒なので、これをdisableにする。

enableのままだと、何故かIDE-R中にisoイメージの転送が止まって、最初にkernel読み込ませろよハゲ、って言われちゃう。

(はっきり言ってIntel AMTは随所にハマりどころがあって、クソゲーの様を呈している)

Ubuntu Server自体はIDE-Rを使ってインストール。(特に説明してないですけど、mSATAが挿してあるのでそれに。)

この時、IPの設定とOpenSSHを追加でインストールしておく。

(忘れると、結局ディスプレイとキーボードを挿す羽目になるので。IPはDHCPでも推測可能なので別にいいかな。)

sshd_configは起動後に適当に調整 …

more…