나는 다음과 같은 설정을 가지고 있습니다 :
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)
라즈베리파이에는 이더넷 포트가 하나밖에 없어서 따로 설정을 해야 했어요동일한 포트에 두 개의 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으로 전환하여 설정이 쉬웠고 첫 번째 시도에서 모든 것이 예상대로 작동했습니다.