2021/08/07 Updates:Netflix于2021/08/03大面积封锁了标注为Hosting用途的IP,WARP也没能幸免,让我们永远怀念它
写在开始
Cloudflare,永远的神!Cloudflare WARP是基于WireGuard开发的一款VPN,且它的使用是完全免费的。所以我们可以利用它来
- 使纯v6机器拥有v4的联通能力
- 使纯v4机器用有v6的联通能力
- 解锁流媒体(仅测试Netflix)
经过实际测试,WARP的v6路由还可以,而且链接稳定性要好于HE的Tunnel Broker,对于仅需要v6联通的话WARP是更好的选择。v4路由并没有测试过不过依托于Cloudflare的大体量应该也不差。
由于WARP的性质,本身IP并不容易被流媒体(仅测试Netflix)封锁,Netflix的解锁情况为按VPS当地的位置,如果是香港地区的VPS就解锁香港的Netflix,是美国的VPS就解锁美国的Netflix,只能说且用且珍惜。
注册WARP账号并提取配置
项目地址,作者已经提供了编译好的二进制文件下载,直接用就好
wget -O wgcf https://github.com/ViRb3/wgcf/releases/download/v2.2.2/wgcf_2.2.2_linux_amd64
chmod +x wgcf
./wgcf register //会询问是否接受Cloudflare的TOS,直接回车即可
./wgcf generate //这一步可能会跳429(一般是IP不太干净),多试几次就好(有可能需要非常多次)
如果上面顺利,在当前文件夹下会存在一个wgcf-profile.conf
的文件,需要对它进行一定的编辑才能正常使用,因为默认的配置文件会接管所有的网络流量,VPS就一瞬失联了。
- 只需要v6,不需要v4
那么将Peer中的AllowedIPs =0.0.0.0/0
这行去掉,这样WireGuard创建路由表时就只会创建v6的路由表
- 只需要v4,不需要v6
将Peer中AllowedIPs = ::/0
这行去掉,就只会有v4的路由送到WireGuard。
如果你特别熟悉WireGuard配置,那么就自行配置吧(((
WireGuard因为不同系统的安装较为不同,这里不做具体介绍,请自行安装完成。
安装完后复制配置文件到文件夹并重命名
mv wgcf-profile.conf /etc/wireguard/wgcf.conf
然后wg-quick up wgcf
,顺利的话应该已经通了。
流媒体解锁
注:此部分为v4用户想用WARP v6解锁流媒体
当你已经顺利的用上了WireGuard以后,发现默认不走v6解锁不了Netflix,那就要稍微的配置一下了。
编辑/etc/gai.conf
label ::1/128 0
label ::/0 1
label 2002::/16 2
label ::/96 3
label ::ffff:0:0/96 4
precedence ::1/128 50
precedence ::/0 40
precedence 2002::/16 30
precedence ::/96 20
precedence ::ffff:0:0/96 10
默认配置,原理可以看看下面给的参考链接,简单点就是提v6优先级(如果本来就是双栈其实默认就是v6优先)
那当然如果嫌v6慢,想让v4优先,编辑/etc/gai.conf
precedence ::ffff:0:0/96 100
就可以让v4优先了。
以下介绍进阶路由控制。
参考 Mengxy,此处做一些仔细的说明
此处介绍如何实现”源进源出”,首先修改自带路由表/etc/iproute2/rt_tables
#
# reserved values
#
255 local
254 main
253 default
252 network
0 unspec
#
# local
#
#1 inr.ruhep
此处添加一张新表network
,后通过ip addr
,确定绑定外网的网卡名,一般为eth0
,后面的命令请参考配置自行修改,需要修改的在后面会有注释。此步必须谨慎,在WireGuard的配置文件的[Interface]
部分中加入三行
Table = off
PostUp = /etc/wireguard/up
PostDown = /etc/wireguard/down
Table=off
禁用wg-quick自动创建路由,因为要自行路由,PostUp和PostDown后面指向的是放启动和关闭需要执行命令的脚本,请根据情况修改。需要给予执行权限。PostUp执行的文件内容
#!/bin/bash
ip rule add from X.X.X.X/X lookup network
ip route add table network default via GATEWAY_ADDR dev DEVICE_NAME
ip route del default via GATEWAY_ADDR dev DEVICE_NAME
ip route add 162.159.192.1 dev DEVICE_NAME via GATEWAY_ADDR
ip route add default dev wgcf
ip -6 route add default dev wgcf
X.X.X.X/X
请直接使用ip addr
查询到的绑定情况填写GATEWAY_ADDR
使用route -n
查看Gateway IPDEVICE_NAME
为绑定外网IP的网卡名162.159.192.1
为远端Cloudflare WARP接入IP,一般情况下不需要修改wgcf
为wg-quick创建的网卡名,为WireGuard文件名。
PostDown请参考上面的部分修改
#!/bin/bash
ip route add default via GATEWAY_ADDR dev DEVICE_NAME
ip route del table network default via GATEWAY_ADDR dev DEVICE_NAME
ip route del 162.159.192.1 dev DEVICE_NAME via GATEWAY_ADDR
ip rule del from X.X.X.X/X lookup network
不建议在生产环境中把全部流量送至Cloudflare WARP,毕竟一旦断开就BOOM,另外如果用于优化垃圾落地的话花点功夫白嫖WARP+效果会好一些
这边仅介绍IPv4源进源出,需要v6的请自行画瓢,此处不过多赘述。
最后
上面的内容写的比较简单,弄不明白的可以到这位大佬的博客看看。
参考引用:
- https://luotianyi.vc/4500.html
- https://luotianyi.vc/5252.html
- http://linlvan.simplesite.com/
- https://blog.51cto.com/welcomeweb/2464836
Last modified on 2021-06-15