Raspberry Pi OS の eth0 IPアドレス設定方法および確認方法

Posted by: otsuka

Raspberry Pi OSの標準的な状態では有線LANポート(eth0)のIPアドレス設定は
/etc/dhcpcd.conf に記述します。
Raspberry Piのeth0はdhcpcd (DHCP client daemon)で設定され、
default設定ではdhcp serverから与えられる情報によって動的にIPアドレスが設定されます。

eth0を固定IPアドレスに設定したい場合は、以下のような設定をして再起動し反映します。

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

ただし、11ah用のアプリケーション一式がセットアップしてあり
/home/pi/nrc_pkg/script/start.py
を使って11ah APまたは11ah STAとして動作させる場合には、
この start.py から実行される
/home/pi/nrc_pkg/script/conf/etc/ip_config.sh

/home/pi/nrc_pkg/script/conf/etc/CONFIG_IP
に書かれている値からAPモード、STAモードなど各動作モードごとに
eth0、wlan0、wlan1、br0などの各ネットワークインタフェースに必要な設定値を読み取り、
それらが
/home/pi/nrc_pkg/etc/dhcpcd/dhcpcd.conf
/home/pi/nrc_pkg/etc/dnsmasq/dnsmasq.conf
にまとめられ、最終的に
/etc/dhcpcd.conf
/etc/dnsmasq.conf
にコピーされて使われます。

APモード時に eth0 を固定IPアドレスに設定したい場合は、
/home/pi/nrc_pkg/script/conf/etc/CONFIG_IP
の以下の設定項目を使用するネットワーク環境に合わせ適切に設定しておく必要があります。
# Config for static IP on Ethernet without DHCP server
USE_ETH_STATIC_IP=Y            # Use ETH STATIC IP : Y(use ETH_IP for static ip) or N(use DHCP Client)
ETH_STATIC_IP=192.168.100.11   # only valid when using static IP without DHCP Server
ETH_STATIC_NETMASK=24          # only valid when using static IP without DHCP Server

STAモード、RELAYモードは eth0 が dhcpサーバーでIPアドレスを配布するインタフェースになるかどうかで
設定されるIPアドレスが変わります。
詳細は上記の各設定スクリプト、設定ファイル
/home/pi/nrc_pkg/script/start.py
/home/pi/nrc_pkg/script/conf/etc/ip_config.sh
/home/pi/nrc_pkg/script/conf/etc/CONFIG_IP
を参照してください。