無線LAN環境を作ろう!

私のアパートは電話とパソコンスペースが別の部屋に分かれているため、LANケーブルを引いたら戸が完全に閉まらなくなってしまいました。そこで、自宅内のネットワークを無線LAN環境に置き換えることにしました。

今回はBUFFALO WLI-PCM-L11GPを2枚購入しルータとの間を無線LANで接続するようにします。ルータはFreeBSD 4.8R、ネットワークにつながるクライアントのOSはFreeBSD 4.8RとWindows Meとします。

まず、やるべきことは、とりあえずカードを差してみることです。カードを差してみると、私の環境では、以下のように認識されました。

wi0 at port 0x240-0x27f irq 4 slot 1 on pccard1
wi0: 802.11 address: 00:02:2d:a7:2d:ca
wi0: using Lucent Technologies, WaveLAN/IEEE
wi0: Lucent Firmware: Station 8.36.01

どうやら、正常に認識されているようです。そこで、ifconfigを使って確認してみます。

% ifconfig wi0
wi0: flags=8843 mtu 1500
        inet xxx.xxx.xxx.xxx netmask 0xffffff00 broadcast xxx.xxx.xxx.xxx
        inet6 xxxx::xxx:xxxx:xxxx:xxxx%wi0 prefixlen 64 scopeid 0x5 
        ether xx:xx:xx:xx:xx:xx
        media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
        status: associated
        ssid xxxxxxxx 1:""
        stationname "FreeBSD WaveLAN/IEEE node"
        channel 7 authmode OPEN powersavemode OFF powersavesleep 100
        wepmode OFF weptxkey 1

まだ何も設定していないのに、ssidにはidが設定されています。どうやら、近所にWaveLANの局があり、その設定を拾ってしまっているようです。ちょっと問題なので、とりあえずman ifconfigとman wicontrolしたり、googleで検索してみると、ssid、stationname、channelを設定するとよさそうだということが分かりました。そこで、ifconfigでルータの設定をしてみます。

# ifconfig wi0 inet xxx.xxx.xxx.xxa netmask xxx.xxx.xxx.xxx ssid test stationname host1 channel 1

この状態でクライアント側の設定を行なわずに起動してみます。すると、WaveLANでの自動接続は行なわれませんでした。

そこで、次にクライアント側もクライアントも同様に設定してみます。

# ifconfig wi0 inet xxx.xxx.xxx.xxb netmask xxx.xxx.xxx.xxx ssid test stationname host2 channel 1

ためしにpingを実行してみると、ちゃんと接続されているようです。そこで次に、WEPの設定も行なってみます。

# ifconfig wi0 inet xxx.xxx.xxx.xxb netmask xxx.xxx.xxx.xxx ssid test stationname host1 channel 1 weptxkey 1 wepkey 1:testmode_key
# ifconfig wi0 inet xxx.xxx.xxx.xxb netmask xxx.xxx.xxx.xxx ssid test stationname host2 channel 1 weptxkey 1 wepkey 1:testmode_key

双方を再起動してみると、問題なく接続できました。しかし、本当に通信がWEPで暗号化されているのかどうかを確認する手段がありません。仕方がないので、WEPについてはとりあえず放っておくことにします。

次に、起動時にWaveLANの設定が行なわれるように、/etc/rc.confを編集します。

ifconfig_wi0="inet xxx.xxx.xxx.xxa netmask xxx.xxx.xxx.xxx ssid $ssid_name stationname $station_name channel $channel_id wepmode on weptxkey 1 wepkey 1:$key1 wepkey 2:$key2 wepkey 3:$key3 wepkey 4:$key4
ifconfig_wi0="inet xxx.xxx.xxx.xxb netmask xxx.xxx.xxx.xxx ssid $ssid_name stationname $station_name channel $channel_id wepmode on weptxkey 1 wepkey 1:$key1 wepkey 2:$key2 wepkey 3:$key3 wepkey 4:$key4

さらに、Wiconf.shを/usr/local/etc/rc.dに置きます。

#!/bin/sh
if=wi0
        $wicontrol -i $if -p 1
        $wicontrol -i $if -c 1

ここで、$ssid_name、$station_name、$channel_id、$key1、$key2、$key3、$key4は変数です。この設定で問題がないかどうか、全体を再起動してみます。問題ないようです。残すは、WEPの確認だけです。

参考資料
UNIX計算機を802.11無線基地局として利用するには
[bsd-nomads:15190] Re: 無線のアクセスポイント
追記
ftpで計測してみたら、3.7Mbps程度出ています。

Copyright(C) 2001-2008 ykondou.org
webmaster@ykondou.org
Key fingerprint = 7721 FB0E 42CC 2BD3 DB09 5868 3EC7 B5D2 B75C 5DAA

Valid CSS! Valid HTML 4.01!