![openvpn 连接成功但机器无法访问](https://linux22.com/image/156626/openvpn%20%E8%BF%9E%E6%8E%A5%E6%88%90%E5%8A%9F%E4%BD%86%E6%9C%BA%E5%99%A8%E6%97%A0%E6%B3%95%E8%AE%BF%E9%97%AE.png)
我试图理解为什么以下是一个问题。
- 我有一台运行 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
选项来完成。
当然,您的安全组也需要允许此流量!