「車輪の再実装」って言葉が好き(実践はできてない)

Linux (Ubuntu 18.04) からUTokyo WiFiに接続する (GUI編+CLI編)

UTokyo WiFiの公式ページの記載だけでは、Ubuntuからうまく接続できなかったので、 またOSをふっ飛ばして再インストールするであろう将来の自分に向けて接続方法のメモ

GUI

f:id:progrunner17:20191112171005p:plain
設定例

以下のように設定すれば接続できるはず。

設定項目 設定値
Wi-Fi security WPA & WPA2 Enterprise
Authentication 保護付きEAP(PEAP)
Anonymous identity 学生証に書かれた10桁の番号@utac.u-tokyo.ac.jp
Domain 空のまま
CA証明書 Security Communication RootCA2 を選択(詳細後述)
PEAP version 自動
Inner authentication MSCHAPv2
Username 発行されたid
Username 発行されたパスワード

なお、Ubuntu 18.04 (Desktop)の場合

/usr/share/ca-certificates/mozilla/Security_Communication_RootCA2.crt に 必要な証明書がすでに存在するので、それをCA証明書の欄で選択する。

CLI

NetworkManager(nmcliコマンド)を用いる。 以前Lubuntuを使った際はデフォルトのGUIの設定からは設定できなかったが、このコマンドでは設定可能だったので、汎用性も高そう

$ ip a | grep w # wifiのデバイスのインターフェース名の調査
2: wlo1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
# たいていwifiデバイスのifnameは wから始まる気がする。
# ここではwlo1を使用
$ nmcli connection add type wifi ifname wlo1 con-name UTOKYO_WIFI ssid UTokyo-WiFi
$ nmcli con edit id UTOKYO_WIFI # con は connection の短縮。 c1文字でもOK
nmcli> set ipv4.method auto
nmcli> set 802-1x.eap peap
nmcli> set 802-1x.anonymous-identity 10桁の番号@utac.u-tokyo.ac.jp
nmcli> set 802-1x.phase2-auth mschapv2
nmcli> set 802-1x.ca-cert /usr/share/ca-certificates/mozilla/Security_Communication_RootCA2.crt 
nmcli> set 802-1x.identity 発行されたID
nmcli> set 802-1x.password 発行されたパスワード
nmcli> set wifi-sec.key-mgmt wpa-eap
nmcli> save
nmcli> activate
nmcli> quit

なお、nmcliのコマンドについては以下も知っておくと良さそう。

$ # 設定一覧の表示
$ nmcli connection show
$ # 設定の有効化(wifiへの接続)
$ nmcli connection up 設定名 # 上記の設定の場合、設定名は UTOKYO_WIFI
$ # 設定の非有効化(wifiの切断)
$ nmcli connection down 設定名 # 上記の設定の場合、設定名は UTOKYO_WIFI

nmcli con showでみた限り、この設定名(con-name)、たいていはssid名が直接使われていそうな気がするし、そうした方が良かったかも?

この他、nmcliを使用した(wifiの)設定方法は以下を見ると良さそう
access.redhat.com

netplan(追記)

netplan.io

Ubuntu18.04等だとnetplanでも設定できるらしい? なんとなく、yamlに平文でパスワードを書くのは気が引けるけど、nmcliなら良いかというとそれもわからないし、結局は好みなのかな...?