Google Cloud VM 配置GCP防火墙规则后端口无法开放问题咨询
问题排查步骤与解决方案
- 首先纠正一个认知误区:你在VM内部用
nmap localhost扫描的是本地环回接口,端口是否开放只和VM内部是否有服务监听对应端口有关,和GCP防火墙配置完全无关。你当前的扫描结果只能说明VM内部当前只有SSH服务在监听22端口,其余端口没有运行任何监听程序,自然显示为关闭状态。 - 核对GCP防火墙规则配置是否正确:
- 确认规则方向为入站,目标匹配你创建的VM实例(要么选网络中所有实例,要么实例标签和你VM的标签对应)
- 确认源IP范围设置为
0.0.0.0/0(如果你要对所有IP开放) - 确认允许的协议和端口覆盖了你需要开放的范围,同时没有更高优先级的拒绝规则覆盖当前规则
- 确认你的VM实例已经分配公网IP,你本地访问时使用的是VM的公网IP地址
- 检查VM内部防火墙状态:
Ubuntu 18.04默认ufw处于未启用状态,你可以执行sudo ufw status查看状态:- 如果返回
Status: inactive,则不需要额外配置ufw - 如果返回
Status: active,可以执行sudo ufw allow [端口号]开放对应端口,或者直接执行sudo ufw disable关闭内部防火墙(不推荐生产环境使用)
- 如果返回
- 正确测试端口连通性的方法:
先在VM内部启动一个测试服务监听指定端口,比如执行python3 -m http.server 8080临时启动一个监听8080端口的HTTP服务,再从本地机器执行telnet [VM公网IP] 8080测试连通性,如果此时可以连通则说明配置没有问题,其余端口不通只是因为没有对应服务运行。
内容的提问来源于stack exchange,提问作者ziemowit141
相关产品推荐
相关产品推荐

