最近使用的VPS服务器遇到了一个问题,那就是我VPS服务器被标记成了中国IP,所以youtube会员、后台播放等功能都无法使用。

于是通过技术交流,发现可以套上Swarp来解决这个问题,通过两天不断的研究,终于解决了这个问题,做个流程,方便自己下次配置。
首先,安装Warp
参考文档
https://ybfl.xyz/111.html#使用CloudflareWARP给VPS服务器免费添加IPv6网络
https://www.imcxx.com/archives/80/#使用CFWARP添加替换IPv4/IPv6
https://p3terx.com/archives/use-cloudflare-warp-to-add-extra-ipv4-or-ipv6-network-support-to-vps-servers-for-free.html#用CloudflareWARP给VPS服务器免费添加IPv4或IPv6网络支
https://www.v2fly.org/config/routing.html#ruleobject#routing修改
安装步骤
1.首先安装一些必要的工具,防止接下来的操作出问题。
aptupdate
aptinstallcurlsudolsb-release-y
2.安装网络工具包
sudoaptinstallnet-toolsiproute2openresolvdnsutils-y
3.安装wireguard-tools
sudoaptinstallwireguard-tools--no-install-recommends
4.安装WireGuard
先执行命令查看内核版本。如果是5.6以上内核则已经集成了Wire-Guard,就不需要安装了。
unname-r
如果内核5.6以下,推荐全新内核安装
sudoapt-t$(lsb_release-sc)-backportsinstalllinux-image-$(dpkg--print-architecture)linux-headers-$(dpkg--print-architecture)--install-recommends-y
5.使用wgcf生成WireGuard配置文件
安装wgcfcurl-fsSLgit.io/wgcf.sh|sudobash
注册WARP账户(将生成wgcf-account.toml文件保存账户信息)wgcfregister
生成Wire-Guard配置文件(wgcf-profile.conf)wgcfgenerate
生成的两个文件记得备份好,尤其是wgcf-profile.conf,万一未来工具失效、重装系统后可能还用得着。
6.编辑WireGuard配置文件
这里默认的情况是服务器都有IPV4。
将配置文件中的节点域名engage.cloudflareclient.com解析成IP。不过一般都是以下两个结果:
162.159.192.1
2606:4700:d0::a29f:c001
将配置文件中的engage.cloudflareclient.com替换为162.159.192.1,并删除AllowedIPs=0.0.0.0/0。即配置后的文件如下图:
原理:AllowedIPs=::/0参数使得IPv6的流量均被Wire-Guard接管,让IPv6的流量通过WARPIPv4节点以NAT的方式访问外部IPv6网络
7.启用WireGuard网络接口
将Wire-Guard配置文件复制到/etc/wireguard/并命名为wgcf.conf。sudocpwgcf-profile.conf/etc/wireguard/wgcf.conf
开启网络接口(命令中的wgcf对应的是配置文件wgcf.conf的文件名前缀)。sudowg-quickupwgcf
执行执行ipa命令,此时能看到名为wgcf的网络接口
执行以下命令检查是否连通。同时也能看到正在使用的是Cloud-flare的网络。
IPv4OnlyVPS
curl-6ip.p3terx.com
IPv6OnlyVPS
curl-4ip.p3terx.com
测试完成后关闭相关接口,因为这样配置只是临时性的。
sudowg-quickdownwgcf
正式启用Wire-Guard网络接口
#启用守护进程
sudosystemctlstartwg-quick@wgcf
#设置开机启动
sudosystemctlenablewg-quick@wgcf
WARP的情况有点特殊,现实的情况有可能是:
IPv4Only服务器优先通过原来的IPv4网络去访问外部网络。
IPv6Only服务器优先通过原来的IPv6网络去访问外部网络。
所以根据实际的需求就要手动去设置优先级。
IPv4优先
编辑/etc/gai.conf文件,在末尾添加下面这行配置:
precedence::ffff:0:0/96100
一键添加命令如下:
#IPv4优先
grep-qE'^[]*precedence[]*::ffff:0:0/96[]*100'/etc/gai.conf||echo'precedence::ffff:0:0/96100'|sudotee-a/etc/gai.conf
IPv6优先
label2002::/16
#IPv6优先
grep-qE'^[]*label[]*2002::/16[]*2'/etc/gai.conf||echo'label2002::/162'|sudotee-a/etc/gai.conf
验证优先级
执行curlip.p3terx.com命令,显示IPv4地址则代表IPv4优先,否则为IPv6优先。
PS:这里切记你的VPS要支持IPV6,并且给予IPV6权限
到这里就完成了Warp的配置工作。下面我们就来配置Xray
Xray这里我选用了Mack的一键脚本,很方便。
https://github.com/mack-a/v2ray-agent
1.首先在脚本中选择IPV6人机验证,点击添加。
2.这时候/etc/v2ray-agent/xray/conf目录下会多出来一个routing.json文件,修改geosite如下:
{
"routing":{
"domainStrategy":"IPOnDemand",
"rules":[
"type":"field",
"domain":[
"geosite:google",
"geosite:youtube"
],
"outboundTag":"IP6-out"
}
]
重启后即可完成所有操作。这时候你访问Youtube就是使用WARP的IPV6了。也可以通过https://ip.sb来查看。
当然以上操作也适用于各种解锁流媒体,只要Warp不被Ban,理论上都是没问题的。
晚高峰测试了下速度,通过套Swarp的速度也还可以接受,youtube大概在6W左右,跑4K还是没问题的。(不过可惜了我这DMIT的优质线路)
最有再次感谢TG上的朋友及mack脚本作者的帮助。









