Raspberry PIのIPアドレスを固定するには /etc/dhcpcd.conf を編集します。エディターでファイルを開くとファイルの中にIPアドレス固定の例が有ります。
dhcpcd.conf
#
# Example static IP configuration:
#interface eth0
#static ip_address=192.168.0.10/24
#static ip6_address=fd51:42f8:caae:d92e::ff/64
#static routers=192.168.0.1
#static domain_name_servers=192.168.0.1 8.8.8.8 fd51:42f8:caae:d92e::1
#
- 文頭の#を外して使います。
- 4行: 有線なら:interface eth0。 無線なら:interface wlan0。
- 5行: 希望IPアドレス
- 6行: 希望IPアドレス(IP6の場合)
- 7行: routersアドレス
- 8行: domain_name_serversアドレス
routers、domain_name_serversのアドレスは下記(各表示はネット環境によって変わります)で確認出来ます。
routers:ターミナルでip routeを実行- 画面に下記の様に表示されます
default via 192.168.3.1 dev wlan0 proto dhcp src 192.168.3.7 metric 600
192.168.3.0/24 dev wlan0 proto kernel scope link src 192.168.3.7 metric 600
default via 192.168.3.1がroutersアドレスです。
- 画面に下記の様に表示されます
- domain_name_servers:ターミナルで
cat /etc/resolv.confを実行- 画面に下記の様に表示されます
Generated by NetworkManager
search flets-east.jp iptvf.jp
nameserver 192.168.3.1
nameserver 2400:2411:3e09:6800:1e7c:98ff:fe8d:2124
nameserver 192.168.3.1がdomain_name_serversアドレスです
- 画面に下記の様に表示されます
例えば、無線でIPアドレスを192.168.3.245に固定したい場合、
dhcpcd.conf
interface wlan0
static ip_address=192.168.3.245/24
static routers=192.168.3.1
static domain_name_servers=192.168.3.1
を /etc/dhcpcd.conf の最後に追加して保存しRaspberry PIをReboot。立ち上がったらモニターから ifconfig を実行して下さい。eth0のアドレスが192.168.3.245に固定されている事が分かります。
monitor
pi0@raspi:~ $ ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (ローカルループバック)
RX packets 25 bytes 3498 (3.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 25 bytes 3498 (3.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.3.245 netmask 255.255.255.0 broadcast 192.168.3.255
inet6 fe80::8d0c:a6fe:6f4e:1640 prefixlen 64 scopeid 0x20<link>
inet6 2400:2411:40c0:3400:1234:5994:4589:4e3c prefixlen 64 scopeid 0x0<global>
ether b8:27:eb:3b:81:a5 txqueuelen 1000 (イーサネット)
RX packets 54 bytes 8201 (8.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 109 bytes 16127 (15.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
pi0@raspi:~ $
BookWormから
BookWormから”/etc/dhcpcd.conf”を編集でIPアドレスの固定が出来なくなりました。ネットワークの管理はNetworkManagerで行う事になった為です。NetworkManagerのコンフィグファイルは/etc/NetworkManager/system-connections/preconfigured.nmconnectionに有ります。このファイルを開くと下記の様になっています。
preconfigured.nmconnection
[connection]
id=preconfigured
uuid=9fd165d2-5f9c-4409-a9b7-a............
type=wifi
timestamp=1764325618
[wifi]
hidden=true
mode=infrastructure
ssid=aterm-..
[wifi-security]
key-mgmt=wpa-psk
psk=d8bb6fc939914c24.....
[ipv4]
method=auto
[ipv6]
addr-gen-mode=default
method=auto
[proxy]
このファイルを直接編集すればネットワークの設定を行う事が出来るのですが、今回はNetworkManagerのCUIコマンド ”nmcli” で設定を行います。nmcliでIPドレス指定(固定)するコマンドは以下の様になります
$ sudo nmcli connection modify <対象の機器名> ipv4.method manual ipv4.addresses 希望のアドレス/24
<対象の機器名>はコマンド ”nmcli connection show” を実行すると知る事が出来ます。RaspberryPiがWiFiで1台つながった状態でモニタで nmcli connection show を実行すると
xxx@rasp:~ $ nmcli connection show
NAME UUID TYPE DEVICE
preconfigured 9fd165d2-5f9c-4409-a9b7-a2.......... wifi wlan0
lo e1e39b9f-443c-4298-9c46-38.......... loopback lo
と表示されます。 ”preconfigured” がRaspberryPiで、これが<対象の機器名>です。希望アドレスを上記と同じ ”192.168.3.245” とするとコマンドは以下の通りになります
$ sudo nmcli connection modify preconfigured ipv4.method manual ipv4.addresses 192.168.3.245/24
実行後のpreconfigured.nmconnection。
preconfigured.nmconnection
[connection]
id=preconfigured
uuid=9fd165d2-5f9c-4409-a9b7-a............
type=wifi
timestamp=1764325618
[wifi]
hidden=true
mode=infrastructure
ssid=aterm-..
[wifi-security]
key-mgmt=wpa-psk
psk=d8bb6fc939914c24.....
[ipv4]
address1=192.168.3.245/24,192.168.3.1
dns=192.168.3.1;
method=manual
[ipv6]
addr-gen-mode=default
method=auto
[proxy]
[ipv4]が更新されている事が確認出来ます。IPアドレスはRebootした後設定した値になります。
nmcliには多くのコマンドが有り、
等で詳しく説明されています。