Google 云端口转发

Google 云端口转发

我正在尝试以类似于本地防火墙的方式在 Google Cloud 中配置端口转发。我想要一个 NAT 地址,然后我可以控制一系列端口以访问特定的 VM 实例。

例如

外部 10.10.10.10 端口 tcp 100 - 199 -> VM1 外部 10.10.10.10 端口 tcp 200 - 299 -> VM2 外部 10.10.10.10 端口 tcp 300 - 399 -> VM3 等

我无法使用 LB,因为唯一可以接受这些端口的目标 VM 是原始 VM。

答案1

Google Compute Engine 防火墙默认阻止进入虚拟机的所有入口流量(即传入网络流量)。如果您的虚拟机是在默认网络上创建的,则允许使用一些端口,例如 22(ssh)、3389(RDP)。

    # Create a new firewall rule that allows INGRESS tcp:8080 with VMs containing tag 'allow-tcp-8080'
gcloud compute firewall-rules create rule-allow-tcp-8080 --source-ranges 0.0.0.0/0 --target-tags allow-tcp-8080 --allow tcp:8080

    # Add the 'allow-tcp-8080' tag to a VM named VM_NAME
    gcloud compute instances add-tags VM_NAME --tags allow-tcp-8080

    # If you want to list all the GCE firewall rules
    gcloud compute firewall-rules list

答案2

GCP 确实提供了原生和托管的 Cloud NAT 解决方案,但仅适用于出站流量(VM>>>Internet):https://cloud.google.com/nat/docs/overview

话虽如此,这种情况的替代方案可能是设置主 VM(使用任何 vRouter 软件解决方案,例如 PFsense 或 OPNsense),这将允许您将这组特定的端口转发规则强制应用于您的 VM 集。请记住,建议的解决方案是基于尽最大努力的,并且 Google 不支持上述任何第三方工具。

相关内容