はじめに
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の短縮です。c1文字でも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 「接続設定(証明書)」関連の説明を追記





