ハンズオンなどのイベントでRaspberry Piを活用することは多いと思います。その時、Wi-Fiの設定のためだけにモニタやキーボードが必要になったりしてしまうのですが、今回のイメージファイルをスタート地点にすれば、イーサネットでPCをRaspberry Piに接続するだけでなんでもできるようになります。
やりたかったことはこれです。
以下の内容を追加
必要なソフトウエアのインストール
sudo apt-get install isc-dhcp-server
ネットワークインタフェースの設定
/etc/network/interfaces
auto lo
iface lo inet loopback
iface eth0 inet static
address 10.9.20.1
network 10.9.20.0
broadcast 10.9.20.255
netmask 255.255.255.0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
DHCPサーバーの設定
/etc/dhcp/dhcpd.conf
# コメントを外す
authoritative;
# 最後に追加
subnet 10.9.20.0 netmask 255.255.255.0 {
range 10.9.20.2 10.9.20.254;
option routers 10.9.20.1;
option broadcast-address 10.9.20.255;
option subnet-mask 255.255.255.0;
option domain-name "raspberrypi.local";
option domain-name-servers 8.8.8.8, 8.8.4.4;
#option domain-name-servers 10.9.20.1;
}
この行にeth0を追記
/etc/default/dhcpd.conf
INTERFACESv4="eth0"
起動時の設定
rc.localの最後に追加する
/etc/rc.local
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
ifup eth0
sleep 10
systemctl start isc-dhcp-server
Wi-Fiの設定
/etc/wpa_supplicant/wpa_supplicant.conf
network={
ssid="SSID名"
psk="パスフェーズ"
key_mgmt=WPA-PSK
}
これでRaspberry Piに10.9.20.1にイーサネットでアクセスすることが出来るので、諸々の設定変更をVNCやSSHを介して設定できるようになりました。
VNCでRaspberry Piを見ると、Wi-Fiの接続部分がXXになっていますが、ifconfigで確認をすると正しくネットワークが接続できているのが解ります。