固定IPアドレスを設定する方法(bookworm)

※Raspberry Pi OS(bookworm)のリリースから、ネットワークサービスがNetworkManagerに変更されました。

固定IPアドレス(IPv4)の設定方法をnmcliのコマンドで設定する方法を紹介します。他にテキストユーザインターフェース(nmtui)がありますが、Linuxなので基本的にコマンドベースの設定を優先させます。

ネットワークの状態確認

コネクション名は下記の記事を参考にeth0に変更しておいてください。

現在の状態を確認します。

$ nmcli -f ipv4 connection show eth0
ipv4.method:                            auto
ipv4.dns:                               --
ipv4.dns-search:                        --
ipv4.dns-options:                       --
ipv4.dns-priority:                      0
ipv4.addresses:                         --
ipv4.gateway:                           --
ipv4.routes:                            --
ipv4.route-metric:                      -1
ipv4.route-table:                       0 (unspec)
ipv4.routing-rules:                     --
ipv4.replace-local-rule:                -1 (default)
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-client-id:                    --
ipv4.dhcp-iaid:                         --
ipv4.dhcp-timeout:                      0 (default)
ipv4.dhcp-send-hostname:                yes
ipv4.dhcp-hostname:                     --
ipv4.dhcp-fqdn:                         --
ipv4.dhcp-hostname-flags:               0x0 (none)
ipv4.never-default:                     no
ipv4.may-fail:                          yes
ipv4.required-timeout:                  -1 (default)
ipv4.dad-timeout:                       -1 (default)
ipv4.dhcp-vendor-class-identifier:      --
ipv4.link-local:                        0 (default)
ipv4.dhcp-reject-servers:               --
ipv4.auto-route-ext-gw:                 -1 (default)

上記の通り現在、赤文字のautoが設定されています。

固定IPアドレスの設定

下表に基づき設定を進めます。

設定項目設定内容説 明
ipv4.methodmanualIPアドレスを固定で設定
ipv4.addresses192.168.100.100/24設定するIPアドレス
ipv4.gateway192.168.100.1ルータのIPアドレス
ipv4.dns192.168.100.1,8.8.8.8ルータのIPアドレスとgoogleのDNSサーバ

コマンドでの設定の順番は、下記の通りとしてください。

$ sudo nmcli connection modify eth0 ipv4.addresses 192.168.100.100/24
$ sudo nmcli connection modify eth0 ipv4.gateway 192.168.100.1
$ sudo nmcli connection modify eth0 ipv4.dns 192.168.100.1,8.8.8.8
$ sudo nmcli connection modify eth0 ipv4.method manual

上記のコマンドを入力すると

$ nmcli -f ipv4 connection show eth0
ipv4.method:                            manual
ipv4.dns:                               192.168.100.1,8.8.8.8
ipv4.dns-search:                        --
ipv4.dns-options:                       --
ipv4.dns-priority:                      0
ipv4.addresses:                         192.168.100.100/24
ipv4.gateway:                           192.168.100.1
ipv4.routes:                            --
ipv4.route-metric:                      -1
ipv4.route-table:                       0 (unspec)
ipv4.routing-rules:                     --
ipv4.replace-local-rule:                -1 (default)
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-client-id:                    --
ipv4.dhcp-iaid:                         --
ipv4.dhcp-timeout:                      0 (default)
ipv4.dhcp-send-hostname:                yes
ipv4.dhcp-hostname:                     --
ipv4.dhcp-fqdn:                         --
ipv4.dhcp-hostname-flags:               0x0 (none)
ipv4.never-default:                     no
ipv4.may-fail:                          yes
ipv4.required-timeout:                  -1 (default)
ipv4.dad-timeout:                       -1 (default)
ipv4.dhcp-vendor-class-identifier:      --
ipv4.link-local:                        0 (default)
ipv4.dhcp-reject-servers:               --
ipv4.auto-route-ext-gw:                 -1 (default)

コマンドで指示された内容が赤文字の通り設定されます。

プロパティの設定だけなので、ネットワークとして有効にするためコネクションeth0を再起動します。

$ sudo nmcli connection up eth0

上記コマンドでeth0を再起動すると、ネットワークアドレスが変更されるので、接続しているssh(teraterm)は反応が無くなります。

teratermも再起動して、固定のIPアドレスで接続すると接続できます。

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> 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 noprefixroute
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:20:91:fa brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.100/24 brd 192.168.100.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether b8:27:eb:75:c4:af brd ff:ff:ff:ff:ff:ff

赤文字の通り192.168.100.100/24が設定されています。

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