简介
WireGuard是一款非常简单但快速且现代化的虚拟专用网,它利用了最先进的加密技术。它的目标是比IPsec更快,更简单,更精简,更有用,同时避免巨大的麻烦。它打算比OpenVPN的性能高得多。WireGuard被设计为通用VPN,用于在嵌入式接口和超级计算机上运行,适用于许多不同的情况。它最初是为Linux内核发布的,现在是跨平台(Windows,macOS,BSD,iOS,Android)和广泛部署的。它目前正在进行大量开发,但它已经被认为是业内最安全,最易于使用和最简单的虚拟专用网解决方案。
官网:www.wireguard.com
1.安装 sudo 和 lsb_release
apt install sudo lsb-release -y
2.添加 backports 源
echo "deb http://deb.debian.org/debian $(lsb_release -sc)-backports main" | sudo tee /etc/apt/sources.list.d/backports.list
sudo apt update
3.安装依赖组件&必要的网络工具
sudo apt install iproute2 openresolv -y
4.安装wireguard-tools(WireGuard配置工具:wg、wg-quick)
sudo apt install wireguard-tools --no-install-recommends
5.安装 WireGuard
查看内核版本:
uname -r
如果是 5.6 及以上内核则已经集成了 "WireGuard" 就不需要安装了。
如果 Debian 10 自带的内核版本是 4.19。
所以有如下几个安装方法可供选择:
a.安装版本高于 5.6 的内核
安装 wireguard 内核模块
安装 wireguard-go 理论网络性能:内核集成 ≥ 内核模块 > wireguard-go 不过并不是所有 VPS 都能随便装,最终选择还要看 VPS 所使用的虚拟化技术:KVM / HyperV / XEN HVM 等完整虚拟化的 VPS 主机,以上都是可选项,根据实际情况任选其一,后面有相关说明。
OpenVZ / LXC 等非完整虚拟化 VPS 主机,由于是共享宿主机内核,故无法对内核进行修改,就只能安装 wireguard-go。
如果只要安装方便快捷,对网络性能没有极致追求,又或者对以上信息一脸懵逼,请直接移步到 安装 wireguard-go 章节。KVM / HyperV / XEN HVM 等完整虚拟化的 VPS 主机,且能应对更换内核可能带来的不良后果则可以这个方式。
为了系统的稳定性推荐安装 backports 仓库中的内核 (截止发文版本为 5.9)。以下是一把梭命令:
sudo apt -t $(lsb_release -sc)-backports install linux-image-$(dpkg --print-architecture) linux-headers-$(dpkg --print-architecture) --install-recommends -y
安装完重启,并执行 uname -r 命令查看内核版本来确认新内核是否被启用。
b.安装 wireguard 内核模块 对于 Linux 不熟悉的人很容易出错,尤其是使用过改内核的脚本一顿骚操作改了一些未知来源的
“BBR 减速内核”。KVM / HyperV / XEN HVM 等完整虚拟化的 VPS 主机,内核版本 5.6 以下可以尝试执行以下命令安装
wireguard 动态内核模块。sudo apt install wireguard-dkms -y
安装后执行 modprobe wireguard 命令加载 WireGuard 内核模块。
检查是否成功加载:
lsmod | grep wireguard
6.安装 wireguard-go
OpenVZ 或 LXC 的 VPS 与不想折腾内核、追求稳定的小伙伴可以安装 wireguard-go。理论网络性能可能不及内核集成方案,不过对于正常使用而言还是绰绰有余的。
TIPS: 对于 OpenVZ 或 LXC 的 VPS 需要先执行lsmod | grep tun命令来检查 TUN/TAP 功能是否正常启用,若没有请自行咕鸽搜索开启方法,否则安装了也是不能使用的。
自己编译或者使用博主写的一把梭脚本来安装已编译好的最新稳定版 wireguard-go 二进制文件:
curl -fsSL git.io/wireguard-go.sh | sudo bash
Nice post. I was checking constantly this blog and I'm impressed!
Extremely useful info specifically the last part :
) I care for such info a lot. I was looking for this certain info for a very long time.
Thank you and best of luck.