Ubuntu 22.04のnmcliコマンド(NetworkManager)でWi-Fiルータに接続する
目次
概要
Radxa社製のシングルボードコンピュータROCK 5BにUbuntu 22.04の公式イメージをインストールして使用していました。 PoE Hatで給電する構成を前提としてネットワークは有線LANで使用していましたが、PoE Hatとヒートシンクが干渉して取り付けできなかったため、無線LANで利用する構成に変えました。 このときに自宅のWi-Fiルータに接続して無線LANで利用するコマンドを調べたので備忘録として残しておきます。 ROCK 5BやUbuntuに特化した話ではないので、NetworkManager(nmcliコマンド)でネットワークを構成しているのであれば同様に設定できると思います。
構成
サーバ構成
ハードウェア
ROCK 5B 16GB
OS
Ubuntu 22.04 LTS aarch64
手順
事前確認
Wi-Fiルータ接続前後でnmcliコマンドの出力結果がどう変わるかを比較して見るために、接続前の状態を確認しておきます。 なお、今回試した環境は元々有線LANに接続して利用していたため、有線LANの設定が表示されています。
ネットワークデバイスの確認
まだWi-Fiルータに接続する前なので、無線LANのデバイスは切断状態になっています。 元々有線LANに接続して使用していたため、有線LANのデバイスのみが接続された状態になっています。
rock@rock-5b:~$ nmcli device DEVICE TYPE STATE CONNECTION enP4p65s0 ethernet connected Wired connection 1 ←有線LANのデバイス wlP2p33s0 wifi disconnected -- ←無線LANのデバイス wlan1 wifi disconnected -- p2p-dev-wlP2p33s0 wifi-p2p disconnected -- p2p-dev-wlan1 wifi-p2p disconnected -- lo loopback unmanaged --
ネットワークコネクションの確認
接続情報を確認しても、一つ前で確認した有線LANのデバイスに関する接続情報のみが表示されます。
rock@rock-5b:~$ nmcli connection
NAME UUID TYPE DEVICE
Wired connection 1 9af7014c-bd68-3e3a-9b1f-534accbc5935 ethernet enP4p65s0 ←有線LANの接続
IPアドレスの確認
Wi-Fi設定前なので元々設定済みだった有線LANにのみIPアドレスが設定されています。
rock@rock-5b:~$ ip a 1: lo:mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enP4p65s0: mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:e0:4c:68:01:9b brd ff:ff:ff:ff:ff:ff inet 192.168.0.112/24 brd 192.168.0.255 scope global noprefixroute enP4p65s0 ←有線LANのIPアドレス valid_lft forever preferred_lft forever inet6 fe80::7180:f7f7:6b42:699e/64 scope link noprefixroute valid_lft forever preferred_lft forever 3: wlP2p33s0: mtu 1500 qdisc mq state DOWN group default qlen 1000 ←無線LANのIPアドレスは未設定 link/ether 2c:05:47:de:ab:ff brd ff:ff:ff:ff:ff:ff 4: wlan1: mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether 2e:05:47:de:ab:ff brd ff:ff:ff:ff:ff:ff
Wi-Fiルータへ接続
SSIDとパスワードを指定したWi-Fiルータへ接続
例としてSSIDが「MYROUTER」でパスワードが「MyPassword」のWi-Fiルータへ接続する場合のコマンドは以下のとおりです。 なお、接続するとIPアドレスなどの情報はDHCPによって自動で設定されるようになっています。
rock@rock-5b:~$ sudo nmcli device wifi con MYROUTER password MyPassword Device 'wlP2p33s0' successfully activated with '11111111-3333-5555-7777-999999999999'.
事後確認
ネットワークデバイスの確認
Wi-Fiルータに接続が完了するとデバイスも接続状態に変わります。
rock@rock-5b:~$ nmcli device
DEVICE TYPE STATE CONNECTION
enP4p65s0 ethernet connected Wired connection 1
wlP2p33s0 wifi connected MYROUTER ←無線LANのデバイスが接続状態になった
wlan1 wifi disconnected --
p2p-dev-wlP2p33s0 wifi-p2p disconnected --
p2p-dev-wlan1 wifi-p2p disconnected --
lo loopback unmanaged --
ネットワークコネクションの確認
Wi-Fiルータに接続する無線LAN用のとコネクション(TYPE wifi)が自動で作成されます。
rock@rock-5b:~$ nmcli connection
NAME UUID TYPE DEVICE
Wired connection 1 9af7014c-bd68-3e3a-9b1f-534accbc5935 ethernet enP4p65s0
MYROUTER 11111111-3333-5555-7777-999999999999 wifi wlP2p33s0 ←無線LANのコネクションが追加された
IPアドレスの確認
今回試した環境ではDHCPが有効になっているので、自動でIPアドレスが割り当てられて利用できるようになりました。 今回の例の場合、先に有線LANで接続していたため、2つのIPアドレスが割り当てられた状態になっていますが、有線LANのIPアドレスは不要なため、 nmcliコマンドで有線LAN用のコネクションを削除するなどしてください。 また、固定IPにしたい場合もnmcliコマンドで設定してください。
rock@rock-5b:~$ ip a 1: lo:mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enP4p65s0: mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:e0:4c:68:01:9b brd ff:ff:ff:ff:ff:ff inet 192.168.0.112/24 brd 192.168.0.255 scope global noprefixroute enP4p65s0 valid_lft forever preferred_lft forever inet6 fe80::7180:f7f7:6b42:699e/64 scope link noprefixroute valid_lft forever preferred_lft forever 3: wlP2p33s0: mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 2c:05:47:de:ab:ff brd ff:ff:ff:ff:ff:ff inet 192.168.0.203/24 brd 192.168.0.255 scope global dynamic noprefixroute wlP2p33s0 ←無線LAN用のIPアドレスが割り当てられた valid_lft 86380sec preferred_lft 86380sec inet6 fe80::c0b0:fc96:b52d:3fd2/64 scope link noprefixroute valid_lft forever preferred_lft forever 4: wlan1: mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether 2e:05:47:de:ab:ff brd ff:ff:ff:ff:ff:ff