GCP Network Loadbalancer无法转发流量至后端,如何仅允许LB访问后端?
解决方案:GCP Network LB后端仅允许LB访问的问题
问题根源
GCP的**Network Load Balancer(四层)**采用直接转发模式,客户端请求的源IP会直接透传给后端服务器。你之前配置的防火墙规则仅允许了LB健康检查的IP段,但实际访问的请求源是客户端自身的公网IP,因此被防火墙拦截;当开放0.0.0.0/0时,所有客户端IP都被允许,所以能正常访问。
可行方案
方案1:继续使用Network LB,限制特定客户端IP
- 保留现有健康检查IP段的防火墙规则(确保LB能正常探测后端状态)。
- 添加新的防火墙规则,仅允许你需要开放的客户端IP范围(比如公司办公网IP、特定用户IP段等)访问后端服务器的目标端口,替代
0.0.0.0/0。 - 注意:如果后端服务器带有公网IP,需额外配置防火墙规则,阻止外部IP直接访问后端的公网IP(仅允许LB的转发流量)。
方案2:切换为HTTP(S) Load Balancer(七层),仅允许LB代理IP访问
- 七层LB采用代理模式,后端服务器收到的请求源IP均为LB的代理IP(正好是你已配置的
35.191.0.0/16、209.85.152.0/22、209.85.204.0/22这些段)。 - 无需修改现有防火墙规则,只需将负载均衡器切换为HTTP(S) LB,即可实现仅允许LB转发的流量访问后端,同时阻止任何直接访问后端的请求。
内容的提问来源于stack exchange,提问作者Naran
相关产品推荐
相关产品推荐

