2004/4/21

WLA-G54でWPA(BIBLO MG13D)

やっとBUFFALOの無線アクセスポイントWLA-G54WPA対応になったので、早速BIBLO MG13Dからの通信をWPAに設定してみた。
当時にリリースされたWLA-G54C用ファームは最初期待したのだが、WPA対応ではなくエラーメッセージの修正程度のつまらないUPDATEだった。

今回はWPA-PSK(事前共有キー)による接続を行った。暗号化はTKIPとAESが選べるのだが、今回クライアントに使用した無線LANカード「Intel PRO/Wireless 2200BG」はTKIPしか選べなかったので今回はTKIPを使用する。

WLA-G54の設定はウイザードモードで「無線の信号を暗号化する(WEP/TKIP/AES) 」を選択後、暗号化の種類に「TKIP」を指定して、WPA-PSKのキーを63文字フルに打ち込んだ。
はじめにテキストエディタで適当な63文字の文字列を作成して、Copy&Pasteで打ち込むと楽です。何故ならWindowsの無線LAN設定でも同じ文字列を入力しなければいけないからです。

さて、Windows側の設定ですが、以下の画面を参考にして設定してください。


心配されるスループットですが、今までWEP128bitの暗号化で通信していたのですが、その時は21Mbps程度で、今回のWPA-TKIPでは20Mbps強といったところでした。びっくりするくらい速度は落ちません。きっと誤差程度だと思いますが。当然WPA-TKIPではパケット毎に暗号キーを変えて通信するため、WEPよりは遅くなっているんだと思います。

2004/4/14

バッファロー無線LANでWDS(Internet)

はじめに

Intelの802.11g対応MiniPCIカード「Intel PRO/Wireless 2200BG」が手に入ったので今までBIBLOに装着していたバッファローのWLI-MPCI-G54を元の筐体であるWLA-G54に戻した。そうしたら無線アクセスポイントが一つ余ってしまった。

そこで、無線AP間通信機能である「WDS」の通信性能を評価してみた。

設定内容

無線APはWLA-G54CとWLA-G54があり、二つとも以下の設定を行った。

無線モード 11b/11g auto
暗号化 WEP 128bit
MACアドレス制限 あり
チャンネル 10(近隣に重複するAPはなし)

パフォーマンス測定方法

FreeBSD上の巨大なファイルをBIBLOからFFFTPを使用してダウンロードさせ、転送中に表示されるスループットの一番良い数値を選ぶ方式を取る。

接続構成は以下の4パターンで行い、WDS接続でどの程度スループットが落ちるのかを評価する。

パターン1:直付け

スイッチングハブは途中に入っているが、100baseTでの直付け状態でスループットを計る。

パターン2:通常の無線アクセス

WLA-G54Cを使い、802.11gでFTPサーバにアクセスする構成。

パターン3:WDS接続(AP間のみ)

無線AP間をWDSに設定し、BIBLOは有線でAPに接続する構成。

パターン4:WDS接続(BIBLO:AP、AP:AP)

パターン3を更にBIBLOと無線AP間も無線で接続した構成。つまり、WLA-G54には電源以外の線は繋がっていない状態。

測定結果

パターン 転送速度(bps)
パターン1:直付け 63.0Mbps
パターン2:通常の無線アクセス 18.1Mbps
パターン3:WDS接続(AP間のみ) 17.7Mbps
パターン4:WDS接続(BIBLO:AP、AP:AP) 10.1Mbps

測定は一回しか行っていないのと、BIBLOでは各種アプリも動作していたため、ベストな数値にはなっていないと思われます。逆に言えば普通にパソコンを利用している状態での転送速度は上記の程度という事にもなります。

結論

パターン3のAP間のみを無線化した場合には、パターン2に比べて大してスループットが落ちていない事が分かった。つまり一般住宅の1Fと2Fを無線で繋いで、各パソコンはAPに有線で繋ぐような構成であれば我慢できるスループットだと思われる。但しインターネットが光でこれを超えるスループットが出ている場合には当然ながら全て有線で繋いだほうがいいのは当たり前である。

パターン4はやはり、二箇所無線で通信する箇所があるためスループットは半分までは行かないにしてもかなり落ちた。WDSは設定で同じチャンネルを二つのAPで設定しなければいけないので、これも起因していると思われるが、バッファローのAPの性能全体がWDSに関してはあまり早くないのでは?と思われる。

ただし、他のメーカのいわゆるブリッジタイプの無線APがどの程度の速度が出るのか知らないので、バッファローが悪いとは言い切れない。

今回はWEPの128bit暗号化を設定して、更にMACアドレスによる制限もかけているので、全体的に速度は遅くなっている筈なのだが、セキュリティ面を考えると一番妥当な評価方法だったと思われる。

2004/4/10

サーバの高速化(日記)

FreeBSDサーバを高速化した。今までのPentium II 300MHzから、ヤフオクで数百円で購入した333MHzにしました。
現在のサーバはASUSのP2L97というマザーボードを使っていて、CPUはこのPentium II 333MHzが載せられる最大で、HDDなんかは80GBのを積んでいるにも関わらず、32GBしか認識してくれません(涙)。

それでも、メモリは豪勢に320MB乗っています。mod_perlでMTの再構築が走ってもオンメモリでさくさく動いてくれます。元々コンソールレスなのでビデオカードなんか適当に拾ってきたやつ使っているし。

というわけで、1.11倍早くなったwww.hijiki.netをこれからもよろしくお願いします♪

2004/4/ 6

FreeBSD 4.9RでDNSサーバ(FreeBSD)

はじめに

So-netのDNSサーバは夜になるとよく、問い合わせがタイムアウトしてしまい、ネットは混んでいないのに目的のページが表示できない事があります。

詳しい人数は不明ですが、大量の会員を抱えてDNSサーバが二つだけというのは非常に厳しいのではと思います。

実験としてFreeBSD 4.7R-p4に標準で付いてくるnamed 8.3.6-REL-p1を使用して自分専用のDNSサーバを構築してみました。

結果として上手くいったのですが、キャッシュされていないアドレスの問い合わせが非常に時間がかかり(500ms〜)、実用的でないのと、やっぱり限られたルートサーバの資源に個人ベースのネットワークから問い合わせを行うのはネットマナー的に問題ありそうなので、止めました。

一応本エントリでお手軽DNSサーバ構築(ローカルな名前も解決)手順を示しますが、実践はしないほうがいいと思います。

localhostの設定を行う

/etc/namedb配下に移動します。

make-localhostというスクリプトがあるのでshから実行すると、ドメイン名を聞いてくるので適当に入力します。するとlocalhost.revとlocalhost-v6.revの二つのファイルが作成されます。

# cd /etc/namedb
# sh make-localhost
Enter your domain name: example.com
#

named.rootの更新を行う

ルートサーバの設定ファイル(named.root)を最新のものに更新します。

/etc/namedb配下でfetchコマンドを使って最新の一覧をダウンロードしてきます。

# cd /etc/namedb
# mv named.root named.root.bak
# fetch ftp://ftp.rs.internic.net/domain/named.root

LAN内ホストの登録を行う

上の設定だけで、namedを起動すれば、もう外向けのアドレス解決はルートサーバ経由で取得できるのですが、それだけでは芸が無いのでLAN内のホストの問い合わせも出来るようにしましょう。

/etc/namedb/named.confに以下の行を追加します。

zone "example.com" {
        type master;
        file "named.zone";
};

zone "0.168.192.IN-ADDR.ARPA" {
        type master;
        file "named.rev";
};

/etc/namedb/named.zoneにはホスト名に対応したIPアドレスを列挙します。以下に例を示します。

$TTL 600

@       IN      SOA     penpen.example.com. root.penpen.example.com.  (
                                2004040601      ; Serial
                                600     ; Refresh
                                300     ; Retry
                                604800  ; Expire
                                600 )   ; Minimum
        IN      NS      penpen.example.com.
        IN      PTR     localhost.example.com.

linksys         IN      A       192.168.0.1
kerokero        IN      A       192.168.0.2
gumi            IN      A       192.168.0.3
penpen          IN      A       192.168.0.4
pm890c          IN      A       192.168.0.5

/etc/namedb/named.revにはIPアドレスに対応したホスト名を列挙します。以下に例を示します。

$TTL 600

@       IN      SOA     penpen.example.com. root.penpen.example.com.  (
                                2004040601      ; Serial
                                600     ; Refresh
                                300     ; Retry
                                604800  ; Expire
                                600 )   ; Minimum
        IN      NS      penpen.example.com.

1       IN      PTR     linksys.example.com.
2       IN      PTR     kerokero.example.com.
3       IN      PTR     gumi.example.com.
4       IN      PTR     penpen.example.com.
5       IN      PTR     pm890c.example.com.

resolv.confの設定

先ずはFreeBSDサーバ(自分自身)から自分のDNSサーバを利用して名前解決をするように設定します。

/etc/resolv.confを以下の様に設定します。

domain         example.com
nameserver     localhost
search         example.com

namedの起動

それではnamedを起動しましょう。特に引数はなくていいです。namedと打ち込みましょう。

# named

あとはnslookupで色々ローカル内やインターネット上のホスト名を打ち込んでIPアドレスが正しく引けるか確かめます。

問題なければ/etc/rc.confに以下の一行を追加しておきます。そうすれば次回再起動時にもnamedが自動で起動します。

named_enable="YES"

(おまけ)ローカル用にDNSサーバを立てる

外向けの名前解決にはプロバイダが提供しているDNSサーバを利用して、ローカルな名前解決も行いたい場合には以下の設定を/etc/namedb/named.confに設定します。

option欄にforwarders, forward, allow-queryの三行を追加し、zone "."のブロックをコメントアウトします。

太字の部分はあなたが提供されているプロバイダのDNSサーバアドレスを指定してください。

options {
        directory "/etc/namedb";
        forwarders { 202.238.95.24; };
        forward only;
        allow-query { 192.168.0.0/24; };
};

/*
zone "." {
        type hint;
        file "named.root";
};
*/