Fedora8の無線LANでWPA-PSKを使う

ThinkPad R60eにFedora8を入れて内蔵無線アダプタを認識させたが、いまどき無線LANをセキュリティなしには使えない。うちの無線LANはWPA-PSKによる暗号化をしているが、Fedora8でもちゃんと対応している。

Fedora8では、WPAの機能はwpa_supplicantというデーモンで実現している。もしインストールされていなかったらyum install wpa_supplicantでインストールする。

次に、Pre-Shared Keyを暗号化したものを生成する。

[root@r60e ~]# wpa_passphrase MYSSID PRESHAREDKEY123
network={
        ssid="MYSSID"
        #psk="PRESHAREDKEY123"
        psk=535ea2f427b8209503d645e2e58c99644a53c20d55729fda981516c55719e356
}

ここで生成されたものを元に、/etc/wpa_supplicant/wpa_supplicant.confを作成する。

[root@r60e ~]# vi /etc/wpa_supplicant/wpa_supplicant.conf 
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel

network={
        scan_ssid=1
        key_mgmt=WPA-PSK
        ssid="MYSSID"
        #psk="PRESHAREDKEY123"
        psk=535ea2f427b8209503d645e2e58c99644a53c20d55729fda981516c55719e356
}

また、/etc/sysconfig/wpa_supplicantも設定する。ここでath0はインターフェース名、madwifiは無線LANアダプタのドライバ名で、それぞれ-i、-Dというオプション名に続けて記述する。ここではドライバをmadwifiにしたが、wextでも動いた。

[root@r60e ~]# cat /etc/sysconfig/wpa_supplicant 
INTERFACES="-iath0"
DRIVERS="-Dmadwifi"

そしてwpa_supplicantを自動的に起動するようにする。ただし順番に問題があるようで、多くのページではnetworkの前に起動する必要があると書いてあるが、うちの環境では最後に起動したらうまく行った。

起動順序を変えるには、/etc/rc.d/init.d/wpa_supplicantの#chkconfig行を書き換える

[root@r60e ~]# vi /etc/rc.d/init.d/wpa_supplicant
...
# chkconfig:   - 12 88
...
...
# chkconfig:   - 99 88
...

そしてchkconfigで自動起動を設定する。

[root@r60e ~]# chkconfig wpa_supplicant on

次に、インターフェース設定スクリプトを編集する。

[root@r60e ~]# cat /etc/sysconfig/network-scripts/ifcfg-ath0 
# Atheros Communications, Inc. AR5212 802.11abg NIC
DEVICE=ath0
ONBOOT=yes
BOOTPROTO=none
HWADDR=
NETMASK=255.255.255.0
DHCP_HOSTNAME=
IPADDR=192.168.0.3
DOMAIN=
TYPE=Wireless
USERCTL=no
IPV6INIT=no
PEERDNS=yes
ESSID=MYESSID
CHANNEL=40
RATE=Auto
GATEWAY=192.168.0.2
MODE=Managed

ここまで設定したら再起動する。うちではESSIDステルスで運用しているが、ちゃんとつながった。この更新はR60eから無線LAN経由で行っている。

なお、無線LAN関係の情報はiwconfigコマンドで参照や設定ができる。他にもiw*というコマンドはいくつかあるので、トラブルがあったときには見てみると便利。

[root@r60e ~]# iwconfig 
lo        no wireless extensions.

eth0      no wireless extensions.

wifi0     no wireless extensions.

ath0      IEEE 802.11a  ESSID:"MYESSID"  Nickname:"r60e.grandarbre.net"
          Mode:Managed  Frequency:5.2 GHz  Access Point: 00:0D:02:FE:95:69   
          Bit Rate:24 Mb/s   Tx-Power:12 dBm   Sensitivity=1/1  
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:****-****-****-****-****-****-****-****   Security mode:restricted
          Power Management:off
          Link Quality=41/70  Signal level=-54 dBm  Noise level=-95 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0