我有一个私人的M2M GSM网络供我公司设备使用。 我想将流量从我的设备发送到 AWS IOT,但 M2M 提供商不允许从其 SIM 卡访问互联网,它只提供与私有网络的 IPSec 连接。
我现在在配置 IPSec 连接到 AWS VPC 时遇到问题,我的模拟市民可以成功 ping 我的 AWS VPC 中的所有实例。但是,我想要的是让我的模拟市民访问 AWS IOT。
我做了什么:
- 我使用 AWS 第三种方案配置了我的 VPN。我有一个 CIDR 192.168.0.0/24 的公用网络和一个 CIDR 192.168.1.0/24 的专用网络。我的 VPN 有一个静态路由 CIDR 10.1.128.0/14 适用于我的 M2M 网络。
- 然后,我在公有网络中启动了一个 EC2 国家实例。
- 我在 VPC 主路由表中添加了路由规则,以将 trafic 路由到 0.0.0.0/0 到我的 NAT 实例。
- 我在 VPC 的私有网络中启动了一个 EC2 实例,并尝试从中访问互联网,这项工作,我可以看到 trafic 正在通过我的 nat 实例。所以我假设我的 nat 和路由配置得很好。
但是,我仍然无法从我的SIM卡访问互联网,流量甚至没有路由到我的NAT实例。根据约翰·罗滕斯坦的回答,VPN流量不会使用我的路由规则。
AWS VPN 是否会丢弃未发往 VPC 或 VPN 的 CIDR 的流量?这有安全原因吗? 如果是这种情况,有没有办法为VPN的流量自定义路由规则?还是在 EC2 实例中使用自定义 VPN 的唯一解决方案?
谢谢你的帮助。
我在 VPC 主路由表中添加了路由规则,以将 trafic 路由到 0.0.0.0/0 到我的 NAT 实例。
VPC 的"主"路由表会影响来自 VPC 硬件 VPN 的流量,这是一个可以理解的误解。 其实不然。没有适用于此类流量的路由表,只有 VPC 子网的隐式目标。 只能从此类 VPN 访问分配的 CIDR 块。
AWS VPN 是否会丢弃未发往 VPC 或 VPN 的 CIDR 的流量?这是否有安全原因?
是的,该流量被丢弃。
它可能不是专门出于安全原因...这只是服务的设计方式。 托管 VPN 连接旨在访问基于实例的服务,不支持我们通常可能归类为网关、边缘到边缘、对等互连或传输的流量流。
如果可以将边缘设备配置为使用 Web 代理,则像 squid 这样的转发代理服务器可以处理设备的连接,因为设备和转发代理之间的 IP 路径是仅涉及设备和代理 IP 的连接。
更简单的解决方案是使用基于实例的防火墙来终止 VPN,而不是内置的 VPC VPN 服务,因为这样防火墙实例可以允许流量通过自身,将流量伪装 (NAT) 到自己的 EIP 后面,这将是 VPC 基础设施轻松支持的内容。
当然,您可以自己构建基于实例的防火墙,但 AWS Marketplace 中也有几种产品提供 IPSec 隧道终止和 NAT 功能。 有些有免费试用期,唯一的成本是实例的成本。