「Iwd」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎使用方法: 英語版に差し替え)
(→‎参照: add == Troubleshooting ==)
173行目: 173行目:
   
 
{{Tip|''<allow>'' 行を削除するとネットワークの状態を読み出すこともできなくなります。}}
 
{{Tip|''<allow>'' 行を削除するとネットワークの状態を読み出すこともできなくなります。}}
  +
  +
== Troubleshooting ==
  +
  +
=== Verbose TLS debugging ===
  +
  +
This can be useful, if you have trouble setting up MSCHAPv2 or TTLS. You can set the following [[environment variable]] via a [[drop-in snippet]]:
  +
  +
{{hc|/etc/systemd/system/iwd.service.d/tls-debug.conf|2=
  +
[Service]
  +
Environment=IWD_TLS_DEBUG=TRUE
  +
}}
  +
  +
Check the iwd logs afterwards via {{ic|journalctl -u iwd.service}}
  +
  +
=== Connect issues after reboot ===
  +
  +
A low entropy pool can cause connection problems in particular noticeable after reboot. See [[Random number generation]] for suggestions to increase the entropy pool.
  +
  +
=== Wireless device is not renamed by udev ===
  +
  +
Since version 1.0, iwd disables predictable renaming of wireless device. It installs the following systemd network link configuration file which prevents udev from renaming the interface to {{ic|wlp#s#}}:
  +
  +
{{hc|1=/usr/lib/systemd/network/80-iwd.link|2=
  +
[Match]
  +
Type=wlan
  +
  +
[Link]
  +
NamePolicy=keep kernel
  +
}}
  +
  +
As a result the wireless link name {{ic|wlan#}} is kept after boot. This resolved a race condition between ''iwd'' and [[udev]] on interface renaming as explained in [https://iwd.wiki.kernel.org/interface_lifecycle#udev_interface_renaming iwd udev interface renaming].
  +
  +
If this results in issues try masking it with:
  +
  +
# ln -s /dev/null /etc/systemd/network/80-iwd.link
   
 
== 参照 ==
 
== 参照 ==

2021年2月15日 (月) 21:56時点における版

関連記事

IWD (iNet wireless daemon) は Intel によって書かれた Linux 用の無線デーモンで、WPA supplicant を置き換えることを目指しています [1]。IWD はスタンドアロンでも動作しますが ConnManNetworkManager と組み合わせて使うこともできます。

IWD には ELL という名前の独自の暗号ライブラリが付属しており、Linux カーネルの暗号機能と直接繋がるなど様々な改良がされています。IWD はシンプルかつセキュアで新しいアプローチを取っています。

インストール

iwd パッケージをインストールしてください。

使用方法

iwd パッケージにはクライアントプログラムの iwctl とデーモンの iwd、そして Wi-Fi 監視ツールの iwmon が含まれています。

iwd デーモンを実行したら (iwd.service起動有効化)、iwctl コマンドを使って制御することができます。

iwctl

To get an interactive prompt do:

$ iwctl

The interactive prompt is then displayed with a prefix of [iwd]#.

ヒント:
  • In the iwctl prompt you can auto-complete commands and device names by hitting Tab.
  • To exit the interactive prompt, send EOF by pressing Ctrl+d.
  • You can use all commands as command line arguments without entering an interactive prompt. For example: iwctl device wlan0 show.

To list all available commands:

[iwd]# help

Connect to a network

First, if you do not know your wireless device name, list all Wi-Fi devices:

[iwd]# device list

Then, to scan for networks:

[iwd]# station device scan

You can then list all available networks:

[iwd]# station device get-networks

Finally, to connect to a network:

[iwd]# station device connect SSID
ヒント: The user interface supports autocomplete, by typing station and Tab Tab, the available devices are displayed, type the first letters of the device and Tab to complete. The same way, type connect and Tab Tab in order to have the list of available networks displayed. Then, type the first letters of the chosen network followed by Tab in order to complete the command.

If a passphrase is required, you will be prompted to enter it. Alternatively, you can supply it as a command line argument:

$ iwctl --passphrase passphrase station device connect SSID
ノート:
  • iwd automatically stores network passphrases in the /var/lib/iwd directory and uses them to auto-connect in the future. See #Network configuration.
  • To connect to a network with spaces in the SSID, the network name should be double quoted when connecting.
  • iwd only supports PSK pass-phrases from 8 to 63 ASCII-encoded characters. The following error message will be given if the requirements are not met: PMK generation failed. Ensure Crypto Engine is properly configured.

Connect to a network using WPS/WSC

If your network is configured such that you can connect to it by pressing a button (Wikipedia:Wi-Fi Protected Setup), check first that your network device is also capable of using this setup procedure.

[iwd]# wsc list

Then, provided that your device appeared in the above list,

[iwd]# wsc device push-button

and push the button on your router. The procedure works also if the button was pushed beforehand, less than 2 minutes earlier.

If your network requires to validate a PIN number to connect that way, check the help command output to see how to provide the right options to the wsc command.

Disconnect from a network

To disconnect from a network:

[iwd]# station device disconnect

Show device and connection information

To display the details of a WiFi device, like MAC address:

[iwd]# device device show

To display the connection state, including the connected network of a Wi-Fi device:

[iwd]# station device show

Manage known networks

To list networks you have connected to previously:

[iwd]# known-networks list

To forget a known network:

[iwd]# known-networks SSID forget

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>
ヒント: <allow> 行を削除するとネットワークの状態を読み出すこともできなくなります。

Troubleshooting

Verbose TLS debugging

This can be useful, if you have trouble setting up MSCHAPv2 or TTLS. You can set the following environment variable via a drop-in snippet:

/etc/systemd/system/iwd.service.d/tls-debug.conf
[Service]
Environment=IWD_TLS_DEBUG=TRUE

Check the iwd logs afterwards via journalctl -u iwd.service

Connect issues after reboot

A low entropy pool can cause connection problems in particular noticeable after reboot. See Random number generation for suggestions to increase the entropy pool.

Wireless device is not renamed by udev

Since version 1.0, iwd disables predictable renaming of wireless device. It installs the following systemd network link configuration file which prevents udev from renaming the interface to wlp#s#:

/usr/lib/systemd/network/80-iwd.link
[Match]
Type=wlan

[Link]
NamePolicy=keep kernel

As a result the wireless link name wlan# is kept after boot. This resolved a race condition between iwd and udev on interface renaming as explained in iwd udev interface renaming.

If this results in issues try masking it with:

# ln -s /dev/null /etc/systemd/network/80-iwd.link

参照