使用warp隐藏vps的真实ip
最近发现一些境外的图层网站还有例如reddit等网站屏蔽了很多vps的ip地址,导致即使通过vps代理也无法访问这些网站。研究了一下,发现运行v2ray的vps使用warp可以隐藏vps的真实ip。
简单来说访问网络的数据路径变更为:
境内v2ray客户端 → Cloudflare CDN 集群 → 境外VPS → Cloudflare WARP 集群→ reddit等网站
这样vps出口ip就变成了Cloudflare池子里面的ip了,实际测试可以访问reddit等网站。不得不说Cloudflare真是赛博大善人!
具体配置如下:
1.安装warp
根据 https://pkg.cloudflareclient.com/ 网站上的安装指南安装warp,我的vps是ubuntu,安装步骤如下:
# Add cloudflare gpg key
curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg
# Add this repo to your apt repositories
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
# Install
sudo apt-get update && sudo apt-get install cloudflare-warp
# 启动 WARP 服务
sudo systemctl start warp-svc
sudo systemctl enable warp-svc
2.设置warp
1)注册warp
sudo warp-cli registration new
2)设置warp为代理模式
sudo warp-cli mode proxy
注意,如果跳过这步,直接运行:sudo warp-cli connect 的话会直接导致vps的ssh断连,因为所有出口都经过warp,且没有任何配置,这时候需要通过vps供应商的管理界面把warp断掉才行。
3)启动warp
sudo warp-cli connect
4)检测warp运行情况
#检查监听端口
ss -ltnp | grep 40000
# 测试 SOCKS5 代理是否能访问 Google
curl --socks5 127.0.0.1:40000 https://www.google.com -v
# 或者测试 Cloudflare 是否通
curl --socks5 127.0.0.1:40000 https://www.cloudflare.com/cdn-cgi/trace
如果有返回结果就ok了。
5)把warp-proxy注册为系统服务
a.创建 systemd 服务文件
sudo vi /etc/systemd/system/warp-proxy.service
b.编辑warp-proxy.service
[Unit]
Description=Cloudflare WARP Proxy Mode
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/bin/warp-cli mode proxy
ExecStartPost=/usr/bin/warp-cli connect
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
c.重新加载 systemd 并启用服务
sudo systemctl daemon-reload
sudo systemctl enable warp-proxy.service
sudo systemctl start warp-proxy.service
d.重启vps后,检查状态
warp-cli status
显示 connected 就ok了
3.配置v2ray服务端,修改v2ray的配置文件为:
{
"inbounds": [
{
"port": 23456,
"listen": "127.0.0.1",
"protocol": "vless",
"settings": {
"clients": [
{
"id": "********hidden-uuid************"
}
],
"decryption": "none"
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/mypath"
}
}
}
],
"outbounds": [
{
"protocol": "socks",
"settings": {
"servers": [
{
"address": "127.0.0.1",
"port": 40000
}
]
},
"tag": "warp"
},
{
"protocol": "freedom",
"tag": "direct"
}
],
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"outboundTag": "direct",
"domain": [
"geosite:netflix",
"geosite:youtube"
]
},
{
"type": "field",
"outboundTag": "direct",
"ip": [
"127.0.0.1",
"::1",
"8.8.8.8",
"8.8.4.4",
"1.1.1.1"
]
},
{
"type": "field",
"outboundTag": "warp",
"network": "tcp,udp"
}
]
}
}
最后重启v2ray服务即可,客户端不用做任何改动。
这个配置文件的含义是,除了Netflix和YouTube网站、本机、还有几个dns的ip走直连外,其他流量都经过warp。当然也可以根据需求使用其他配置。
免费版 Warp 在高并发/大流量下会出现限速,一般稳定在 10~50Mbps 左右,而且网络延迟也会增加一些,所以只要网站不限制vps ip访问(或者没有强隐私需求,有的网站会抓取访问的ip作别的用途),没有必要通过Warp。
参考:
1.https://pkg.cloudflareclient.com/
2.chatgpt