2022 年度 OSS リテラシー 3 : wi-fi (WPA2 Enterprise) の設定
校内無線 LAN ネットワークへの接続
松江高専の無線 LAN ネットワークに接続するために, WPA2 Enterprise の設定を行う.
無線 LAN 関係の設定ファイルは /etc/wpa_supplicant/wpa_supplicant.conf である. この設定ファイルをエディター (vi, nano, leafpad 等) で編集し, アクセスポイントの情報を追加する. なお, シェルにはタブ補完という便利機能があるので使ってみると良い (例えば, /e まで打ったところでタブを押すと /etc となる. /etc/wp まで打ったところでタブを押すと /etc/wpa_supplicant となる).
個人のパスワードを平文で設定ファイルに書き込むのはセキュリティ的に問題がある. 暗号化したパスワードを設定ファイルに保存することにする.
$ read -s pass ******** (Wi-Fi に接続するためのパスワードを入力.入力値は表示されない) $ echo -n "$pass" | iconv -t utf16le | openssl md4 (stdin)= YYYYYYYYYYYYYYYYYYYYYYYY
この (stdin)= の後に続く YYYYYYYYYYYYYYYYYYYYYYYY が暗号化したパスワードである. これを用いて無線 LAN 関係の設定ファイルを書き換える. この機会に 5 棟, 6 棟の無線 LAN アクセスポイントも追加しておくと良いだろう.
$ cd $ wget https://www.gfd-dennou.org/arch/iotex/oss/IoTeX_2022/wpa_supplicant.conf $ sudo cp /etc/wpa_supplicant/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant.conf.bk $ sudo cp ~/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant.conf $ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=JP network={ ssid="H510W_pub" key_mgmt=WPA-EAP eap=PEAP identity="jXXXX" (学生番号. ダブルクォーテーションで囲む) password=hash:YYYYYYYYYYYYYYYYYYYYYYYY (上記の (stdio)= 以降の文字列のコピペ. hash: という文字列を付けるのを忘れずに. ダブルクォーテーションで囲まないこと) } ... 以下,略 ...
設定を有効にする./etc/init.d の下に wpa_supplicant の起動スクリプトが 置かれていないようなので,ここでは wpa_supplicant のプロセスに HUP をかける.
プロセス一覧は以下で表示することができる.
$ pa aux
wpa_supplicant のプロセス番号を調べ,それらに HUP をかける. (/etc/init.d/XXX restart や systemctl restart XXX で内部的に行われていることを手動で行ったにすぎない).
$ pgrep wpa_supplicant 442 551 $ sudo kill -HUP 442 551
正しく設定されていれば校内の無線 LAN ネットワーク (H520W_pub, H530W_pub, H540W_pub) に接続できるはずである.
ifconfig でネットワークパラメタを, iwconfig で wifi 関連のパラメタを確認できる. もしも wlan0 が表示されない場合は,wifi の電源が切れている可能性が高い. デスクトップ右上のネットワークのアイコンをクリックして,"Turn on wifi" とすること.
$ ifconfig ...(略)... wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.163.64.185 netmask 255.255.255.0 broadcast 10.163.64.255 inet6 fe80::16d8:a409:bd12:9f61 prefixlen 64 scopeid 0x20<link> ether bc:5c:4c:58:36:46 txqueuelen 1000 (イーサネット) RX packets 27 bytes 6841 (6.6 KiB) RX errors 0 dropped 1 overruns 0 frame 0 TX packets 39 bytes 6111 (5.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 $ iwconfig wlan0 IEEE 802.11gn ESSID:"H540W_pub" Nickname:"<WIFI@REALTEK>" Mode:Managed Frequency:2.472 GHz Access Point: 6C:DD:30:3E:83:40 Bit Rate:72.2 Mb/s Sensitivity:0/0 Retry:off RTS thr:off Fragment thr:off Power Management:off Link Quality=39/100 Signal level=31/100 Noise level=0/100 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
トラブルシューティング
もしも無線 LAN に接続できない場合は, 設定ファイルが間違っている可能性が高い. 間違いを探すときは, 手動で以下の順にコマンドを実行すると良い. エラーの原因となる行番号が表示される.
wpa_supplicant のプロセス番号を調べる
$ pgrep wpa_supplicant 354 405 423
もし例のようにプロセス番号が表示されたらそれを KILL する. 表示がなければ次に進んで良い.
$ sudo kill -KILL 354 405 423
wpa_supplicant コマンドを実行する.
# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf