无法通过 OpenVPN 和 iptables 转发连接到子网

无法通过 OpenVPN 和 iptables 转发连接到子网

我有一个小型交换子网,其中有几个通过 IP 通信的设备。它们通过以太网连接到运行 Ubuntu 18.04 的 ODroid,该 ODroid 也位于 OpenVPN 中。(ODroid 使用 WiFi 连接到互联网 atm,稍后将更改为 LTE)
我想从也位于 VPN 中的计算机寻址在该子网中的设备上运行的服务。

+-----------------+          +------------------+      +--------------------+
|A Device         | ethernet |ODroid            |  VPN |Controlling Computer|
|eth0: 192.168.2.2+----------+tun0: 10.8.0.5    +------+tun0: 10.8.0.2      |
+-----------------+          |eth0: 192.168.2.1 |      +--------------------+
                             +------------------+

我尝试使用带有 nat 的 iptables 来使控制计算机能够访问 ODroid 后面的设备。

[on the ODroid]
sudo iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
sudo iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

我还在 ODroid 上启用了转发功能

cat /proc/sys/net/ipv4/ip_forward
1

我还为所有设备添加了静态路由:

[on the ODroid] ip r
0.0.0.0/1 via 10.8.0.1 dev tun0 
default via 192.168.0.1 dev wlan0 proto dhcp metric 600 
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.5 
85.214.205.172 via 192.168.0.1 dev wlan0 
128.0.0.0/1 via 10.8.0.1 dev tun0 
192.168.0.0/24 dev wlan0 proto kernel scope link src 192.168.0.106 metric 600 
192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.1
[on the controlling computer] ip r
0.0.0.0/1 via 10.8.0.1 dev tun0 
default via 192.168.0.1 dev enp33s0 proto dhcp metric 100 
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.2 
[ip of my server] via 192.168.0.1 dev enp33s0 
128.0.0.0/1 via 10.8.0.1 dev tun0 
169.254.0.0/16 dev enp33s0 scope link metric 1000 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
192.168.0.0/24 dev enp33s0 proto kernel scope link src 192.168.0.105 metric 100 
192.168.2.0/24 via 10.8.0.5 dev tun0 
[on the device I want to connect to] ip r
default via 192.168.2.1 dev enp0s25 proto dhcp metric 100 
10.8.0.0/24 via 192.168.2.1 dev enp0s25 
192.168.0.0/24 via 192.168.2.1 dev enp0s25 
192.168.2.0/24 dev enp0s25 proto kernel scope link src 192.168.2.109 metric 100 
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown

我可以从控制计算机和我想要连接的设备 ping ODroid。

从具有我想要连接的服务的设备,我可以连接到控制计算机,因此该方向的 NAT 似乎有效。但我无法反向连接。

我曾尝试过只使用一个

sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

但这并没有帮助。

有什么建议么?

提前致谢

相关内容