求助:DHCP办公网络下如何安全连接AWS EC2实例?
解决DHCP办公网络下安全连接AWS EC2的方案
嘿,我刚好碰到过类似的场景,给你几个实用的方案,不用开放0.0.0.0/0也能安全连接EC2:
方案1:AWS Systems Manager Session Manager
这是我最推荐的方案,完全不需要给EC2开公网IP,也不用在安全组里配置办公IP,靠IAM权限和SSM服务中转:
- 给你的EC2实例附加一个包含
AmazonSSMManagedInstanceCore权限的IAM角色,让实例能和SSM服务通信 - 如果EC2在私有子网,确保它能访问SSM服务:要么配置VPC端点(SSM、EC2 Messages、SSM Messages这三个端点),要么通过NAT网关访问公网的SSM服务
- 本地安装AWS CLI和Session Manager插件,然后执行命令:
aws ssm start-session --target <你的EC2实例ID> - 这种方式的安全优势:只有拥有IAM权限的用户才能连接,而且全程加密,不用暴露EC2的端口
方案2:AWS VPN连接(Site-to-Site或Client VPN)
把办公网络和AWS VPC打通,这样办公设备就像在VPC内部一样访问EC2:
- Site-to-Site VPN:适合整个团队都需要访问EC2的场景,让公司的网关和AWS VPC建立IPsec隧道,安全组里只需要允许办公网络的内网CIDR(或者VPN隧道的地址段)访问EC2,不用管内部DHCP的动态IP
- Client VPN:适合个人远程办公的场景,给你的设备装Client VPN客户端,连接后你的设备就处于AWS分配的VPN网段,安全组允许这个VPN网段即可,同样不用关心办公的DHCP地址
方案3:EC2 Instance Connect Endpoint
在你的VPC里创建一个EC2 Instance Connect Endpoint,通过这个端点中转连接EC2:
- 在VPC的公有或私有子网创建这个端点,确保办公网络能访问端点的IP(如果是公有子网就是公网IP,私有子网的话需要办公网络和VPC连通)
- 安全组里给EC2配置允许来自EC2 Instance Connect Endpoint的访问,或者通过IAM权限控制哪些用户能发起连接
- 连接时可以用AWS控制台直接点击“连接”,或者用AWS CLI执行:
aws ec2-instance-connect ssh --instance-id <实例ID> --region <区域> - 这个方案不用提前知道办公IP,权限靠IAM管控,很灵活
方案4:利用办公网络的公网出口IP(如果固定的话)
虽然你的办公机器是DHCP,但很多公司的办公网络出口公网IP是固定的,你可以先查一下自己办公网络的出口IP:
- Linux/macOS终端执行:
curl ifconfig.me - Windows可以通过命令提示符执行:
nslookup myip.opendns.com resolver1.opendns.com - 把查到的出口IP加到EC2安全组的对应规则里(比如SSH的22端口),这样不管内部DHCP怎么分配,只要你从办公网络出口访问,就能连接EC2
- 注意:如果公司出口IP是动态的,这个方案就不适用了
内容的提问来源于stack exchange,提问作者Biswajit
相关产品推荐
相关产品推荐

