很多便宜 VPS 虽然物理机房在海外,但因为机房 IP 段被 Google 等大厂标记成了中国大陆(也就是常说的“IP 送中”),导致访问 Google 自动跳到 .com.hk,或者调用 Gemini API 时直接被区域限制策略拦截报错 400。
换机房成本太高,最轻量有效的解决办法就是给服务器挂上 Cloudflare WARP 免费出口,并且只针对受限域名做精准分流:让 Gemini 或受限 API 走 WARP 的干净 IP,其余常规流量依然直连原机网卡,既不影响整体延迟,又能稳定解禁。
这里记录具体的检测方法、WARP 本地 Socks5 部署,以及在 Python 脚本或系统层配置路由分流的操作细节。
为什么会出现“IP 送中”与访问受限
在动手之前,先搞清楚为什么你的 VPS 会被“送中”:
– 并非运营商故意刁难:大量海外云厂商(如搬瓦工、RackNerd、Hytron 等)从亚太或国内回收/借调过 IP 广播段,各大 GeoIP 数据库(MaxMind、IPinfo 等)历史缓存未刷新;
– 大数据画像判定:大量用户通过同一机房代理访问国内服务,Google 根据客户端行为特征将该 IP 判定为中国大陆地区。
| 解锁方案 | 原理 | 核心优势 | 适用场景 |
|---|---|---|---|
| 方案一:Cloudflare WARP 分流 (推荐) | 利用 CF Anycast 全球边缘网络,为 VPS 附加纯净的 IPv4/IPv6 出站出口 | 100% 免费、原生解锁 Gemini/Google、配置极简 | 首选方案,适合调用 API 与轻量访问 |
| 方案二:DNS 策略代理解锁 | 仅劫持目标流媒体与 AI 域名的 DNS 解析,通过 SNI 代理中转握手 | 零带宽开销、原生速度 | 适合 Netflix / Disney+ 等大流量视频串流 |
| 方案三:链式中转节点分流 | 在出口前置挂载优质原生住宅 IP 或冷门原生机 | 解锁率 100%、抗风控最高 | 适合高敏商业账号与防爬虫对抗 |
准备工作与检测工具
在敲击命令前,先集中定义核心变量:
# ================= 全局参数定义 =================
WARP_SOCKS5_PORT="40000" # WARP 本地 Socks5 监听端口
TEST_GEMINI_KEY="YOUR_API_KEY" # (可选) 用于最终校验的 Gemini API 密钥
# ================================================
检测你的 IP 是否被大厂标记送中
在服务器终端执行以下两条命令,现场诊断当前网络在 Google 体系下的真实画像:
1. 检测 Google 搜索重定向(送中金标准)
服务器端:
# 请求 google.com 根路径,观察 Location 响应头
curl -sI https://www.google.com | grep -i "location:"
- 被送中表征:输出包含
location: https://www.google.com.hk/...; - 正常原生表征:无
location重定向头(返回HTTP/2 200),或者重定向至所在国当地域名(如google.co.jp)。
2. 现场探测 Gemini API 可用性
服务器端:
curl -s -o /dev/null -w "HTTP状态码: %{http_code}\n" \
"https://generativelanguage.googleapis.com/v1beta/models"
- 如果返回
400或包含User location is not supported,证明出境请求已被地理围栏拦截。
部署 Cloudflare WARP 本地 Socks5 代理
Cloudflare 官方提供了强大的 WARP 客户端,能将 VPS 的流量经过 Cloudflare 遍布全球的数据中心洗涤,输出极其纯净、被各大科技巨头认可的原生 IP。
为了不破坏 VPS 原有的 SSH 连接与常规公网服务,我们采用非全局的 Local Socks5 代理模式。
1. 安装 Cloudflare 官方仓库与 WARP 客户端
服务器端:
# 导入 Cloudflare GPG 密钥与源
curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list
# 安装 warp-cli
sudo apt-get update && sudo apt-get install -y cloudflare-warp
2. 初始化注册与模式切换(Socks5 局域代理)
⚠️ 【高能避坑】:千万不要使用默认的全局模式! 否则 WARP 会修改默认网关,可能导致你的 SSH 连接瞬间断开!
服务器端:
# 1. 注册新客户端
warp-cli --accept-tos register
# 2. 核心:切换工作模式为独立 proxy (仅提供 Socks5 端口,不改写宿主默认路由)
warp-cli --accept-tos set-mode proxy
# 3. 自定义本地监听端口
warp-cli --accept-tos set-proxy-port ${WARP_SOCKS5_PORT}
# 4. 连接网络
warp-cli --accept-tos connect
# 5. 检查连接状态
warp-cli --accept-tos status
核验标准:状态显示 Status update: Connected。
3. 验证 WARP 出口纯净度
服务器端:
# 走本地 WARP 端口测试 Google 搜索重定向
curl -x socks5h://127.0.0.1:${WARP_SOCKS5_PORT} -sI https://www.google.com | grep -i "location:" || echo "✅ 零重定向,完美脱离送中!"
# 检查当前经过 WARP 洗涤后的出站 IP 归属
curl -x socks5h://127.0.0.1:${WARP_SOCKS5_PORT} -s https://cloudflare.com/cdn-cgi/trace | grep -E "ip|loc|warp"
核验标准:输出 warp=on,且 loc 为海外合规区域(如 US, SG, JP)。
配置精准域名分流:指定流量走 WARP
如果让所有大流量(如下载、网站访客)都走 WARP,速度会受限于 CF 节点的免费 QoS。
最佳实践:配置按需分流——普通流量依然走 VPS 物理网卡直连,唯独将 *.google.com、generativelanguage.googleapis.com 等特定域名路由至本地 WARP。
1. Python / 程序中直接接入(环境变量注入)
在运行你的 Python 爬虫、Hermes Agent 或 AI 脚本时,可以直接在请求头或环境变量中指定局部代理:
import requests
# 仅对特定 API 调用配置 WARP 代理
proxies = {
'http': 'socks5h://127.0.0.1:40000',
'https': 'socks5h://127.0.0.1:40000'
}
resp = requests.get('https://generativelanguage.googleapis.com/v1beta/models', proxies=proxies)
print("Gemini API 返回状态码:", resp.status_code)
2. 通过 Sing-box / Xray 实现系统级智能域名分流
如果你在服务器上部署了透明网关或核心代理核心,可直接在 route.rules 中增加一条精准分流规则:
{
"routing": {
"rules": [
{
"type": "field",
"domain": [
"domain:googleapis.com",
"domain:google.com",
"domain:openai.com",
"domain:chatgpt.com"
],
"outboundTag": "warp-out"
},
{
"type": "field",
"network": "tcp,udp",
"outboundTag": "direct"
}
]
}
}
备用方案:通过 Smart DNS 辅助解锁
如果你的核心需求是解锁 Netflix、Disney+ 某些特定版权地区,可以利用公网已有的 SNI 解锁节点,仅替换 DNS 解析地址:
服务器端:
# 临时修改 /etc/resolv.conf 接入流媒体解锁 DNS
sudo tee /etc/resolv.conf << 'EOF'
nameserver 1.1.1.1
nameserver 8.8.8.8
EOF
配合自建的 SNI Proxy,将流媒体握手包借道优质落地机,视频媒体流依然由 VPS 本机直连,兼得高画质与低延迟!
分流效果与 API 连通性测试
1. 终极验证:现场调通 Gemini API
服务器端:
# 测试通过 WARP 接口握手 Gemini 服务的联通性
curl -x socks5h://127.0.0.1:${WARP_SOCKS5_PORT} \
-sI "https://generativelanguage.googleapis.com" | head -n 5
核验标准:返回 HTTP/2 200 或 HTTP/1.1 200,不再出现任何区域封锁报错!
常见问题与排障
Q1:安装了 WARP 之后 SSH 掉线了怎么破?
- 根因:使用了全局模式改写了系统默认网关(Default Gateway)。
- 自愈方案:
1. 通过云服务商网页端 VNC 登录控制台;
2. 执行warp-cli disconnect;
3. 执行warp-cli set-mode proxy强制固定为代理模式;
4. 重新warp-cli connect即可恢复。
Q2:为什么开启 WARP 后延迟变高了?
- 根因:WARP 是将数据送往 Cloudflare 最近的边缘数据中心洗涤,多了一层路由封装。
- 自愈方案:严格执行第三步中的“按域名精准分流”,绝不要把常规 HTTP/BT/视频流量全局送入 WARP,只将 Gemini/OpenAI 的 API 域名指向代理端口。
还没有人在这篇手记留下纸条,来做第一个亮灯的人吧。