使用CF WARP添加或者替换IPv4/IPv6

可解锁服务器所在地区Netflix,新加坡VPS解锁新区,以次类推
解锁已失效

一键脚本

github项目:fscarmen/warp
使用方式

wget -N https://raw.githubusercontent.com/fscarmen/warp/main/warp-go.sh && bash warp-go.sh

后续管理执行warp-go即可
配置文件目录:/opt/warp-go

此处内容需要评论回复后(审核通过)方可阅读。

手动安装

PS.此方式不适用于香港地区

安装wireguard

centos

yum -y install epel-release elrepo-release
yum -y install yum-plugin-elrepo
yum -y install kmod-wireguard wireguard-tools

debian

apt install libmnl-dev linux-headers-$(uname -r) build-essential make git openresolv
apt update
apt upgrade
apt install wireguard-dkms wireguard-tools

配置文件目录位于:/etc/wireguard
开启关闭指令

wg-quick up xxxx
wg-quick down xxxx

安装Wgcf

github项目

wget -O wgcf https://github.com/ViRb3/wgcf/releases/download/v2.2.2/wgcf_2.2.2_linux_amd64
chmod +x wgcf

初次使用需要注册用户并生成配置文件:

./wgcf register
./wgcf generate

wgcf-account.tomlwgcf-profile.conf两个新生成的文件。前者是你的WARP账户信息,如果有WARP+账户可以替换成自己的账户;后者就是WireGuard的配置文件了

配置文件

WG连接后是内核层级的软件,会建立自己的虚拟网卡,且WARP客户端均为内网NAT地址

实现以下目标
路由

修改配置文件两种情况:

接管/新增IPv6

删除掉AllowedIPs = 0.0.0.0/0

最终如图所示:
IPV6配置

接管本地IPv4+IPv6路由的配置

谨慎操作
使用了宝塔面板会冲突,无法生效

在源配置添加以下,使入站走原来IP的路由

PostUp = ip -4 rule add from 10.0.0.1 table main
PostDown = ip -4 rule delete from 10.0.0.1 table main

10.0.0.1修改为本机IP网段
ip addr 查看本机ipv4网段(一般为eth0)
大厂(aws aliyun tencent等)一般是内网,改为内网地址
小厂一般是公网,改为公网地址

完整配置:
IP4+6

如果需要指定IP出口走默认路由,配置文件中增加:

PostUp = ip -4 rule add to 8.8.8.8 table main
PostDown = ip -4 rule delete to 8.8.8.8 table main

这种情况下,可以使用GOST转发,iptables无法使用
如果需要使用iptables转发,需要再增加配置:

PostUp = ip -4 rule add from 8.8.8.8 table main
PostDown = ip -4 rule delete from 8.8.8.8 table main

PostUpPostDown可以同时写多条规则

指定IP走warp

warp国际路由不是很好,如果小鸡只是需要解锁用,指定IP走warp即可

#AllowedIPs = 0.0.0.0/0   //注释或者删除掉
AllowedIPs = 141.101.64.0/18  //添加需要走WARP的IP

Netflix-IP列表

测试配置

复制文件到目录wireguard

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

没有的话wireguard文件夹的话创建下

mkdir /etc/wireguard

启动wireguard

wg-quick up wgcf

如果执行wg-quick up wgcf1无反应,则使用systemctl start wg-quick@wgcf

如果提示权限不足
排除系统未启用IPv6

sysctl -a |grep disable_ipv6

看到全部都是1,就是"不允许ipv6"的意思
vi /etc/sysctl.conf
修改disable_ipv6的所有变成0
执行生效

sysctl -p

执行以下命令检查是否连通。同时也能看到正在使用的是 Cloud­flare 的网络。

curl -6 ip.p3terx.com
curl -4 ip.p3terx.com

测试完成后关闭相关接口,因为这样配置只是临时性的。

wg-quick down wgcf

如果因为配置错误机子连不上,重启即可

启用Wire­Guard网络接口

确认没问题后再执行

守护进程

systemctl enable wg-quick@wgcf
systemctl start wg-quick@wgcf
systemctl restart wg-quick@wgcf
systemctl stop wg-quick@wgcf
systemctl disable wg-quick@wgcf

备注

如果想指定IP走WARP,默认其他不走,可以按以下配置:
speedtest官网

AllowedIPs = 151.101.2.219
AllowedIPs = 151.101.66.219
AllowedIPs = 151.101.130.219
AllowedIPs = 151.101.194.219

后续

使用过程中,出现过无缘无故断网了
为避免warp无法使用,可以设定定时检测并重启

新建ping.sh

#!/bin/bash
R_IP=`ping 1.1.1.1 -c4 | awk '/^4/{print $4}'`
if [ $R_IP -le 1 ] ; 

        then
        
        systemctl restart wg-quick@wgcf

                fi

然后chmod +x ping.sh

crontab -e加入定时任务

*/1 * * * * bash /root/ping.sh

如果执行报错以下内容,参考这里

ping.sh: line 9: syntax error near unexpected token `fi'
ping.sh: line 9: `                fi'

文章来源1
文章来源2

最后修改:2022 年 08 月 23 日 12 : 12 PM