私は次の設定を持っています:
Windows PC <---> Raspberry Pi <---> PLC
(DHCP - Ethernet) (DHCP - eth0)
(192.168.0.10 - eth0:0) (192.168.0.2)
(10.0.0.2 - VPN NIC) (10.0.0.3 - VPN NIC)
ラズベリーファイにはイーサネットポートが1つしかないので、別に設定する必要がありました。同じポートに2つのIP:(eth0 - DHCP
インターネット接続用)、eth0:0 - 192.168.0.10
(PLC接続用)。 eth0:0 エイリアスは、/etc/network/interfaces.d/eth0_0.conf
次の内容を含むファイルを生成することによって実装されます。
auto eth0:0
iface eth0:0 inet static
address 192.168.0.10
netmask 255.255.255.0
PLCでは、IPはで192.168.0.2
、ゲートウェイはで定義されます192.168.0.10
。
Raspberry Piだけを「ブリッジ」として使用して、Windows PCからPLCに直接アクセスできることを願っています。 Windows PCからRaspberry Piへの接続は、Raspberry PiとPLC間の接続と同様に完全に機能します。
私がしたこと
Windows PCで次のコマンドを実行しました。route add 192.168.0.0 mask 255.255.255.0 10.0.0.3
Raspberry PI/etc/sysctl.conf
からnet.ipv4.ip_forward=1
。echo 1 > /proc/sys/net/ipv4/ip_forward
仕事がなかったので、次のように走りました。
iptables -A FORWARD -i eth0:0 -o nrtap -s 192.168.0.0/24 -d 10.0.0.0/24 -j ACCEPT
iptables -A FORWARD -i nrtap -o eth0:0 -s 10.0.0.0/24 -d 192.168.0.0/24 -j ACCEPT
sysctl -p
私も成功しなかったので、上記のいくつかのバリエーションを試しました。
ルーティングテーブル:
# route -nNv
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.3.254 0.0.0.0 UG 202 0 0 eth0
10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 nrtap
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.3.0 0.0.0.0 255.255.255.0 U 202 0 0 eth0
* nrtapはVPNインターフェースです。
ベストアンサー1
問題はVPNにあります。 NeoRouter VPNを使用していますが、IP転送をサポートしていないことがわかりました。また、ZeroTier VPNに切り替えて設定が簡単で、最初の試みですべてが期待どおりに機能しました。