使用cloudflare warp来获取原生IP


现在国外很多服务都开始禁止其它国家的ip访问他们自己家的服务,只让某些地区的原生IP的用户才能使用。比如netflix, ChatGPT, New Bing等。

所谓”原生IP”就是指IDC机房的IP地址和其真实地址是在同一个地区。 目前很多IDC提供商的IP都是从其它国家买来的,这样就会导致ip地址和真实地址不一致。这样的结果是,我们从这些IDC出来的请求去访问一些服务是通不了。所以,我们需要使用 Cloudflare Warp 来访问这些网站。

Cloudflare Warp是一款免费的移动应用程序,旨在为智能手机和平板电脑等移动设备提供更安全、更私密的互联网连接。它可以加密用户设备发送和接收的所有数据,使黑客难以截取和阅读敏感信息。此外,Warp还利用Cloudflare的全球网络更有效地路由流量,从而加快网站和应用程序的加载速度。warp通过wireguard把vps的所有流量先导到cloudfare的最近节点的服务,然后cloudflare利用其它全球的节点选择一个最近的原生IP请求到服务,很多服务会认为这个请求是原生的。

WARP对外访问网络的 IP 被很多网站视为真实用户,即所谓的 “原生” IP,可以解锁很多服务的:

  1. 解锁 Netflix 非自制剧
  2. 解锁ChatGPT
  3. 解锁New Bing
  4. 解锁YouTube Premium
  5. 解锁Google验证码

安装

1. 安装软件包

apt-get install net-tools openresolv wireguard

2. 安装 Cloudflare Warp

ViRb3/wgcf 是一个 Cloudflare Warp 的非官方客户端,它可以帮助我们生成 Cloudflare Warp 的配置文件。

注意替换下面命令行的中 Github Release 的版本号,最新的版本号可以在 ViRb3/wgcf Release 里查找。

# create and enter the folder
mkdir warp && cd warp
# install wgcf
wget -O wgcf https://github.com/ViRb3/wgcf/releases/download/v2.2.14/wgcf_2.2.14_linux_amd64
# change permission
chmod +x wgcf

3. 注册 Cloudflare Warp

./wgcf register

4. 生成 wgcf 配置文件

./wgcf generate

执行完当前目录会生成2个文件:

  • WARP注册文件:wgcf-account.toml
  • WireGuard 配置文件:wgcf-profile.conf

5. 复制 WireGuard 配置文件到 /etc/wireguard/ 目录

sudo cp wgcf-profile.conf /etc/wireguard/wgcf.conf

6. 修改 WireGuard 配置文件

你一定要修改 wgcf-profile.conf 文件,你把你的 VPS 的公网 IP 加进去,否则,你的 VPS 会失连。

PostUp = ip -4 rule add from <服务器 Public IP> lookup main prio 18
PostDown = ip -4 rule delete from <服务器 Public IP> lookup main prio 18

下面是配置文件的示例:

[Interface]
PrivateKey = XXXXXXXXXXXXXxxxxxxxxxxxxx=
Address = 172.16.0.2/32,2606:4700:110:8d9b:bc8f:16f:668:d891/128
DNS = 8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844
MTU = 1420
PostUp = ip -4 rule add from 10.10.10.10 lookup main prio 18
PostDown = ip -4 rule delete from 10.10.10.10 lookup main prio 18
[Peer]
PublicKey = bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=
AllowedIPs = 0.0.0.0/0,::/0
Endpoint = 162.159.192.1:2408

注意:

  • 10.10.10.10 只是一个示例,你要把它替换成你的 VPS 的公网 IP
  • 162.159.192.1 是域名的 engage.cloudflareclient.com 的 IP 地址,你可以使用 nslookup engage.cloudflareclient.com 获得。
  • 配置文件中默认的 DNS 是 1.1.1.1 这里使用了 Google 的 DNS,因为会快一些。

7. 启动 WireGuard

临时启用网络接口(命令中的 wgcf 对应的是配置文件 /etc/wireguard/wgcf.conf 的文件名前缀)

sudo wg-quick up wgcf

使用 curl ipinfo.io 命令来检查你的 IP 地址,如果显示的是 Cloudflare 的 IP 地址,那么恭喜你,你已经成功了。如:

{
  "ip": "104.28.227.191",
  "city": "Los Angeles",
  "region": "California",
  "country": "US",
  "loc": "34.0522,-118.2437",
  "org": "AS13335 Cloudflare, Inc.",
  "postal": "90009",
  "timezone": "America/Los_Angeles",
  "readme": "https://ipinfo.io/missingauth"
}

8. 设置开机自启动

sudo systemctl enable wg-quick@wgcf
sudo systemctl start wg-quick@wgcf

一键安装

bash <(curl -fsSL git.io/warp.sh) d

参考

  1. https://github.com/haoel/haoel.github.io
  2. https://p3terx.com/archives/use-cloudflare-warp-to-add-extra-ipv4-or-ipv6-network-support-to-vps-servers-for-free.html

文章作者: Payne Fu
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Payne Fu !
评论