记录一些常用的函数和瞎折腾的过程……

在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 及以上就已经集成了 Wire­Guard ,那就不需要安装了。查看内核使用如下命令:

$ 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的网络接口》。