Kenichi Maehashi's Blog

脳内コアダンプ

RSS
Category: Other
あけましておめでとうございます。
今年もどうぞよろしくお願いします。

# これから 3 ヶ月くらいは、書類に 2010 年って書かないように気をつける期間です...
Category: Web
ここ数日、jQuery + jQuery UI と戯れてます。

ドキュメントのタイトルを変更したいところがあって、
$('title').text("New Title!");
とかやっていたんですが、どうやら IE8 では動かないようです。
document.title = "New Title!";
でいいのかな。

# 普段は Safari と Firefox しか使わないので、うっかり動作テストをさぼっちゃいますね…汗
Category: Computer
WD の HDD が壊れかけたので、Data Lifeguard Diagnostic for DOS という CD をダウンロードして焼いたのですが、現在配布されている Version 5.04f は壊れているようで、CD ブート後に「Unable to locate the License Agreement file, DLGLICE.TXT!」と怒られてユーテリティが起動しません。

結局、Ultimate Boot CD を使うことで解決しました(この CD のライセンスは若干怪しいが…)。

Linux を入れているマシンなので、こういう Windows 向けのユーティリティがぱっと使えないのはちょっと不便ですね。ちなみに Windows 版のユーティリティは Windows PE では動かないようです(試した)。

あと、Mac ユーザ向け情報として: ISO ファイルを Finder から直接焼いてはいけません(ファイルだけがコピーされるので、Bootable でなくなります)。ディスクユーテリティを使用しましょう。
Category: Linux
ちょっとハマったので、メモしておきます(例によって、日本語の情報が全くない…)。

最近の L2 Switch には「EAPOL 透過」を謳ったものが多くあります。EAPOL は IEEE802.1x 認証に使用されるプロトコルですが、802.1x 認証対応のスイッチをエッジに置くことが(主にコスト面で)難しい場合、EAPOL 透過なスイッチを認証スイッチのポートに接続することによって、1 つのポートで複数のクライアント(MAC アドレス)を認証することができるようになります。

EAPOL の宛先 MAC アドレスには常に 01-80-C2-00-00-03 が使用されます。これは PAE Group Address とか Link Local Multicast Address と呼ばれる MAC アドレスであり、スイッチが透過してはならないフレームであると規定されています(フロー制御の PAUSE フレームや STP の BPDU フレームなども、この種類の MAC アドレスを使用しています)。

さて、Linux カーネルの提供するブリッジでは EAPOL を透過しません。現時点で latest stable な linux-2.6.36.2 において、net/bridge/br_input.c の br_handle_frame では、Link Local Multicast Address のフレームを受信した場合「PAUSE フレームであれば破棄」「ブリッジ自身の STP が無効かつ BPDU フレームであれば(ebtables が許せば)転送」「それ以外は自ホスト宛の通信として扱う(ebtables の filter テーブルの INPUT チェインのみに入る)」という挙動になっているため、EAPOL フレームはどう頑張っても転送されません(ちなみに、CentOS 5.x で使用している linux-2.6.18 の時点では、全てのフレームが自ホスト宛の通信として扱われていました)。仕様通りの動作で良いことではあるのですが、EAPOL 透過のできるスイッチが市場に出回っていることを考えると、運用上は不便でもあります。特に最近では KVM / Xen など仮想マシンのネットワークにブリッジを使用するケースが多いので、この仕様では仮想マシンに対して物理スイッチの IEEE802.1x 認証を適用することができません(そのような構成が一般的かどうかはさておいて)。

EAPOL の透過については Linux Kernel の Bridge リストでも何度か議論があったようで、2007 年 11 月に一度リジェクトされ、2010 年 10 月にもう一度話題に上がり(上記の仮想マシンの話題はこの方が仰っていた環境)、ブリッジの STP が無効であれば PAUSE 以外の全フレームを透過するパッチが無事コミットされた、という状況のようです。

上記パッチがコミットされたのが 2010/10/21 なので、実際に stable としてリリースされるのは 2.6.37 でしょうか。気軽に使えるようになるまでは、まだ遠そうです…。

(追記) 802.11x という誤記があったので 802.1x に直しました。
Category: Computer
ちょっと前から VLAN スイッチが欲しかったのですが、いいタイミングで corega直販ショップクリスマスセールをやっていて、CG-SSW08GTR半値以下になっていたので買ってしまいました。

取り急ぎの必要要件は 802.1Q VLAN (Tag VLAN) かつ EAP 透過ができること。あとは将来を見据えて Jumbo Frame, IEEE802.1X 認証, ポートミラーリングあたりがあると嬉しいな、ということでちょうど良い製品でした。コンソールポートとか CUI があれば尚良かったけど、この価格では言えないですね。

 *

ちょっと弄ってたら、面白いことに気づきました。Trunk (VLAN aware) ポートをモニタリングポートに指定してやると、(VLAN aware でない)ミラー元の native VLAN ID (PVID) が付与されてミラーリングされるようです。これはこれで便利ですけど、安直な実装と言うか何と言うか。

ちなみに使ってるチップは Vitesse という会社のもののようです。Web の管理画面は、ほぼチップの機能をそのまま使っているみたい(このおかげで安いのかも)。VeriPHY という機能が備わっていて、接続されている LAN ケーブルの結線チェックや、線路長の推定をしてくれたりします。すごい。