メインコンテンツまでスキップ

ゲートウェイとして使用する Raspberry Pi の準備

Raspberry Pi の Wi-Fi インターネット接続を Ethernet へ共有する​

備考

このステップでは、Raspberry Pi が Wi-Fi 経由でインターネットに接続されており、PLC が Ethernet 接続経由で Raspberry Pi に接続されている必要があります。

ここでは、Wi-Fi のインターネット接続を Ethernet へ共有するように Raspberry Pi を設定します。以下のコマンドを Raspberry Pi 上で実行してください。

1.(任意)Raspberry Pi を更新します:

sudo apt-get update
sudo apt-get upgrade

2. DHCP クライアントを設定するため、設定ファイルを開きます

sudo vi /etc/dhcpcd.conf

ファイルの末尾に denyinterfaces eth0 を貼り付けます。設定ファイルを閉じます(Esc, :w (Enter), :q (Enter))。

3. 次に、ネットワークインターフェースのファイルを開き

sudo vi /etc/network/interfaces

ファイルの末尾に以下の行を貼り付けます:

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.66.1
netmask 255.255.255.0
network 192.168.66.0
broadcast 192.168.66.255

ネットワークインターフェースのファイルを閉じます(Esc, :w (Enter), :q (Enter))。

4. Ethernet ポート上のすべてのデバイスに IP アドレスを自動的に割り当てるため、DHCP サービスをインストールして設定します。dnsmasq をインストールし、新しい設定を作成します:

sudo apt-get install dnsmasq
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo vi /etc/dnsmasq.conf

ファイルに以下の行を追加し

interface=eth0
listen-address=192.168.66.1
dhcp-range=192.168.66.50,192.168.66.100,12h
server=8.8.8.8
bind-interfaces
domain-needed
bogus-priv

設定を閉じます(Esc, :w (Enter), :q (Enter))。

5. Raspberry Pi を再起動します。

sudo reboot

その後、SSH 接続を開き直す必要があります。

6. 次に、IPv4 フォワーディングを設定して、Wi-Fi からのインターネット接続を PLC が接続されている Ethernet ポートへ転送します。/etc/systcl.conf file: を開きます:

sudo vi /etc/sysctl.conf

# を削除して以下の行のコメントを解除します(28 行目):

net.ipv4.ip_forward=1

ファイルを保存して閉じます(Esc, :w (Enter), :q (Enter))。

7. 以下のコマンドを実行して IP フォワーディングを有効化します:

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

8. 次に、iptables をインストールし、ファイアウォールルールを追加します。以下のコマンドを 1 つずつ実行してください:

sudo apt install iptables
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
sudo iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT

9. 変更が反映されたことを確認し、ルールを保存します:

sudo iptables -L -n -v
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

再起動のたびにこれらのルールを自動的に再読み込みするには、/etc/rc.local ファイルを編集します:

sudo vi /etc/rc.local

exit 0 の前に以下の行を貼り付けます:

iptables-restore < /etc/iptables.ipv4.nat

ファイルを保存して閉じます(Esc, :w (Enter), :q (Enter))。

10. ファイアウォール設定を確認するには、次を実行します

route

ルーティングテーブルは次のように表示されるはずです:

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.2.1 0.0.0.0 UG 304 0 0 wlan1
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
192.168.2.0 * 255.255.255.0 U 304

これで、SDA コンソールを確認して、ゲートウェイへの接続が確立されているか、および PLC が接続されているかを確認できます。