固定IPアドレスを設定する 【Raspberry Pi & bookworm 以降】

Raspberry Pi

Raspberry Pi 5 (bookworm 以降)で、固定IPアドレスを設定する手順についてまとめておきます。

以下の環境で動作確認をしています。
環境:
・ Windows パソコン
・ Raspberry Pi 5 (bookworm 以降)
・ LAN ネットワーク
※ Windows パソコンと Raspberry Pi は Wi-Fi 接続の設定済み。
※ Raspberry Pi は Windows からリモートデスクトップでログインできるよう設定済み。

背景 ~ ネットワーク関連の仕様が変更になった!

Raspberry Pi 5 (bookworm)以降では、ネットワーク管理のコマンドラインツール(NetworkManager command Line Interface、nmcli)があらたに導入されています。

これに伴い、Raspberry Pi の固定IPアドレスの設定手順についても変更となっていますので、まとめておくことにします。

なお、Raspberry Pi 5 でのWi-Fi 接続やリモートデスクトップは、ほぼ従来どおりの手順で設定ができました。そこで、これらの設定は事前に終えておくことを前提とします。
以下は、Wi-Fi 接続での環境下でネットワークの設定を確認し、IPアドレスを固定化するといった流れでまとめておきます。

設定にあたり、サーバーの名称、IPアドレス、ネットワークの接続名が複数出てきますが、Windows と Linux では用語やコマンドが少しずつ異なっており、ひじょうに紛らわしいです。
そこで前半では、ネットワークの確認をひととおり行うことにします。すでに慣れている方は、ステップ3あたり以降から進めてください。

また、LAN ケーブルで接続している、デスクトップで使用しているなど環境が異なる場合も、設定のポイントとしては変わりはありませんので記載を適宜読み替えてください。

ステップ1:ネットワークの確認

まず、ネットワークにつながっている Windows パソコンでコンソールを起動し、つぎのコマンドを実行します。

> ipconfig /all 

デフォルトゲートウェイ: 192.168.1.1 
DNSサーバー: 192.168.1.2 

※ ”>” で記載した行がコマンドの行です。わかりやすさのため、応答の一例を2行目以降に記載します。
※ ここでは、デフォルトゲートウェイとDNSサーバーのIPアドレスを確認(★1)しておきます。

続いて、以下のコマンドを実行し、ローカルネットワーク上の各デバイスの IPアドレスを確認しておきます。

> arp -a 

インターネットアドレス 物理アドレス
192.168.1.1  xx-xx-xx-xx-xx-xx 
192.168.1.2  xx-xx-xx-xx-xx-xx 
192.168.1.4  2c-cf-67-xx-xx-xx 

※ 「インターネットアドレス」は、いわゆる「IPアドレス(プライベートIPアドレス)」と同等の意味です。
※ (★1)で確認した、デフォルトゲートウェイとDNSサーバーの両方のIPアドレスがあることを確認しておきます。
※ 「物理アドレス」は、「MAC アドレス(Media Access Control Address)」ともいわれます。MACアドレスは、ハードウェア(基板、製品、インターフェース)ごとに重複のない固有の値となっており、工場出荷時に設定されます。
Raspberry Pi の MACアドレスは、冒頭が、b8:27:eb、dc:a6:32、e4:5f:01、2c:cf:67、等となることが知られています。上の例では、MACアドレスが 2c:cf:67 から始まっていることから、192.168.1.4 が Raspberry Pi であることがわかります。
※ Raspberry Pi の IPアドレスが表示されない場合は、”ping 192.168.1.4″ … などとして応答を確認したあと、”arp -a” を実行してみてください。
※ IPアドレスは、ネットワーク上で重複のないように振られる固有番号ですが、Raspberry Pi のデフォルトでは可変となっています。Raspberry Pi をリモートデスクトップで使う場合や、サーバーとして使う場合などでは、IPアドレスが変わると毎回探すのが煩雑です。そこで、上で確認した Raspberry Pi について、以降の手順でIPアドレスを固定化します。

ステップ2:Raspberry Pi の確認

つぎに、リモートデスクトップ等でRaspberry Pi (例:192.168.1.4)にログインします。
リモートデスクトップの設定をしていない場合は、Raspberry Pi に接続したモニター等で確認してください。

Raspberry Pi OS のバージョンの確認

Raspberry Pi のターミナルを起動して以下のコマンドを実行します。

$ lsb_release -a

Distributor ID: Debian 
Description: Debian GNU/Linux 12 (bookworm) 
Release: 12
Codename: bookworm 

※ ”$ … ” とした行が Raspberry Pi (Linux) のコマンドです。応答の一例を追記しています。
※ Codename などを確認しておきます。bookworm 以降であれば、以下、問題なく動くと思います。

NetworkManager (nmcli)の有無の確認

以下のコマンドを実行し、NetworkManager (nmcli)が入っていることを確認しておきます。

$ nmcli --version 

nmcli ツール、バージョン 1.42.4 

※ bookworm 以降であれば、NetworkManager が入っていると思います。
NetworkManager をインストールする場合は、”sudo apt install network-manager” とします。
Raspberry Pi 4、3 などで、従来の手順で IPアドレスを固定化する場合は、末尾の関連リンクを参照してください。

ネットワークの接続名(SSID)の確認

Raspberry Pi の画面右上の Wi-Fi のアイコン上にマウスカーソルを重ね、IPアドレスとネットワークの接続名(★2)を確認します。

表示例1:「Wi-Fi ネットワーク接続 ‘LOCAL_WiFi1’ はアクティブです。… IP:192.168.1.4 」
表示例2:「Ethernet ネットワーク接続 ‘有線接続1’ はアクティブです。… IP:192.168.1.5 」

※ これ以降では、表示例1の Wi-Fi 接続でのネットワーク接続について固定IPアドレス化していく例とします。
※ Wi-Fi の「ネットワーク接続 ‘…’」で、’…’ の部分の文字列(SSID)を確認します。

SSID (Service Set Identifier)は Wi-Fi ネットワークを識別するための接続名です。
公共の Wi-Fi スポットや飲食店などで、スマートフォンを Free Wi-Fi に接続する際、SSID を選択すると思います。また、自宅などで Wi-Fi の設定をする際には、アクセスポイントの機器の購入後、ネットワークの接続名 SSID やパスワード等の設定をしていると思います。

続いて、以下のコマンドを実行しておきます。

$ iwconfig 

wlan0  IEEE 802.11    ESSID: "LOCAL_WiFi1" 

※ ESSID は、拡張された SSID (Extended Service Set Identifier)です。
多くの場合、ESSID は SSID (★2)と同一となっています。

ステップ3:IPアドレスの固定で使う接続名等の確認

続いて、IPアドレスを固定する際に必要な接続名等の確認をしていきます。

NetworkManager(nmcli)での接続名の確認

以下のコマンドを実行し、NetworkManager(nmcli)での接続名 NAME (★3)を確認します。

$ nmcli connection show

NAME                UUID          TYPE  DEVICE 
LOCAL_WiFi1   xxxxxxxxxx  wifi wlan0 

※ 上では、NetworkManager での接続名(NAME)が “LOCAL_WiFi1” となっている一例としています。
※ また、今回の事例では、Wi-Fi 接続でのIPアドレスを固定化したいので、DEVICE が wlan0 (wireless LAN)になっていることを確認しておきます。
※ 多くの場合、ここで確認した NAME (★3)は、前述の SSID(★2) と同一となっていると思います。しかし、(★2)のSSID は Wi-Fi スポットにより任意ですので、複数の Wi-Fi ネットワークを使っていると、ネットワークの実体としては異なるにもかかわらず、SSID の文字列がたまたま被ることがあります。そこで、固定IPアドレスの設定では、(★2)ではなく、重複しないように管理されている NetworkManager の内部での接続名(★3)を使います。

デフォルトゲートウェイ、サブネットマスク “/24” の確認

続いて、以下を実行します。

$ ip route 

default via 192.168.1.1 dev wlan0  …
192.168.1.0/24 dev wlan0 …

※ default とした行で、デフォルトゲートウェイ(例:192.168.1.1)を確認します(★4)。
※ その次の行で、ネットワークのサブネットマスクが “/24” であることを確認しておきます(★5)。
※ ここで確認したデフォルトゲートウェイ(★4)は、冒頭の Windows パソコンで確認したデフォルトゲートウェイ(★1)に対応しています。

ネームサーバー(DNSサーバー)の確認

つぎに以下を実行します。

$ cat /etc/resolv.conf

nameserver 192.168.1.2 

※ ネームサーバー nameserver (例:192.168.1.2)を確認しておきます(★6)。
※ ここで確認したネームサーバー nameserver(★6)は、冒頭の Windows パソコンで確認した DNSサーバー(ドメインネームサーバー)(★1)に対応しています。

ステップ4:固定IPアドレスの設定

固定IPアドレスを決める

設定したい固定IPアドレス(★7)を決めます。ここでは一例として、”192.168.1.35″ とします。

設定する IPアドレスを仮に “192.168.1.XX” とするとき、”XX” は 8 ビットですので 0 ~ 255 の範囲の値となります。
“XX” を小さすぎる値にすると、他のデバイスの自動付番などでIPアドレスが先に取得されており、ネットワークに接続する際に失敗する可能性が高まります。
また一方、将来、複数の固定IPアドレスを追加していく可能性もあると思います。
したがって、ネットワークへの接続台数等々から、被らないであろう程度で何番以降とするなど付番のルールを決めておくとよいです。

固定IPアドレスの設定

上で確認した、NetworkManager(nmcli)での接続名(★3)、設定する固定IPアドレス(★7)、サブネットマスク(★4)、デフォルトゲートウェイ(★5)、DNSサーバー(★6)を用いて、以下を参考に4つのコマンドを実行します。
(★3)~(★7)の記載例は、実機で確認した値、決めた値に差し替えてください。

$ sudo nmcli connection modify "LOCAL_WiFi1" ipv4.addresses "192.168.1.35/24" 
$ sudo nmcli connection modify "LOCAL_WiFi1" ipv4.gateway "192.168.1.1" 
$ sudo nmcli connection modify "LOCAL_WiFi1" ipv4.dns "192.168.1.2" 
$ sudo nmcli connection modify "LOCAL_WiFi1" ipv4.method manual 

※ 上記のコマンドの実行後、以下で Raspberry Pi を再起動します。

$ sudo reboot

ステップ5:再起動後の確認

再起動すると、Raspberry Pi のIPアドレスが、上で設定した固定IPアドレスに更新されます。
ステップ1にもどり、Windows パソコンからネットワークの状態を確認してください(例: “ping 192.168.1.35” → “arp -a” を実行)。

つぎに、新たに設定した固定IPアドレスで、Windows のリモートデスクトップなどから Raspberry Pi にログインしてみてください。
ログイン後、Raspberry Pi で以下のコマンドを順次実行してください。設定が反映されていることを確認できると思います。

$ ip addr show wlan0 
$ ip route 
$ cat /etc/resolv.conf 

※ なお、固定IPアドレスを元の可変の状態に戻すには、’sudo nmcli connection modify “LOCAL_WiFi1” ipv4.method auto’とします。

まとめ

Raspberry Pi 5 (bookworm) 以降での固定IPアドレスを設定する手順についてまとめました。

IPアドレスやサーバー名、ネットワークの接続名などが出てきて混乱しやすいですが、流れを理解してしまえば、実質的な作業としては、ステップ3~4程度の手間で完了します。

他にも、Raspberry Pi に関する設定などをまとめています。関心のある方は、関連リンクなども参照してみてください。

関連リンク
・ 固定IPアドレスを設定する 【Raspberry Pi、bookworm 以前の場合】
・ Raspberry Pi にリモートデスクトップで接続する
・ 起動用SDカードを設定する 【Raspberry Pi】

外部リンク
・ Remote access – Raspberry Pi Documentation

 

タイトルとURLをコピーしました