谷歌云 gcp 免费的服务器,网上有很多的激活样例,这里就不再赘述。主要是针对是一些扣费项做一些补充与说明。
首先需要检查自己的 snapshots 快照有没有。否则会扣费。

如果有,不要慌,进入到 disks 去删除。这里也得看一下自己的 type 是不是标准型的 30gb,如果不是的话就删实例吧。还有是美西哈

另外就是防火墙设置了,我这里做的比较激进,只允许入站,三个我的入站 ip,其他全部禁止了。值得注意的是,我这个 gcp主要是挂一下小服务的,不用做代理。
允许这些入站就可以了,出站先不用设置:

因为出站会有大量的 cdn 需要被访问,所以我写了一个脚本来进行禁止出站。(注意需要在这个机子挂其他节点的代理,这里先不赘述,就是拿一个跳板)
等着下载就可以了,注意需要先代代理才可以 bash 该脚本
因为这里的下载链接好像也有一些用到 cdn 的,为了稳妥起见故挂代理先。
bash
#!/bin/bash
# --- 配置区域 ---
IPSET_NAME="out_block_list"
CHAIN_NAME="CUSTOM_OUT_BLOCK"
# ----------------
if [ "$EUID" -ne 0 ]; then
echo "请使用 sudo 运行此脚本"
exit
fi
echo "=== 1. 初始化 IPSet 集合 ==="
ipset create $IPSET_NAME hash:net -exist
ipset flush $IPSET_NAME
echo "=== 2. 下载并导入封锁列表 ==="
# >>> 1. 国家/地区 <<<
echo "-> 正在下载: 中国 (CN)..."
curl -s http://www.ipdeny.com/ipblocks/data/countries/cn.zone | xargs -I {} ipset add $IPSET_NAME {} -exist
echo "-> 正在下载: 澳大利亚 (AU)..."
curl -s http://www.ipdeny.com/ipblocks/data/countries/au.zone | xargs -I {} ipset add $IPSET_NAME {} -exist
# >>> 2. CDN 厂商 <<<
echo "-> 正在下载: Cloudflare..."
curl -s https://www.cloudflare.com/ips-v4 | xargs -I {} ipset add $IPSET_NAME {} -exist
echo "-> 正在下载: Fastly..."
curl -s https://api.fastly.com/public-ip-list | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/[0-9]{1,2}' | xargs -I {} ipset add $IPSET_NAME {} -exist
echo "-> 正在下载: Akamai (使用新源)..."
# 【修正】使用了你提供的新仓库,并转为 raw 格式
# 注意:Akamai 列表可能包含空行或注释,加个 grep 过滤一下只取数字开头的行
curl -s https://raw.githubusercontent.com/platformbuilds/Akamai-ASN-and-IPs-List/master/akamai_ip_list.lst | grep -E "^[0-9]" | xargs -I {} ipset add $IPSET_NAME {} -exist
echo "=== 3. 配置 iptables 出站拦截 ==="
# 创建自定义链
iptables -N $CHAIN_NAME 2>/dev/null
# 清空自定义链
iptables -F $CHAIN_NAME
# 【核心规则】匹配 IPSet 丢弃
iptables -A $CHAIN_NAME -m set --match-set $IPSET_NAME dst -j DROP
# 其余放行
iptables -A $CHAIN_NAME -j RETURN
echo "=== 4. 挂载到 OUTPUT 链 ==="
if ! iptables -C OUTPUT -j $CHAIN_NAME 2>/dev/null; then
iptables -I OUTPUT 1 -j $CHAIN_NAME
echo "-> 已挂载拦截规则到 OUTPUT 链首。"
fi
# 统计
COUNT=$(ipset list $IPSET_NAME | grep -cE '^[0-9]')
echo ""
echo "✅ 部署完成!"
echo "🚫 已屏蔽出站网段数: $COUNT"
然后等待执行就可以了:
bash
cat firewall.log
nohup: ignoring input
=== 1. 初始化 IPSet 集合 ===
=== 2. 下载并导入封锁列表 ===
-> 正在下载: 中国 (CN)...
-> 正在下载: 澳大利亚 (AU)...
-> 正在下载: Cloudflare...
-> 正在下载: Fastly...
-> 正在下载: Akamai (使用新源)...
=== 3. 配置 iptables 出站拦截 ===
=== 4. 挂载到 OUTPUT 链 ===
-> 已挂载拦截规则到 OUTPUT 链首。
✅ 部署完成!
🚫 已屏蔽出站网段数: 26130
评论
还没有评论,来发第一个吧
