在Ubuntu上手动安装Cloudflare WARP
若你的服务器上只有IPv4,但却想使用IPv6来进行网络访问,你可以使用Cloudflare WARP来实现。
我的服务器使用的Ubuntu 20.04这个版本,在此系统上安装官方的WRAP运行一切正常。安装软件其实简单,具体如下:
一、安装Wireguard:
1、安装openresolv,如果必要的网络工具如net-tools、iproute2系统没有自带,也需要安装,请根据需要安装:
$ sudo apt install openresolv -y
2、安装 wireguard及wireguard-tools ,各系统下如何安装,可能参考见官方网站:https://www.wireguard.com/install/。
$ sudo apt install wireguard
据说内核在5.6 及以上就已经集成了 WireGuard ,那就不需要安装了。查看内核使用如下命令:
$ uname -r
安装好Wireguard后,我们还需要接着安装一个开源的软件wgcf(项目地址:https://github.com/ViRb3/wgcf),它可以用来在Cloudflare WARP上注册并生成配置文件。
二、安装用于注册WARP的wgcf文件:
1、使用如下命令安装wgcf:
$ sudo curl -fsSL git.io/wgcf.sh | bash
2、通过wgcf注册WARP,并生成注册文件:
$ wgcf register
3、通过wgcf生成wireguard的配置文件
$ wgcf generate
执行完当前目录会生成2个文件:
WARP注册文件:wgcf-account.toml;wireguard配置文件:wgcf-profile.conf。
修改wgcf-profile.conf文件,[interface]下加入下面两条路由规则 ,将你主机的真实IP写进去。因为默认配置是双栈配置,不添加路由直接使用会让你的服务器失联。
PostUp = ip rule add from <服务器ip> lookup main
PostDown = ip rule delete from <服务器ip> lookup main
将配置文件其复制到 /etc/wireguard/ 下:
$ sudo cp wgcf-profile.conf /etc/wireguard/wgcf.conf
配置文件弄好后,就可以测试一下看有没有报错,没有报错就是成功了。
友情提醒一下:注册生成的配置文件可以备份一下,如果重装了,可直接复制wgcf.conf到/etc/wireguard/使用,就省去了装wgcf和注册的过程。
临时启用网络接口(命令中的wgcf对应的是配置文件wgcf.conf的文件名前缀)
$ wg-quick up wgcf
验证,ping一下谷歌,看是否返回ipv6地址:
$ ping ipv6.google.com
测试没问题,停用这个临时网络接口:
$ wg-quick down wgcf
当然也可查看网络接口,如流量等:
$ sudo wg show wgcf
或者验证接口的配置:
$ ip a show wgcf
注意:在我安装时出现这样的错误,安装完成不报错,无法启动wg-quick up wgcf,具体提示如下:
[root@Server ~]# wg-quick up wgcf
[#] ip link add wg0 type wireguard
RTNETLINK answers: Operation not supported
Unable to access interface: Protocol not supported
[#] ip link delete dev wgcf
Cannot find device "wgcf"
此时请执行下面命令然后重启就应该正常了(ubuntu和CentOS都可以这样解决):
sudo apt-get update
sudo apt-get upgrade
sudo systemctl enable --now systemd-resolved
如果所有的信息都正确无误,就可以正式启用WireGuard网络接口,并设置开机启动:
# 设置开机自启
$ systemctl enable wg-quick@wgcf
# 启用守护进程
$ systemctl start wg-quick@wgcf
其它相关命令:
$ systemctl status wg-quick@wgcf
$ systemctl stop wg-quick@wgcf
$ systemctl restart wg-quick@wgcf
网络接口的配置请详见《配置WARP的网络接口》。