谷歌云代理商:如何配置谷歌云服务器的端口转发?

本文由【云老大】 TG@yunlaoda360 撰写

外部协议转发

  1. 创建防火墙规则:创建一个允许外部流量到达目标实例的防火墙规则。

    bash

    ini 复制代码
    gcloud compute firewall-rules create ALLOW_IPV4_FIREWALL_RULE_NAME \
        --target-tags=allow-ipv4-ext \
        --allow=tcp:80 \
        --source-ranges=0.0.0.0/0
  2. 创建虚拟机实例:创建一个虚拟机实例,并在实例上安装所需的服务器软件(如Apache)。

    bash

    sql 复制代码
    gcloud compute instances create VM_INSTANCE_NAME \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ipv4-ext \
        --metadata=startup-script='#! /bin/bash
        sudo apt-get update
        sudo apt-get install apache2 -y
        sudo a2ensite default-ssl
        sudo a2enmod ssl
        vm_hostname="$(curl -H "Metadata-Flavor:Google" \
        http://169.254.169.254/computeMetadata/v1/instance/name)"
        echo "Page served from: $vm_hostname" | \
        tee /var/www/html/index.html
        sudo systemctl restart apache2'
  3. 创建目标实例:创建一个目标实例,该实例包含上一步创建的虚拟机。

    bash

    ini 复制代码
    gcloud compute target-instances create TARGET_INSTANCE_NAME \
        --instance=VM_INSTANCE_NAME \
        --zone=ZONE
  4. 预留静态外部IP地址:预留一个静态外部IPv4地址。

    bash

    ini 复制代码
    gcloud compute addresses create IPV4_ADDRESS \
        --region=REGION
  5. 创建转发规则:创建一个转发规则,将TCP流量转发到目标实例。

    bash

    ini 复制代码
    gcloud compute forwarding-rules create IPV4_FORWARDING_RULE_NAME \
        --load-balancing-scheme=EXTERNAL \
        --region=REGION \
        --ip-protocol=TCP \
        --address=IPV4_ADDRESS \
        --ports=80 \
        --target-instance=TARGET_INSTANCE_NAME \
        --target-instance-zone=ZONE
  6. 测试设置 :获取转发规则的IP地址,并使用curl命令测试设置是否成功。

内部协议转发

  1. 创建目标实例:创建一个目标实例,该实例包含虚拟机。

    bash

    ini 复制代码
    gcloud compute target-instances create TARGET_INSTANCE_NAME \
        --instance=VM_INSTANCE_NAME \
        --zone=ZONE
  2. 创建转发规则:创建一个转发规则,将TCP流量转发到目标实例。

    bash

    ini 复制代码
    gcloud compute forwarding-rules create IPV4_FORWARDING_RULE_NAME \
        --load-balancing-scheme=INTERNAL \
        --network-tier=PREMIUM \
        --region=REGION \
        --ip-protocol=TCP \
        --ports=80 \
        --target-instance=TARGET_INSTANCE_NAME \
        --target-instance-zone=ZONE
  3. 创建测试客户端虚拟机:创建一个测试客户端虚拟机,用于发送流量到转发规则的IP地址。

    bash

    ini 复制代码
    gcloud compute instances create CLIENT_VM_NAME \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ssh
  4. 测试设置 :获取转发规则的IP地址,并使用curl命令测试设置是否成功。

相关推荐
考虑考虑30 分钟前
JDK27中的Set.ofLazy
java·后端·java ee
乌暮2 小时前
Spring AOP 与 Spring 事务:用大白话彻底理解原理与实践
java·数据库·spring boot·后端·sql·学习·spring
我不会起名字3223 小时前
未接入最终读上限的参数:`websocketMaxMsgLen` 与 12.5 倍差距
后端·websocket·go·即时通讯·im·故障排查
一条Go3 小时前
接收方合并去重:同一个人为什么只该收到一次通知
后端·架构·github
张一凡934 小时前
给 Coding Agent 加一道"架构闸门":Jin 是如何做到"先审架构、再写代码、不漂移"的
前端·后端·agent
Jvav练习生4 小时前
AI Agent 总在关键时刻“失忆”翻车?一文讲透上下文工程(附可运行 Python 代码)
后端
leo在掘金4 小时前
只挂了11小时,5000台开发机被塞进SSH公钥
后端·架构
xjz18424 小时前
Rust 运算符优先级:括号不只用来改变顺序
后端
写码跑山的老艾4 小时前
为什么有了 MySQL,还要 Redis 和 Elasticsearch?从一件商品看数据系统的权衡
后端