如何为ipv4-only的服务器添加ipv6地址
本文主要介绍如何为ipv4-only的服务器添加ipv6地址。
更新:由于大范围滥用,近期warp已经基本处于处于不可用状态。RIP.
关键词:cloudflare
准备工作
- 一台Deian 系的服务器
1 | sudo apt update |
debian安装
- 安装版本高于 5.6 的内核
- 安装 wireguard 内核模块
- 安装 wireguard-go
添加backports源
1 | echo "deb http://deb.debian.org/debian $(lsb_release -sc)-backports main" | sudo tee /etc/apt/sources.list.d/backports.list |
先执行 uname -r 命令查看内核版本。如果是 5.6
以上内核则已经集成了 WireGuard ,就不需要安装了。
安装网络工具包
1 | sudo apt install net-tools iproute2 openresolv dnsutils -y |
安装 wireguard-tools
(WireGuard 配置工具:wg、wg-quick)
1 | sudo apt install wireguard-tools --no-install-recommends |
安装内核
为了稳定性推荐安装 backports 仓库中的内核 (截止发文版本为 5.10)。以下是一把梭命令:
1 | sudo apt -t $(lsb_release -sc)-backports install linux-image-$(dpkg --print-architecture) linux-headers-$(dpkg --print-architecture) --install-recommends -y |
安装完重启,并执行 uname -r
命令查看内核版本来确认新内核是否被启用。
debian安装动态内核模块
1 | sudo apt install wireguard-dkms -y |
安装后执行 modprobe wireguard 命令加载 WireGuard
内核模块。
debian安装wireguard-go
OpenVZ/LXC VPS 或者不想折腾内核的小伙伴可以安装
wireguard-go,只不过网络性能较低。
1 | curl -fsSL git.io/wireguard-go.sh | sudo bash |
PS:对于 OpenVZ/LXC 的 VPS
需要执行lsmod | grep tun命令来检查 TUN
模块是否正常加载,若没有请自行咕鸽搜索开启方法,否则是不能正常使用的。
ubuntu安装
WireGuard可从默认的Ubuntu存储库中获得。 要安装它,请运行以下命令:
1 | sudo apt update |
这将安装WireGuard模块和工具。WireGuard作为内核模块运行。
配置WARP
安装wgcf
1 | curl -fsSL git.io/wgcf.sh | sudo bash |
注册
WARP 账户 (将生成 wgcf-account.toml 文件保存账户信息)
1 | wgcf register |
生成WireGuard配置文件(wgcf-profile.conf)
1 | wgcf generate |
生成的两个文件记得备份好,尤其是
wgcf-profile.conf,万一未来工具失效、重装系统后可能还用得着。
编辑WireGuard配置文件
1 | vim wgcf-profile.conf |
1 | [Interface] |
默认的Endpoint为
engage.cloudflareclient.com,解析成ip一般是以下两个结果:
1 | 162.159.192.1 |
如果想优先使用warp的ipv4地址访问外部网络,则Endpoint
需要设置为ipv4的地址;ipv6依次类推。
DNS也是一样,如果想用ipv4地址,则需要设置一个ipv4的DNS地址,如8.8.8.8;ipv6则是2001:4860:4860::8888.
将修改好的配置文件移动到指定目录
1 | sudo cp wgcf-profile.conf /etc/wireguard/wgcf.conf |
开启网络接口
1 | sudo wg-quick up wgcf |
有可能遇到的问题
1 | /usr/bin/wg-quick: line 31: resolvconf: command not found [WireGuard | Debian] |
解决方案:
执行
1 | sudo ln -s /usr/bin/resolvectl /usr/local/bin/resolvconf |
关闭网络接口
1 | sudo wg-quick down wgcf |
正式启用网络接口
1 | # 启用守护进程 |
使用WARP+
如何获得更多的Warp+流量
自动化脚本:https://github.com/navaneethkm004/warp-plus/raw/main/main.py
需要Python3,执行之前请运行:chmod +x main.py
ID获取方式:
1 | cat wgcf-account.toml |
输入ID以后,程序开始运行
查看增加的流量:
1 | wgcf update && wgcf status |
多个设备共享
将多台设备的license_key设置为同一个,然后执行
1 | wgcf update && wgcf status |
检测warp+是否启用
服务器端执行
1 | curl -6 https://cloudflare.com/cdn-cgi/trace |
若warp=plus则说明启用成功。
若warp=on则需要指向以下操作:
执行
wgcf register重新生成一个账户;修改生成的
wgcf-account.toml,绑定license_key;执行
wgcf generate生成WireGuard VPN配置文件;执行
sudo cp wgcf-profile.conf /etc/wireguard/wgcf.conf;启动网络接口,
sudo wg-quick up wgcf;执行
curl -6 https://cloudflare.com/cdn-cgi/trace.
如果warp的值没有发生变化,需要重新执行1-6步骤。
END
感谢:
https://p3terx.com/archives/use-cloudflare-warp-to-add-extra-ipv4-or-ipv6-network-support-to-vps-servers-for-free.html
https://hiram.wang/cloudflare-wrap-vps/#2021-03%E6%9B%B4%E6%96%B0-%E5%AE%9E%E7%8E%B0%E6%97%A0%E6%8D%9F%E5%8F%8C%E6%A0%88