iwd
IWD (iNet wireless daemon) は Intel によって書かれた Linux 用の無線デーモンで、WPA supplicant を置き換えることを目指しています [1]。IWD はスタンドアロンでも動作しますが ConnMan や NetworkManager と組み合わせて使うこともできます。
IWD には ELL という名前の独自の暗号ライブラリが付属しており、Linux カーネルの暗号機能と直接繋がるなど様々な改良がされています。IWD はシンプルかつセキュアで新しいアプローチを取っています。
目次
インストール
使用方法
iwd パッケージにはクライアントプログラムの iwctl とデーモンの iwd、そして Wi-Fi 監視ツールの iwmon が含まれています。
iwd デーモンを実行したら (iwd.service を起動・有効化)、iwctl コマンドを使って制御することができます。
iwctl
iwctl を実行するインタラクティブプロンプトが表示されます。iwctl プロンプトでは [iwd]# が前に付きます。実行したいコマンドを入力してください。
利用可能なコマンドを表示:
[iwd]# help
全ての wifi デバイスを一覧表示:
[iwd]# device list
ネットワークをスキャン:
[iwd]# device interface scan
ネットワークを一覧表示:
[iwd]# device interface get-networks
WPA2 で保護されたネットワークに接続 (パスフレーズの入力が求められます):
[iwd]# device interface connect network_name
WiFi デバイスの詳細情報 (MAC アドレス・接続状態・接続ネットワークなど) を表示:
[iwd]# device interface show
既知のネットワークを一覧表示:
[iwd]# known-networks list
既知のネットワークの情報を消去:
[iwd]# known-networks forget network_name
WPA Enterprise
EAP-PWD
EAP-PWD で保護されたエンタープライズアクセスポイントに接続するには /var/lib/iwd フォルダに以下の内容で essid.8021x という名前のファイルを作成する必要があります:
/var/lib/iwd/essid.8021x
[Security] EAP-Method=PWD EAP-Identity=your_enterprise_email EAP-PWD-Password=your_password [Settings] Autoconnect=True
アクセスポイントに自動接続したくない場合、Autoconnect オプションを False に設定して iwctl で手動でアクセスポイントに接続してください。パスワードを平文で保存したくない場合は、ファイルからパスワードの設定を外してください。
任意設定
メインの設定は /etc/iwd/main.conf ファイルで行います。
ネットワーク (SSID) の設定は /var/lib/iwd ディレクトリを使用します。
特定のネットワークで自動接続を無効化
/var/lib/iwd/network.type ファイルを作成・編集してください (network はネットワークの SSID に、type は "open", "wep", "psk", "8021x" のどれかのネットワークタイプに置き換えてください)。そしてファイルに以下のセクションを追加してください:
/var/lib/iwd/spaceship.psk
[Settings] Autoconnect=false
コンソール (ローカル) ユーザーが設定を変えられないようにする
デフォルトでは iwd の D-Bus インターフェイスは (たとえユーザーが "root" でなくても) 誰でも iwd デーモンに接続して設定を変更できるようになっています。
コンソールユーザーが設定を編集できないようにしたい場合、以下のように D-Bus 設定ファイルを作成してください:
/etc/dbus-1/system.d/iwd-strict.conf
<!-- prevent local users from changing iwd settings, but allow
reading status information. overrides some part of
/usr/share/dbus-1/system.d/iwd-dbus.conf. -->
<!-- This configuration file specifies the required security policies
for iNet Wireless Daemon to work. -->
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<policy at_console="true">
<deny send_destination="net.connman.iwd"/>
<allow send_destination="net.connman.iwd" send_interface="org.freedesktop.DBus.Properties" send_member="GetAll" />
<allow send_destination="net.connman.iwd" send_interface="org.freedesktop.DBus.Properties" send_member="Get" />
<allow send_destination="net.connman.iwd" send_interface="org.freedesktop.DBus.ObjectManager" send_member="GetManagedObjects" />
<allow send_destination="net.connman.iwd" send_interface="net.connman.iwd.Device" send_member="RegisterSignalLevelAgent" />
<allow send_destination="net.connman.iwd" send_interface="net.connman.iwd.Device" send_member="UnregisterSignalLevelAgent" />
</policy>
</busconfig>