OpenVPN 客户端作为网关:从服务器到客户端的 Ping 工作正常,但网关不起作用

OpenVPN 客户端作为网关:从服务器到客户端的 Ping 工作正常,但网关不起作用

我有一个正在运行的 OpenVPN 服务器,并在 OpenWRT 路由器上运行,并且想要使用OpenVPN 客户端作为网关对于连接到我的路由器的一些本地计算机。

我所做的/已经有效的:

  • 在 OpenWRT 路由器 ( 192.168.0.1/ 10.0.0.1) 上,我可以 ping 和 ssh 到 OpenVPN 客户端 ( 10.0.0.6)。
  • 我已经设置了一个名为tunnelpi1/etc/iproute2/rt_tables在路由器上)的新路由表:
#
# reserved values
#
128 prelocal
255 local
254 main
253 default
0   unspec
#
# local
#
#1  inr.ruhep
10  tunnelpi1
  • 192.168.0.217我已将路由器配置为通过 OpenVPN 客户端路由本地客户端 () 的流量10.0.0.6,方法是将客户端 IP 添加到tunnelpi1表中并为此表设置默认路由:
ip rule add from 192.168.0.217/32 table tunnelpi1
ip route add default via 10.0.0.6 dev tun table tunnelpi1
  • 在本地客户端 ( ) 上,一旦添加路由,192.168.0.217我就无法再 ping 到,并且当我删除它时可以再次 ping 到。所以看起来规则正在做一些事情(其他客户端不受影响,这很好)。8.8.8.88.8.8.8
  • OpenVPN 客户端 ( 10.0.0.6) 具有完全正常工作的互联网连接(通过其自己的eth0)。ping 8.8.8.8工作没有任何问题。它的默认网关不是VPN(tun0)而是它的eth0接口,这正是我想要的。
  • 在 OpenVPN 客户端上,我启用了 ip 转发并通过 iptables 添加了 NAT 规则,以通过以下方式转发所有内容eth0
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

**什么不起作用:我希望流量192.168.0.217通过10.0.0.6.但这似乎不会发生。添加表规则后,我无法 ping 任何内容。我怀疑 OpenVPN 阻止了某些内容,或者 openvpn-client 上的 iptables 设置错误。我不知道如何从这里继续。

有什么建议 ?

相关内容