web-dev-qa-db-ja.com

Linuxシステムのコマンドラインからiwd(Linux用のワイヤレスデーモン)を介してwifiに接続します

iwd は、Intelとwpasupplicantの後継者によってリリースされたLinux用の新進気鋭のワイヤレスデーモンです。 iwdの開発はまだ 進行中 ですが、いくつかのLinuxディストリビューションGentoo、Arch-linux、Ubuntu(Cosmic)、および DebianBuster and Sid).. ..

ネットワークと接続の構成は、iwctlを使用したインタラクティブモードで可能です。helpコマンドは、使用可能なコマンドのリストを表示します(マンページなし)。

インタラクティブモードを使用せずに:

1)Wi-Fi資格情報を手動で構成するにはどうすればよいですか?

2)iwctlを介して構成済みのwifiに接続するにはどうすればよいですか?

3)起動時にwifi接続を自動的に有効にするにはどうすればよいですか?

1
GAD3R

1)非対話型モードから、利用可能なアクセスポイントをスキャンして一覧表示できます。

iwctl station wlp8s0 scan
iwctl station wlp8s0 get-networks

Wi-Fi資格情報は/var/lib/iwdの下に保存され、SSIDの正確な名前を使用する必要があります。形式は次のとおりです。

SSID.psk 

コンテンツ:

[Security]
PreSharedKey=encripted-password
Passphrase=the-plain-txt-password

最小構成ファイルには、暗号化されたWi-Fiパスワード(PreSharedKey)が含まれている必要があります

暗号化されたpskを生成するには、wpa_passhraseツールを使用できます。

wpa_passhrase "My-SSID" passphrase

「MySSID」とmysecretpasswordを使用した例があります。

$ cat My\ SSID.psk
[Security]
PreSharedKey=8e1e64a6ecaf2b5e0aa29816547af300d7f3b0473bbfa56ddb5514ad4683804c

2)ターミナルから接続するには:

iwctl station <INTERFACE> connect "SSID" 

例えば:

iwctl station wlp8s0 connect "My SSID"
dhclient

dhclientをiproute2コマンドに置き換えて、wlp8s0にIPアドレスを割り当てることができます。

3)起動時にwifi接続を自動的に有効にするには、systemdサービスを使用する方法があります。

接続するための最小限のスクリプト:

$ cat /usr/local/enable-wifi.sh

#!/bin/bash
iwctl station wlan0 connect "My SSID" 
dhclient

Systemdサービスを作成します。

$ cat /etc/systemd/system/enable-wifi.service

[Unit]
Before=network.target
Wants=network.target

[Service]
ExecStart=/usr/local/enable-wifi.sh

[Install]
WantedBy=default.target

その後:

# chmod 744 /usr/local/enable-wifi.sh
# chmod 664 /etc/systemd/system/enable-wifi.service
# systemctl daemon-reload
# systemctl enable enable-wifi.service

ドキュメンテーション:

Arch-linux wiki: iwd

3
GAD3R