ゲートウェイとして使用する 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 が接続されているかを確認できます。