Arch LinuxでWi-Fiに接続する方法:iwdとiwctlの使い方
Arch Linuxでiwdとiwctlを使ったWi-Fi接続の手順を解説。インストールから接続、トラブルシューティングまで網羅。初心者でも安心の実践ガイド。
はじめに
Arch Linuxをインストールした後、Wi-Fiに接続する必要があります。本記事では、軽量でシンプルな無線LANデーモン「iwd」とそのクライアント「iwctl」を使ったWi-Fi接続手順を解説します。iwdはsystemd-networkdやdhcpcdと組み合わせて使うことが推奨されており、従来のwpa_supplicantよりも設定が簡単です。
1. iwdのインストールと有効化
まず、iwdパッケージをインストールします。
sudo pacman -S iwd
次に、iwdサービスを起動し、自動起動を有効にします。
sudo systemctl enable --now iwd
ステータスを確認して正常に動作しているかチェックします。
sudo systemctl status iwd
2. iwctlでWi-Fiに接続する
iwctlはiwdの対話型クライアントです。以下の手順で接続します。
2.1. iwctlを起動
sudo iwctl
プロンプトが [iwd]# に変わります。
2.2. Wi-Fiデバイスの確認
[iwd]# device list
利用可能な無線インターフェースが表示されます。通常は wlan0 などです。
2.3. アクセスポイントのスキャン
デバイス名が wlan0 の場合、以下のコマンドでスキャンします。
[iwd]# station wlan0 scan
2.4. 利用可能なネットワーク一覧表示
[iwd]# station wlan0 get-networks
SSIDとセキュリティ方式が表示されます。
2.5. ネットワークに接続
SSIDが MyWiFi の場合、パスワード認証なら以下のように接続します。
[iwd]# station wlan0 connect MyWiFi
パスワードを求められるので入力します。パスフレーズは表示されません。
2.6. 接続確認
[iwd]# station wlan0 show
State が connected になっていれば成功です。
2.7. iwctlを終了
[iwd]# exit
3. IPアドレスの取得(DHCP)
iwdはL2(データリンク層)までの接続を担当します。IPアドレスを取得するにはDHCPクライアントが必要です。以下に2つの方法を紹介します。
3.1. systemd-networkdを使う(推奨)
systemd-networkdはsystemdに含まれるネットワーク管理デーモンです。
まず、設定ファイルを作成します。
sudo nano /etc/systemd/network/25-wireless.network
以下の内容を記述します。
[Match]
Name=wlan0
[Network]
DHCP=yes
次に、systemd-networkdを有効化して起動します。
sudo systemctl enable --now systemd-networkd
3.2. dhcpcdを使う場合
dhcpcdは軽量なDHCPクライアントです。
sudo pacman -S dhcpcd
sudo systemctl enable --now dhcpcd@wlan0
注意:dhcpcdとsystemd-networkdを同時に使うと競合する可能性があるため、どちらか一方にしてください。
4. 自動接続の設定
iwdは接続したネットワークの情報を /var/lib/iwd/ に保存します。同じネットワークに再度接続する際は、以下のように自動的に接続されます。
ただし、自動接続を有効にするには、known-networks に設定を追加する必要があります。
sudo iwctl
[iwd]# known-networks list
[iwd]# known-networks MyWiFi set-property AutoConnect yes
[iwd]# exit
5. トラブルシューティング
5.1. デバイスが見つからない
lspci -k | grep -A 3 -i network
ハードウェアが認識されているか確認します。無線LANチップがサポートされていない場合は、追加のファームウェアが必要です。
5.2. iwdサービスが起動しない
sudo journalctl -u iwd -xe
ログを確認してエラーを特定します。権限の問題や設定ミスが原因の場合があります。
5.3. 接続はできるがインターネットにアクセスできない
DNS設定を確認します。/etc/resolv.conf が正しいか確認し、必要に応じてsystemd-resolvedを使います。
sudo systemctl enable --now systemd-resolved
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
5.4. iwctlでパスワード入力時にエラー
パスフレーズに特殊文字が含まれる場合、シングルクォートで囲むと安全です。
[iwd]# station wlan0 connect 'MyWiFi!@#'
*この記事はArch Linuxを実機で日常運用しているSioが、実際のインストール・設定経験に基づいてAI生成コンテンツをレビュー・補完しています。btrfsサブボリュームとLUKS暗号化環境で検証済みです。*
まとめ
本記事では、Arch Linuxでiwdとiwctlを使ってWi-Fiに接続する方法を解説しました。iwdはシンプルで高速な無線LAN管理ツールであり、systemd-networkdと組み合わせることで安定したネットワーク環境を構築できます。初心者の方も、手順に沿って設定すれば問題なく接続できるはずです。
さらに詳しい情報は、Arch Wikiの「iwd」ページを参照してください。