从 AWS VPC 上私有子网上的主机访问 VPN 客户端

从 AWS VPC 上私有子网上的主机访问 VPN 客户端

我有一个类似 turnkeylinux 的 github 上的设置https://github.com/turnkeylinux-apps/openvpn/blob/master/docs/site-to-site.rst

我有一个包含公有子网和私有子网的 VPC,以及一个位于公有子网的 NAT 实例。在公有子网上,我还有一个由 turnkeylinux AMI 提供的 openvpn 服务器。现在,我有 2 个 vpn 客户端远程连接到 VPC 中的 openvpn 服务器,这些客户端可以毫无问题地访问私有子网。

我希望私有子网中的主机能够访问 VPN 客户端,而不是客户端后面的局域网。

VPC: 10.1.0.0/16
Public subnet: 10.1.0.0/24
  NAT: 10.1.0.2
  OVPN server: 10.1.0.3
Private subnet: 10.1.1.0/24
  A host on the private subnet is 10.1.1.4

VPN 客户端接收10.1.128.0/17子网中的 IP。因此,我有 2 个客户端,其 IP 分别为10.1.128.610.1.128.10

现在所有客户端都可以成功到达10.1.1.4,但10.1.1.4无法到达10.1.128.610.1.128.10

私有子网中的主机可以访问实际的 vpn 客户端吗?

答案1

是的,有可能。

我必须向私有子网的路由表添加一条路由,该路由将10.1.128.0/17使用 openvpn 实例(10.1.0.3)来路由流量。

之后,我还必须添加从 eth0 到 tun0 的伪装(在 ovpn 服务器上)。tun0 到 eth0 已经设置好了。这是命令:

iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

相关内容