2023年7月11日火曜日

Static IP and DHCP IP per SSID on RaspberryPi or other debian family

RaspberryPiでSSID毎にstatic IPを指定する。SSID毎にDHCPを指定するには。






■環境 / environment

RaspberryPi + Wifi 

Raspberry Pi OS

    and Debian Linux Family

Wifi Environment 

    and Tethering by SmartPhone


関連するファイル

    /etc/dhcpcd.conf

    /etc/wpa_supplicant/wpa_supplicant.conf


■問題 / problem

開発環境下で固定IPを指定しているが、自分の管理下にない環境で固定IPが指定出来ないときがあります。また、スマートフォンのテザリングを利用するときには、接続毎にネットワークアドレスが変わってしまうので固定IPアドレスが利用できません。

ところが、/etc/dhcpcd.conf で次のように指定していると、すべてのWifi接続が特定のIPアドレスに固定されてしまい、他の環境で接続できなくなってしまいます。

たとえば、次のように設定したとき

Bellow settings are deriverd static IP address to all Wifi connections.

[/etc/dhcpcd.conf]

interface wlan0

static ip_address=192.168.0.32/24

static routers=192.168.0.1

static domain_name_servers=192.168.0.1

すべてのWifi接続先でIPアドレスが192.168.0.32に固定されてしまいます。


■対処方法 / treatment

dhcpcd.confでは、wlan0にSSIDを指定することが出来ます。

SSIDを指定してstatic IPを指定すれば、static IPが割り当てられます。

SSIDを指定して空欄にすればDHCPが指定されます。

If you want to set each IP derivery of static or DHCP , separete secion by "SSID".


[/etc/dhcpcd.conf]

:

 # Example static IP configuration:

interface eth0

static ip_address=192.168.0.31/24

static routers=192.168.0.1

static domain_name_servers=192.168.0.1



interface wlan0

ssid HOME-G

static ip_address=192.168.0.32/24

static routers=192.168.0.1

static domain_name_servers=192.168.0.1



ssid Office-G

static ip_address=10.100.0.32/24

static routers=10.100.0.1

static domain_name_servers=100.100.0.1



ssid StarInn-G

 (Write nothing)

ssid Pixel10-G

 (Write nothing)


上記の例では、wlan0の接続先SSIDに

HOME-G
Office-G
StarInn-G
Pixel10-G
が指定されています
HOME-Gに接続したときは192.168.0.32が割り当てられます。
Office-Gに接続したときは10.100.0.32が割り当てられます。
StarInn-G,Pixel10-Gに接続したときはDHCPで接続されます。

Empty sections are selected DHCP.