You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GCP实例SSH访问异常:指定公网IP无法连接,0.0.0.0/0可正常访问

排查GCP VM SSH自定义防火墙规则失效问题

1. 确认防火墙规则的优先级与覆盖关系

  • 检查是否存在优先级更高的拒绝类防火墙规则(比如deny-all-ingress),这类规则会优先匹配并覆盖你的允许规则。GCP防火墙规则按优先级数字从小到大执行,数字越小优先级越高。
  • 确保你的SSH允许规则优先级高于任何可能拦截SSH流量的规则。

2. 验证防火墙规则的配置细节

  • 确认规则的目标标签:如果VM实例没有添加对应的标签,规则不会生效。比如你的规则标签设为allow-ssh,要检查VM的标签列表里是否包含这个值。
  • 检查规则的协议与端口:必须明确指定tcp:22,不能只选“所有协议”或漏填端口。
  • 确认源IP的格式:必须是[你的公网IP]/32(比如192.168.1.100/32),GCP要求源地址为CIDR格式,单独IP必须加/32后缀。

3. 排查NAT/代理导致的真实源IP变化

  • 即使你查到的是自己的公网IP,若通过公司网络、家庭路由器NAT或VPN访问,实际到达GCP的源IP可能是另一个(比如公司出口IP、VPN服务器IP)。
  • 可以临时开启允许0.0.0.0/0的SSH规则,登录VM后查看真实连接源IP:
    • Debian/Ubuntu系统执行:grep sshd /var/log/auth.log
    • RHEL/CentOS系统执行:grep sshd /var/log/secure
    • 从日志里找到最近的SSH登录记录,里面的源IP才是需要添加到防火墙规则的地址。

4. 检查VPC网络的附属配置

  • 确认VM所在子网没有启用特殊路由配置(比如私有Google访问),避免流量路径异常。
  • 检查是否存在子网级网络ACL,这类ACL独立于VPC防火墙,也会拦截流量,需要确保它允许你的IP访问22端口。

5. 验证规则的应用范围

  • 确认防火墙规则的网络范围是VM所在的VPC,而非其他VPC。
  • 如果VM属于共享VPC,要检查规则是在宿主项目还是服务项目中配置的,共享VPC的规则需要在对应层级正确设置。

内容的提问来源于stack exchange,提问作者Its Andrew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 13:05:54