我有兴趣在 Amazon EC2 上设置 VPN 服务器以充当 VPN 服务器。连接到 VPN 的客户端必须从 AWS VPC 获取 IP,这样我们才能建立与任何 EC2 服务器和 VPN 客户端之间的连接。
用例是将开发环境卸载到在云中运行的 Kubernetes 集群,同时仍在本地运行一些代码。
目前,我们已使用 Softether 设置 VPN,它使用 DNSMasq 提供本地 DHCP 服务器。我们的 EC2 服务器获得 10.xxxx 范围内的 IP,但 VPN 客户端获得 192.168.xx 范围内的 IP,这阻止了 EC2 服务器直接向 VPN 客户端发送流量。
由于我对网络不太熟悉,我不确定如何实现这一点。有人能给我一些指点吗?
答案1
事实上,您拥有 VPC (EC2) IP 范围 10.xxx(例如10.20.0.0/16
)和 VPN IP 范围 192.168.xx(例如192.168.123.0/24
),但这并不妨碍这两个网络相互通信。不过,您必须先完成几个步骤。
我理解目前你可以从 VPN 连接到 EC2 实例,但不能从 EC2 连接到 VPN 客户端,对吗?而且你有软以太网其中一个 EC2 实例上的 VPN 网关(例如10.20.30.40
,实例i-123vpnvpn
)对吗?
总结一下:
- VPC/EC2 IP 范围:
10.20.0.0/16
- VPN IP范围:
192.168.123.0/24
- SoftEther 网关:
10.20.30.40
,实例 IDi-123vpnvpn
要启用从 EC2 到 VPN 的连接,请确保所有配置均已完成:
这VPC 路由表必须有192.168.123.0/24指向 SoftEther 实例
i-123vpnvpn
。这将让亚马逊知道,当 EC2 实例想要与 VPN IP 通信时,数据包必须路由到软以太网实例优先。禁用 源/目标检查在 EC2 控制台中的 SoftEther 实例配置中。默认情况下,EC2 实例无法接收不属于它们的流量,即它们不能充当路由器. 禁用源/目标检查放宽此限制并允许实例在
10.20.0.0/16
和之间路由流量192.168.123.0/24
。调整SoftEther 的配置和防火墙启用从外部(= EC2)到 VPN 的传入连接。出于安全目的,VPN 网关通常会禁用此功能。我不了解 SoftEther,因此无法提供有关如何执行此操作的详细信息。
打开 SoftEther 的 EC2安全组针对来自 的所有流量
10.20.0.0/16
。(可选)禁用 NAT在 SoftEther 实例上。目前所有流量从VPN 可能从 192.168.123.0/24 范围转换为 SoftEther 的 EC2 IP
10.20.30.40
。禁用 NAT(网络地址转换)将把原始 VPN 地址暴露给 EC2 实例。
那应该足以在 VPC 和 VPN 之间启用双向流量。如您所见,有很多活动部件。祝您好运!
希望有帮助:)