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 范围(推荐)
- 停止你的虚拟机实例。
- 点击 “修改 (Edit)”,找到 “API 访问范围 (Access Scopes)”。
- 选择 “为每个 API 设置访问权限”,将 “计算引擎 (Compute Engine)” 设为 “读写 (Read Write)”。
- 保存并重新启动。
方式 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
厉害了我的哥
支持
但刚看到标题我还以为是有什么免费连cdn的方案
@twoonefour #2 可以用其他家的比如我们的俩逆天大厂
墙自己脚本?哦用来防止费用爆炸,那墙自己也勉强算正确用法吧…
应该只需要几行命令吧
收藏了
收藏
@twoonefour #2 其实也不是没有,用route64之类的隧道挂上v6,这样既解决了标准层网络没v6,又解决了CDN访问
@Stevie0427 #8 有没有可能很少大厂机能用隧道,反正这个免费机挂不上隧道的比如heipv6
可以和外网说拜拜了