従来の構成(Bullseye まで)
Raspberry Pi OS では、Bullseye まで長く使われていた dhcpcd + wpa_supplicant.conf ベースのネットワーク管理から、Bookworm で NetworkManager ベースへ移行しました。
Bullseye 以前では、Wi-Fi 設定は主に /etc/wpa_supplicant/wpa_supplicant.conf に記述していました。
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="MyWiFi"
psk="password"
}
固定 IP は /etc/dhcpcd.conf に書く構成が一般的でした。
interface eth0
static ip_address=192.168.1.50/24
static routers=192.168.1.1
static domain_name_servers=1.1.1.1 8.8.8.8
しかし Bookworm 以降では、標準のネットワーク管理が NetworkManager ベースへ移行しました。Wi-Fi 接続情報も固定 IP 設定も、基本的には NetworkManager の接続プロファイルで管理されます。
そのため、Bookworm の標準構成では wpa_supplicant.conf や dhcpcd.conf を編集しても、期待通り動作しないケースがあります。
なぜ NetworkManager に統一されたのか
背景としては、Raspberry Pi OS がデスクトップ用途、ノート PC 的な用途、複数の Wi-Fi 接続先の切り替え、VPN、GUI 管理を重視する方向に進んだことがあります。
dhcpcd + wpa_supplicant はシンプルですが、設定ファイル編集が前提であり、複数ネットワークの切り替えや GUI 管理には向いていません。
一方、NetworkManager は以下を一括管理できます。
- Wi-Fi
- 有線 LAN
- VPN
- 固定 IP
- DNS
- 複数接続プロファイル
- 自動接続優先順位
特に Raspberry Pi Imager で Wi-Fi 情報を事前設定できるようになったことで、NetworkManager の .nmconnection 形式へ移行しやすくなりました。
Bookworm / Trixie での Wi-Fi 設定方法
Bookworm 以降では、Wi-Fi 設定は主に /etc/NetworkManager/system-connections/ 配下の .nmconnection ファイルで管理されます。
例えば、以下のようなファイルです。
[connection]
id=MyWiFi
type=wifi
interface-name=wlan0
autoconnect=true
[wifi]
mode=infrastructure
ssid=MyWiFi
[wifi-security]
key-mgmt=wpa-psk
psk=MyPassword
[ipv4]
method=auto
[ipv6]
method=auto
保存場所:
/etc/NetworkManager/system-connections/MyWiFi.nmconnection
権限も重要で、root のみが読み書きできる権限にする必要があります。
sudo chmod 600 /etc/NetworkManager/system-connections/MyWiFi.nmconnection
sudo chown root:root /etc/NetworkManager/system-connections/MyWiFi.nmconnection
こうすることで、起動時に自動接続されます。
nmcli を使った設定方法
Bookworm / Trixie では nmcli が最も扱いやすい方法です。
Wi-Fi 接続例:
nmcli device wifi connect "SSID名" password "パスワード"
固定 IP の設定例:
nmcli connection modify "MyWiFi" \
ipv4.addresses 192.168.1.50/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns "1.1.1.1 8.8.8.8" \
ipv4.method manual
設定反映:
nmcli connection down "MyWiFi"
nmcli connection up "MyWiFi"
接続状態の確認:
nmcli connection show
nmcli device status
利用可能な Wi-Fi 一覧を確認:
nmcli device wifi list
Lite 環境では nmtui も便利
GUI がない Lite 環境では nmtui も便利です。
sudo nmtui
TUI ベースで Wi-Fi 設定、固定 IP、DNS などを設定できます。
まとめ
Bookworm 以降の Raspberry Pi OS では、従来の wpa_supplicant.conf と dhcpcd.conf を直接編集する構成から、NetworkManager による統合管理へ移行しました。
そのため、以前の Raspberry Pi の設定手順をそのまま使うと、Wi-Fi や固定 IP が正しく反映されないことがあります。
今後は以下のように覚えておくと分かりやすいです。
- Wi-Fi 設定は
.nmconnection - 固定 IP も NetworkManager 管理
- CLI なら
nmcli - GUI/TUI なら
nmtui - 旧来の
wpa_supplicant.confやdhcpcd.confは基本的に使わない
Bookworm / Trixie 世代では、「ネットワーク設定は NetworkManager に統一された」と理解しておくと混乱しにくくなります。