如何让AWS EC2访问已连接Client VPN的本地PC?
解决EC2访问Client VPN连接的本地PC问题
问题根源
你的EC2实例所在子网的路由表把客户端网段(172.201.0.0/16)的流量导向了Internet Gateway,而非Client VPN端点,导致无法连通本地PC。AWS拒绝直接添加该路由,通常是因为Client VPN端点未正确关联目标网络,或者缺少必要的授权规则。
具体解决步骤
1. 确认Client VPN端点的目标网络关联
- 打开AWS控制台的VPC服务,找到你的Client VPN端点
- 切换到Target Network Associations标签,检查是否已关联EC2所在的公有子网(172.200.0.0/20)
- 如果没关联,点击Associate target network,选中该子网完成关联
2. 添加客户端网段的授权规则
- 在Client VPN端点的Authorization Rules标签下,点击Authorize ingress
- 填写信息:
- Destination CIDR:输入客户端网段
172.201.0.0/16 - Grant access to:选
Allow access to all users(也可指定特定用户组,按需选择)
- Destination CIDR:输入客户端网段
- 保存规则
3. 给EC2所在子网的路由表加静态路由
完成授权规则配置后,重新尝试添加路由:
- 找到EC2所在公有子网对应的路由表
- 点击Edit routes,新增一条路由:
- Destination:
172.201.0.0/16 - Target:选择你的Client VPN端点(格式为
cvpn-endpoint-xxxx)
- Destination:
- 保存路由表
4. 检查本地PC防火墙设置
- 确保本地PC防火墙允许来自VPC网段(172.200.0.0/16)的8080端口访问
- 可以临时关闭防火墙测试,排除本地拦截的可能性
5. 重新测试连接
在EC2实例上再次执行:
nc -vz 172.201.0.34 8080
如果连接成功,说明配置生效;若仍失败,排查以下内容:
- Client VPN端点状态是否为
active - 本地PC的VPN连接是否正常(确认IP还是172.201.0.34)
- EC2实例的安全组是否允许出站到172.201.0.0/16的8080端口
内容的提问来源于stack exchange,提问作者asinkxcoswt
相关产品推荐
相关产品推荐

