我试图理解为什么以下是一个问题。
- 我有一台运行 Open VPN 客户端的 EC2 计算机。我可以连接同一 VPC 计算机内的 EC2 计算机,但无法连接 VPC 外部的 EC2 计算机。
我尝试使用
“route add -host gw”将主机添加到路由,但仍然无法正常工作。VPC 机器 -> EC2 没有开放的 VPN 连接 -> 可访问
VPC 机器 -> 运行开放 VPN 的 EC2 -> 可访问
不同的 VPC 机器 -> EC2 没有打开的 VPN 连接 -> 可访问。
不同的 VPC 机器 -> 运行开放 VPN 的 EC2 -> 无法访问。
欢迎任何建议。
答案1
默认情况下,Amazon EC2 实例应用了一种“IP 地址欺骗”形式。因此,进出 EC2 实例的流量必须在数据包中包含该实例的地址。这意味着它不能用作路由器或 VPN 网关;亚马逊阻止了此流量。这在 Amazon 中称为“SourceDestCheck”文档。
所以你需要告诉亚马逊禁用它。从 GUI 中,可以通过导航到 EC2/Instances、选择所需的实例,然后选择 Actions/Change SourceDest Check 来完成此操作。
从 CLI 中可以使用aws ec2 modify-instance-attribute --no-source-dest-check
选项来完成。
当然,您的安全组也需要允许此流量!