IPアドレスを固定する

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には多くのコマンドが有り、

等で詳しく説明されています。