logo NodeSeekbeta

GCP解决CDN互联问题(找Google自家AI搓了个脚本来墙自己)

GCP CDN Egress Blocker

一个专为 Google Cloud Platform (GCP) 设计的自动化防火墙管理工具。它通过抓取 Cloudflare、Akamai 和 Fastly 的最新 ASN 路由段,在 GCP VPC 网络层级实施出站拦截,从而规避昂贵的 CDN 互联流量费用。


⚠️ 提示:由于非中国以外厂商基本都使用这三家的CDN服务,为避免您的服务器网络出现问题,请在安装完所有您需要的程序后再运行此脚本。使用此脚本后,您与互联网基本已经失联一半了。


🌟 功能特性

  • 云端拦截:在数据包离开虚拟机前将其丢弃,不计入 CDN 出站流量。
  • 动态更新:自动从 RADB 获取最新的 IP 库,防止因 CDN IP 变动导致的漏洞。
  • 一键配置:交互式安装向导,支持 每天/每周/每月 自动运行。
  • 安全检查:内置自动化测试模块,实时反馈拦截状态。

🔑 准备工作:配置 GCP 权限

由于脚本需要操作云端防火墙,必须确保你的 VM 实例拥有授权。

方式 A:调整实例 API 范围(推荐)

  1. 停止你的虚拟机实例。
  2. 点击 “修改 (Edit)”,找到 “API 访问范围 (Access Scopes)”
  3. 选择 “为每个 API 设置访问权限”,将 “计算引擎 (Compute Engine)” 设为 “读写 (Read Write)”
  4. 保存并重新启动。

方式 B:IAM 角色授权

GCP IAM 控制台 找到实例关联的服务账号,为其添加 Compute Security Admin 角色。


🛠 安装与使用

1. 安装基础依赖

# Ubuntu / Debian
sudo apt-get update && sudo apt-get install whois coreutils -y

# CentOS / RHEL
sudo yum install whois -y

2. 下载并安装

# 下载脚本
curl -O 'https://raw.githubusercontent.com/BlackReferee/gcp-cdn-blocker/main/gcp-cdn-blocker.sh'

# 赋予脚本权限
chmod +x gcp-cdn-blocker.sh

# 运行交互式向导配置定时更新频率
./gcp-cdn-blocker.sh

🚀 常用指令命令,描述

指令 描述
./gcp-cdn-blocker.sh update 强制更新:立即抓取新 IP 并同步至 GCP 防火墙
./gcp-cdn-blocker.sh check 健康检查:验证 Cloudflare/Fastly/Akamai 的拦截状态
./gcp-cdn-blocker.sh clear 完全卸载:清理所有防火墙规则及定时任务

🔍 验证拦截效果

运行检测命令后,拦截成功的状态应如下:

检测目标 www.cloudflare.com ... [ 成功拦截 ]
检测目标 www.akamai.com ... [ 成功拦截 ]
检测目标 www.fastly.com ... [ 成功拦截 ]
手动测试:curl -I -m 5 https://www.cloudflare.com,应当返回 Connection timed out

Github仓库地址

https://github.com/BlackReferee/gcp-cdn-blocker

12
  • 厉害了我的哥

  • 支持

    但刚看到标题我还以为是有什么免费连cdn的方案 xhj002

  • @twoonefour #2 可以用其他家的比如我们的俩逆天大厂

  • 墙自己脚本?哦用来防止费用爆炸,那墙自己也勉强算正确用法吧…

  • 应该只需要几行命令吧

  • 收藏了

  • 收藏

  • @twoonefour #2 其实也不是没有,用route64之类的隧道挂上v6,这样既解决了标准层网络没v6,又解决了CDN访问 ac01

  • @Stevie0427 #8 有没有可能很少大厂机能用隧道,反正这个免费机挂不上隧道的比如heipv6

  • 可以和外网说拜拜了 xhj001

12

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有43595位seeker

🎉欢迎新用户🎉