OpenVPN路由问题

OpenVPN路由问题

我正在尝试在 Ubuntu 10.04.2 服务器上完成 OpenVPN 服务器的设置。但我似乎遇到了障碍。

OpenVPN 安装顺利,我能够为服务器和客户端创建配置文件,并且客户端可以通过互联网连接到服务器。我遇到的问题与路由有关。

服务器端(LAN)能够 ping 通 OpenVPN 网关(10.8.0.1)和我拥有的测试主机(10.8.0.6)。我相信这是可以做到的,因为我在 m0n0wall 中设置了一条静态路由,该路由将所有发往 10.8.0.0/24 的流量通过网关 10.0.0.6(这是 OpenVPN 服务器的 LAN 地址)。

问题就出在这里,当我坐在客户端,使用完全独立的互联网连接时,我无法 ping 通 VPN 托管的 LAN 内的任何内容,除了 10.8.0.1 和 10.0.0.6。我尝试了其他几个内部地址,但都没有成功。我错过了什么,我需要 OpenVPN 服务器上的路由吗?根据一些 Google 搜索,我在 OpenVPN 服务器上启用了 IP 转发,这时上面段落中的描述开始起作用。但仅此而已,只有一半有效。

答案1

首先,这是一个如何设置 openvpn我刚刚写的。

其次,您是否在服务器上设置了防火墙规则以允许转发?听起来您可能没有,这就是数据包被阻止的地方。类似这样的操作将允许从您的 VPN 转发到您的内部网络的流量。

/sbin/iptables -I FORWARD 1 -s 10.8.0/24 -j ACCEPT        

/sbin/iptables -nvL如果您也在此处发布输出,那将会很有用。

另外,您是在客户端上手动设置路由,还是从服务器推送路由?如果您是从服务器推送,则需要在服务器配置文件中添加类似以下内容(假设您的服务器内部网络为 192.168.10/24):

# give clients access to the whole work network, not just the server.
push "route 192.168.10.0 255.255.255.0"

如果您从服务器推送它们,请在客户端上验证路由是否确实已设置。例如,除非您通过 启动 openvpn 客户端,否则 Windows 7 和 Vista 会拒绝服务器推送的路由。right click->run as administrator您可以通过检查客户端日志来确认这在客户端上是否有效。

答案2

在服务器配置中,您可以设置客户端应采用的路线。例如:

push "route 10.8.0.0 255.255.255.0"

池和服务器以及推送路由命令都必须指定 LAN 子网之外的相同子网。有关路由和 OpenVPN 的更多信息,请参见此处:http://www.secure-computing.net/wiki/index.php/OpenVPN/Routing

您能发布一下输出吗iptables -l

相关内容