VPN接口和别名接口之间的路由

VPN接口和别名接口之间的路由

我有以下设置:

     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)

Raspberry Pi 只有一个以太网端口,所以我必须进行设置同一端口上的两个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

我希望能够直接从 Windows PC 访问 PLC,仅使用 Raspberry Pi 作为“桥梁”。 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,设置非常简单,第一次尝试一切都按预期运行。

相关内容