为什么我不能访问OpenVPN服务器背后的局域网中的计算机?

在ESXI服务器上,我有几个虚拟机:一个具有外部IP地址(和Internet访问),configuration为NAT(并且扮演OpenVPN服务器angular色)和几个虚拟机在VLAN中(使用192.168.182。* / 28个IP地址)。

我已经在Debian文档中描述了OpenVPN服务器和客户端来访问这些VLAN虚拟机。

目前我已经运行(tun)OpenVPN服务器和客户端,我可以通过tun0接口相互ping通。

问题是我无法从ESXI VLAN中的OpenVPN客户端计算机进行ping操作。 你可以请build议一种方法来解决这个问题吗?

OpenVPN客户端路由表:

Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 88.198.179.46 0.0.0.0 UG 0 0 0 eth0 10.9.8.1 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 88.198.179.40 0.0.0.0 255.255.255.248 U 0 0 0 eth0 

OpenVPN服务器路由表:

 default static.193.120. 0.0.0.0 UG 0 0 0 eth0 10.9.8.2 * 255.255.255.255 UH 0 0 0 tun0 46.4.120.192 * 255.255.255.224 U 0 0 0 eth0 192.168.182.16 * 255.255.255.240 U 0 0 0 eth1 

据我所知,我必须在OpenVPN服务器上路由数据包到192.168.182。* / 28 VLAN。

我使用以下命令启用了ipv4转发: echo "1" > /proc/sys/net/ipv4/ip_forward

我已经添加了以下规则到iptables(88.198.179.41/29是客户端ip /子网),但是这并没有帮助:

 *nat -A POSTROUTING -s 192.168.0.0/16 -o eth0 -j SNAT --to-source 46.4.120.218 COMMIT *filter -A FORWARD -s 192.168.182.0/24 -d 88.198.179.41/29 -j ACCEPT -A FORWARD -d 192.168.182.0/24 -s 88.198.179.41/29 -j ACCEPT COMMIT 

也许我必须在VPNClient上定义一些路由?

你没有发布你的openvpnconfiguration,但我猜你错过了到局域网其余部分的路由:

 push "route 192.168.182.0 255.255.255.240" 

这将在客户端连接时添加必要的路由。 另外,确保你局域网上的其他客户端知道使用OpenVPN服务器作为OpenVPNnetworking的网关。