OpenVPN 服务器通过 GCP Cloud VPN 网关路由的正确配置设置?

OpenVPN 服务器通过 GCP Cloud VPN 网关路由的正确配置设置?

设想

我想通过 VPN 将我的团队连接到远程服务器。此 VPN 必须遵守远程服务器所具有的一些规则,如下所述。我已经设置了 OpenVPN,但愿意尝试任何其他 VPN 解决方案。

通过以下方式连接到远程服务器:笔记本电脑 -> VPN 客户端 (Viscosity) -> 在 Google Cloud 上的虚拟机上运行的 OpenVPN 服务器 -> Google Cloud VPN -> 使用 IKEv2 连接到远程网关的 IPSec -> 远程服务器

该虚拟机在 Google Cloud 中的虚拟私有云中运行,其内部 IP 范围为 172.25.165.0/26,网关为 172.25.165.1

远程服务器位于本地 IP 范围 172.23.133.0/24 (172.23.133.1) 其网关有一个规则集,必须通过 172.25.165.0/26 范围内的 IP 连接到

我的 VPN 客户端在连接后通常会分配 172.25.165.5

Cloud VPN 具有隧道设置: VPN 隧道内部 IP 堆栈类型 IPv4 多协议 BGP 禁用 IPv6 通告的 IP 范围 172.23.133.0/24 本地子网 lnetwork 172.25.165.0/26

Google Cloud 中的路由显示如下:

姓名 描述 目的IP范围 优先事项 下一跳
默认路由1 到 Internet 的默认路由 0.0.0.0/0 1000 VPN隧道
默认路由-1b 到子网的默认本地路由 172.25.165.0/26 0 VPN
隧道-2-路由-1 172.23.133.0/24 1000 VPN隧道

防火墙设置为允许这些路由的所有进出

VM 的 IP 转发已开启

OpenVPN 配置

local 172.25.165.2
port 1194
proto tcp-server
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-crypt tc.key
mode server
tls-server
topology subnet
push "topology subnet"
ifconfig 172.25.165.3 255.255.255.0
ifconfig-pool 172.25.165.5 172.25.165.200 255.255.255.0
route-gateway 172.25.165.2
push "route-gateway 172.25.165.2"
push "route 172.25.165.5 255.255.255.0 172.23.133.17"

ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
verb 3
crl-verify crl.pem
log /var/log/openvpn/openvpn.log

笔记

如果我 ssh 到虚拟机,我可以成功连接到远程服务器 我也可以从我的笔记本电脑通过虚拟机成功地隧道传输流量 sshuttle 也可以通过虚拟机连接到远程 我可以通过虚拟机 ping 远程服务器

我可以使用本地客户端(Viscosity 或 OpenVPN 客户端)成功连接到 OpenVPN 服务器

但是,一旦连接到 VPN,我就无法成功连接到远程服务器尝试 ping VPN 上的远程服务器会导致“网络无法访问”

服务器上的 OpenVPN 日志中没有任何相关内容。

我尝试了 OpenVPN 服务器配置更改和客户端配置更改的许多不同组合,但没有成功。我还尝试直接在虚拟机上添加路由。我也没有成功尝试通过 OpenVPN 开放访问服务器,这导致了同样的问题。我已经这样做了 3 天多了,并且阅读了尽可能多的有关 OpenVPN 的文档以及许多有关 OpenVPN 的 StackExchange 问题,但一直无法找到答案。大多数现有答案似乎都指出防火墙或路由是问题所在。我在防火墙日志中没有看到任何被阻止的事件(并且它被设置为对所有这些范围开放),因此我假设我在尝试路由 OpenVPN 配置中的流量时做错了什么。如何设置虚拟机、网络和配置以在这种情况下工作?

相关内容