OpenVPN 2.1.4 在 CentOS VPS 服务器上运行存在的问题

OpenVPN 2.1.4 在 CentOS VPS 服务器上运行存在的问题

我有一台装有 Media Temple 的 VPS 服务器,运行 CentOS 并安装了 Plesk Parallels。它有一个 VPN 模块,我最终想配置它以允许多个客户端连接到 VPN 服务器,并能够通过 VPN 服务器路由所有 Web 和本地流量。这是服务器配置:

#
# Automatically generated by Plesk VPN module
#
lport 1194
ifconfig 10.yy.xx.1 255.255.255.252
daemon
secret /usr/local/psa/var/modules/vpn/vpn-key
writepid /usr/local/psa/var/modules/vpn/openvpn.pid
mtu-disc yes
comp-lzo
dev tap
float
keepalive 10 60
ping-timer-rem
resolv-retry infinite
push "dhcp-option DNS 10.yy.xx.1"

在客户端我有以下配置:

#
# Automatically generated by Plesk VPN module
#
remote xcxcxcx.com
nobind
rport 1194
ifconfig 10.xx.yy.2 255.255.255.252
secret vpn-key
comp-lzo
dev tap
float
keepalive 10 60
ping-timer-rem
resolv-retry infinite
route-gateway 10.xx.yy.1
redirect-gateway

我应该提到,虽然评论说这些文件是自动生成的,但它们自创建以来就被手动修改过。目前我可以连接到 VPN 服务器,甚至可以 ping 网关 10.xx.yy.1,但当我 ping google.com 时,它超时了。它正确地将域解析为 IP,但似乎没有数据流。我完全不知所措。有什么建议吗?

答案1

您是否在 VPN 服务器上开启了 IP 转发?

echo 1 > /proc/sys/net/ipv4/ip_forward

答案2

server.conf 注释说明了有关重定向网关指令的内容,可能会有所帮助:

如果启用,此指令将配置所有客户端通过 VPN 重定向其默认网络网关,导致所有 IP 流量(例如 Web 浏览和 DNS 查找)都通过 VPN(OpenVPN 服务器机器可能需要将 TUN/TAP 接口 NAT 到互联网以使其正常工作)。

警告:如果客户端的本地 DHCP 服务器数据包通过隧道路由,可能会破坏客户端的网络配置。解决方案:确保客户端的本地 DHCP 服务器可以通过比默认路由 0.0.0.0/0.0.0.0 更具体的路由访问。

答案3

好的,以下是有效的方法:

iptables -A INPUT -i tap+ -j ACCEPT
iptables -A FORWARD -i tap+ -j ACCEPT

RETURN     all  --  0.0.0.0/0            10.66.77.0/30
SNAT       all  --  10.66.77.0/30        0.0.0.0/0           to:72.10.36.151

第二部分用于替代 MASQUERADING,因为 MASQUERADING 在虚拟化容器环境中不可用。可以使用 lsmod 找到的 iptables 模块根本没有被主机加载。使用的两条规则确保流量在 VPN 子网和互联网之间流动。感谢 Irosa 提供的帮助,提出了一些新想法。

相关内容