私のアパートは電話とパソコンスペースが別の部屋に分かれているため、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=8843mtu 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の確認だけです。