学内Wi-Fiにwifi-menuコマンドでつなごうとした話(Arch)(eduroamもそうでないものも)
この記事を実践するときは自己責任で。
ども、BobbyQuineです。試験勉強で寝不足過ぎて死にそうです。
さて、今回は大学のWi-Fiにwifi-menuでつなごうとしたお話です。
大学名はとりあえず書きませんが、とりあえず条件としては
・ユーザー名とパスワード必須
・CA証明書必要
ってな感じで。あと、ネットワークに関しては疎いので間違いなんかもあると思います。ぶっちゃけCA証明書なくても動いちゃうってどゆこと??
wifi-menuを直接立ち上げてつなごうとしたら動かなかった件
まずは普通に
$ sudo wifi-menu
で立ち上げて学内Wi-Fiのssidを探してそれをつなごうとしたら、そもそもユーザー名の入力画面が現れず...。多分詳しい人からは「そりゃそうだw」とかって言われちゃうかもですが。
wifi-menuの設定ファイルはどこにあるのか
そもそもではwifi-menuコマンドは何をやってるのかって調べてみた。するとどうやらnetctlコマンドを裏でやってるっぽい。なのでつまりはnetctlのwifi設定ファイルを探せば良いということに。
netctlのファイルを直接編集
どうやら設定ファイルは " /etc/netctl/ " にあるらしい。
で、ここからは
https://www.reddit.com/r/archlinux/comments/30virj/netctl_on_university_wifi/
https://wiki.archlinux.jp/index.php/WPA2_Enterprise#netctl
この辺を参考にして書いた。
一応その流れも書いとく。(個人的な備忘録としてはいらないが)
とりあえず設定ファイルのディレクトリに移動
$ cd /etc/netctl
wifiのためのインターフェースを確認
$ ip link
でそれっぽいのを探す。もしくはwifi-menuで過去に自宅wi-fiなんかに繋いだことがあれば/etc/netctl/にその設定ファイルが転がってるので
$ sudo cat /etc/netctl/filename
でその中の" Interface="のところを確認。
では書いていく。イタリック体になって書かれている部分は自分の環境に置き換えること。filenameってのは基本はわかりやすくするために" インターフェース名-ssid名"となっている。基本はその例に習ったほうが良いと思う。また、このディレクトリにはrootユーザーかそれ同等の権限を付与しているユーザーでしか書き込みできない。
CA証明書は/etc/ssl/certs/にあるものとして話を進めていく(多分基本的にここにあるはず)。あと英語は全然できないので文法的な間違いは許して。設定的な文法はあってるけども。
$sudo vim filename
以下ファイルの中身------------------------------------------------------------------------------------
Description='University wifi '
Interface=interface_name
Connection=wireless
Security=wpa-configsection
IP=dhcp
ESSID=your_Universitys_SSID
WPAConfigSection=(
'ssid="your_Universitys_SSID"'
'proto=RSN'
'key_mgmt=WPA-EAP'
'pairwise=CCMP'
'group=CCMP'
'eap=PEAP'
'ca_cert="/etc/ssl/certs/CA_cert_filename"'
'identity="user_name"'
'password="password"'
'phase2="auth=MSCHAPV2"'
)
以上--------------------------------------------------------------------------------------------------------
ユーザーネームとパスワード、CA証明書は各大学で指定されていると思うので各自自分の大学のHPで確認を。
これであとはwifi-menuコマンドで今までどおりやれば繋がると思う。でもコレ、CA証明書の指定項目なくしても繋がったんだよなぁ。ちゃんと証明書機能してるのか不安だわ。詳しい人、コメントで教えてくれたら嬉しいですm(._.)m。