久しぶりに Raspberry Pi OS を触ったら固定ip化の手順が変わっていた

この手順は Debian 12(bookworm)ベースの Raspberry Pi OS で有効です。

Debian 12 ベースの Raspberry Pi OS は、ネットワークを NetworkManager で管理するようになったようなので、nmcli コマンドを使います。

まず、デバイス名を確認します。 *この例では preconfigured
(下記コマンドの connectioncon と同義)

$ nmcli connection show
NAME                UUID                                  TYPE      DEVICE 
preconfigured       xxxxxxxx-57dc-41fa-yyyy-zzzzzzzzzzzz  wifi      wlan0  
lo                  xxxxxxxx-c4f1-45ef-yyyy-zzzzzzzzzzzz  loopback  lo     
Wired connection 1  xxxxxxxx-a084-342d-yyyy-zzzzzzzzzzzz  ethernet  --     

念の為ステータスも確認。(実際に動いている想定通りのデバイスか)

$ nmcli device status
DEVICE         TYPE      STATE                   CONNECTION    
wlan0          wifi      connected               preconfigured 
lo             loopback  connected (externally)  lo            
p2p-dev-wlan0  wifi-p2p  disconnected            --            
eth0           ethernet  unavailable             --            

$ nmcli device show wlan0
GENERAL.DEVICE:                         wlan0
GENERAL.TYPE:                           wifi
GENERAL.HWADDR:                         ... The following omitted

上記で確認したデバイス名に対して設定する。
*mod(modifiy)で設定変更。up で設定反映。

$ sudo nmcli con mod preconfigured ipv4.address "192.168.xx.xx/24"
$ sudo nmcli con mod preconfigured ipv4.gateway "192.168.xx.1"
$ sudo nmcli con mod preconfigured ipv4.dns "8.8.8.8 1.1.1.1"
$ sudo nmcli con mod preconfigured ipv4.dns-search "startpage.com"
$ sudo nmcli con mod preconfigured ipv4.method "manual"
$ sudo nmcli con mod preconfigured ipv6.method "disabled"
$ sudo nmcli con up preconfigured