はじめに
eduroamを使って在籍大学ではない大学でもwifi接続したいと思い、接続を試みました。ですが、大学やeduroamの接続手順はwindows, mac, android, iOSのものしかなく、公式のlinux用が存在しなかった(見つからなかった)ので、まとめようと思ったことがきっかけでこの記事を書きました。
目次
前提条件
- OS :
- Linux
- ディストリビューション :
- Ubuntu18.04LTS
- 接続するときの状況 :
- eduroamに参加している大学で、アカウントを持っている。
- 証明書での接続するときの状況 :
- eduroamに参加している大学で、アカウントを発行していて証明書もダウンロードしている
- その証明書のパスは
~/eduroam-1234.p12
接続設定(GUI)
設定項目 | 設定値 |
---|---|
Wi-Fi security | WPA & WPA2 Enterprise |
Authentication | 保護付きEAP(PEAP) |
Anonymous identity | Usernameと同じ |
Domain | 空のまま |
CA証明書 | Security Communication RootCA2 を選択(詳細後述) |
PEAP version | 自動 |
Inner authentication | MSCHAPv2 |
Username | 発行されたアカウント名 |
Username | 発行されたパスワード |
CA証明書の場所(Ubuntu18.04LTSにおいて)
CA証明書は/usr/share/ca-certificates/mozilla/Security_Communication_RootCA2.crt
に存在する。
これをCA証明書の欄で選択する。
設定例
私の所属する大学では、メールアドレスがアカウント名として用いられ、パスワードはマイページみたいなところで設定したものと同じものでした。
なので、以下のような設定になります。
※Username・パスワード・Anonymoud identityはでたらめですが、他は以下の通りでいいです。
接続設定(CUI)
これは実際に手元で実行して確認したわけではありません。
個人的にはこういう設定系はGUIで設定したほうが変なことをしないで済みそうなので、GUIでの設定をオススメします。
どうしてもだめな場合、こちらを試してみてください。
-
wifiのデバイスのインターフェース名の調査
$ ip a | grep w 3: w...:...
※実際の表示は
w...:...
ではなく、w
のあとに色々続きますが、なんとなくセキュリティ面から危険な気がするので、全部表示するのは控えます。(ただの勉強不足でしたら、すいません。)
ですが、たいていのwifiデバイスのifnameは wから始まるそうです。ここではifnameが
wtmp
だったとして、説明します。 -
eduroamの登録
$ nmcli connection add type wifi ifname wtmp con-name eduroam ssid eduroam
-
接続設定
con
はconnection
の短縮です。c
1文字でもOKです。$ nmcli con edit id eduroam nmcli> set ipv4.method auto nmcli> set 802-1x.eap peap nmcli> set 802-1x.anonymous-identity アカウント名 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 アカウント名 nmcli> set 802-1x.password 発行されたパスワード nmcli> set wifi-sec.key-mgmt wpa-eap nmcli> save nmcli> activate nmcli> quit
-
接続有効化
$ nmcli connection up eduroam
接続設定(証明書)
前提条件にも記載の通り、ダウンロードしたeduroam用の証明書のパスは
~/eduroam-1234.p12
だとして話を進めます。
接続設定方法
証明書のインストール(発行された証明書からユーザ証明書の作成)
まず、接続する前にダウロードした証明書からユーザ証明書を作成する必要があります。
初めから、p12拡張子の秘密鍵と拡張子crtのユーザ証明書がダウンロードできる場合は以下の操作は、必要ありません。
ユーザ証明書の作成方法は以下のコマンドを実行するだけです。(参考:Linux の無線設定例)
$ cd ~/
$ openssl pkcs12 -in eduroam-1234.p12 -clcerts -nokeys -out eduroam-1234-cl.crt
これで、ユーザ証明書~/eduroam-1234-cl.crt
を得られました。
接続手順
発行された証明書のパスは、~/eduroam-1234-cl.crt
、~/eduroam-1234.p12
であるとして説明します。
-
その後、以下のように設定画面内の設定を指定する。
設定項目 | 設定値 |
---|---|
Wi-Fiセキュリティー(S) | WPA & WPA2 Enterprise |
認証(T) | TLS |
ID(D) | 発行されたアカウント名(eduroam-ID) |
ドメイン(D) | 空のまま |
CA証明書(C) | Security Communication RootCA2 を選択 (CA証明書の場所を参照) |
CA証明書のパスワード(P) | 空のまま(入力できない) |
User証明書(C) | ~/eduroam-1234-cl.crtを選択 |
User証明書のパスワード(P) | 空のまま(入力できない) |
User private key | ~/eduroam-1234.p12を選択 |
User キーパスワード(P) | ~/eduroam-1234.p12のパスワード |
CA証明書の場所(Ubuntu20.04LTSにおいて)
CA証明書は/usr/share/ca-certificates/mozilla/Security_Communication_RootCA2.crt
に存在する。
これをCA証明書の欄で選択する。
接続設定例
私の所属する大学では、eduroam-IDと証明書のアカウントをそれぞれ発行し、パスワードもその時に発行されていました。
なので、以下のような設定になります。
※ID・パスワード・証明書のファイル名はでたらめですが、他は以下の通りでいいです。
参考文献
編集履歴
- 2021/3/23 新規作成
- 2022/6/22 「接続設定(証明書)」関連の説明を追記