Featured image of post x8021をiwdで使う

x8021をiwdで使う

linuxでユーザIDとパスワードを認証に使用するwifiを使用する際の設定

私は普段 wifi を使用する際、iwd というツールを使用して接続の設定をしています。

SSID で接続先を指定し、パスフレーズを入力する方式である WPA-PSK 方式を使用する際はとても簡単に接続の設定ができるのですが、ユーザ ID とパスワードを使用した認証である、IEEE802.1X 認証を使用している wifi に接続する際、かなり苦戦したのでここに書いておきます。

今回設定する認証方式はその中でも EAP-PEAP という認証方式です。

# 結論

まず結論を言うと、例えば SSID が hogehoge という wifi に接続する場合、/var/lib/iwdhogehoge.8021xというファイルを作成し、以下のようにコンフィグを書きます。 以下はメールアドレスに[email protected]という Email が与えられた際の設定例です。

1
2
3
4
5
6
7
8
9
[Security]
EAP-Method=PEAP
[email protected]
EAP-PEAP-Phase2-Method=MSCHAPV2
EAP-PEAP-Phase2-Identity=hogefuga
EAP-PEAP-Phase2-Password=#ここにパスワードを入れる。

[Settings]
AutoConnect=true

コンフィグを作成した上で以下を実行します。

1
2
3
4
5
➜ iwctl
NetworkConfigurationEnabled: enabled
StateDirectory: /var/lib/iwd
Version: 2.8
[iwd]# station wlan0 connect SSID ←wlan0はデバイス名

# はじめに

設定にあたって、まずは Archwiki を参照しました。

iwd - ArchWiki

EAP-PEAP

EAP-PWD と同様に、フォルダー内に essid.8021x を作成する必要があります。設定ファイルの作成に進む前に、組織が使用している CA 証明証を確認する良い機会でもあります。これは MSCHAPv2 パスワード認証を使用する設定ファイルの例です:

/var/lib/iwd/essid.8021x
[Security]
EAP-Method=PEAP
[email protected]
EAP-PEAP-CACert=/path/to/root.crt
EAP-PEAP-ServerDomainMask=radius.realm.edu
EAP-PEAP-Phase2-Method=MSCHAPV2
[email protected]>
EAP-PEAP-Phase2-Password=hunter2`
[Settings]
AutoConnect=true

iwd - ArchWiki
とありましたが、CA 証明書を持っているわけでもなく、実際につなぐために必要な情報が足りずスタックしていました。

# 解決法

# ドメインを確定させる

とりあえずつなぐことができるデバイスでつないでみて、必要な情報を取ってくることにしました。

drawing

スマホで接続できるであろうドメインを探して、接続できたドメインを登録しました。

証明書無しでスマホで接続できたということは、iwd でも同じような手法を用いれば接続できると思い、調べることにしました。

# 証明書なしでの接続方法を調べる

iwd 8021 without cert などと検索してみると、次のような書き込みを発見しました。

I just had to figure this out today as I’m finally back to campus and did a fresh arch install on an old laptop (in general I like iwd better that netctl, but this took a while to figure out). My school does not require a certificate and in fact I couldn’t figure out where to find it. Also we don’t use an anonymous identity. So, YMMV, but here is my .8021x file:

[Security]
EAP-Method=PEAP
EAP-PEAP-Phase2-Method=MSCHAPV2
EAP-PEAP-Phase2-Identity=my_school_mail
EAP-PEAP-Phase2-Password=my_password

[Setting]
Autoconnect=true

I was pretty shocked when this worked!

iwd and 8021x / Newbie Corner / Arch Linux Forums
この通り設定してみたのですがうまくいきませんでした。しかしEAP-Identityを追加し、Email を入力してみたところ、うまくいきました。

# 感想

調べれば意外と早く解決できた問題でしたが、どのように検索すればよいのかという点で linux を使い始めた私にはとてもむずかしい問題でした。今回改めてこの問題に向き合ってみて、どこがだめかを分析できるようにだんだんなってきたから解決できたのかなと感じました。

これによって学内の wifi につなげることができ、SSH 接続もできるようになりました。

comments powered by Disqus
Hugo で構築されています。
テーマ StackJimmy によって設計されています。