什么是 WireGuard?为什么 如此受欢迎?
WireGuard 是一个易于配置、快速且安全的开源 VPN,它利用了最新的加密技术。目的是提供另外一种更快、更简单、更简洁的常用VPN,它可以轻轻松松地在树莓派这类低端机器设备到高端云服务器上部署安排。
IPsec和OpenVPN等绝大多数其他处理方案是几十年前研发的。安全科研人员和内核开发者JasonDonenfeld意识到它们速度比较慢且不易于正确系统配置和标准化管理。
这令他建立了一个新的开源代码VPN协议和处理方案,它更加快速、安全、便于部署安排和标准化管理。
WireGuard最开始是为Linux研发的,但如今可用于Windows、macOS、BSD、iOS和Android。它仍在活跃研发中。
WireGuard普及一下知识
由于 WireGuard 运行在内核空间,因此可以高速提供安全的网络。
WireGuard 想必不用过多介绍了,目前网上的 WireGuard 教程有的是一键脚本、有的是老方法,安装慢而且会带入了一堆乱七八糟的东西,而官方文档并没有详细说明安装方法。对于 VPS 而言则还要考虑一些实际因素,不然随意安装只有报错等着你。所以博主根据实际经验写了这篇适用于通用操作系统 Debian 10+ 的 WireGuard 安装教程,适合有手动配置 WireGuard 需求的小伙伴。
WireGuard 安装 准备工作
安装 sudo
和 lsb_release
apt install sudo lsb-release -y
添加 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
WireGuard 安装依赖组件
- 安装必要的网络工具
sudo apt install iproute2 openresolv -y
- 安装 wireguard-tools (WireGuard 配置工具:
wg
、wg-quick
)sudo apt install wireguard-tools --no-install-recommends
Linux VPS 安装 WireGuard
先执行 uname -r
命令查看内核版本。如果是 php5.6 及以上内核则已经集成了 WireGuard ,就不需要安装了。
当然看到这篇教程的小伙伴肯定大多数都不是这个情况,因为目前 Debian 10 自带的内核版本是 4.19。所以有如下几个安装方法可供选择:
- 安装版本高于 5.6 的内核
- 安装 wireguard 内核模块
- 安装 wireguard-go
理论网络性能:内核集成 ≥ 内核模块 > wireguard-go
不过并不是所有 VPS 都能随便装,最终选择还要看 VPS 所使用的虚拟化技术:
- KVM / HyperV / XEN HVM 等完整虚拟化的 VPS 主机,以上都是可选项,根据实际情况任选其一,后面有相关说明。
- OpenVZ / LXC 等非完整虚拟化 VPS 主机,由于是共享宿主机内核,故无法对内核进行修改,就只能安装 wireguard-go。
如果只要安装方便快捷,对网络性能没有极致追求,又或者对以上信息一脸懵逼,请直接移步到 安装 wireguard-go 章节。
WireGuard 安装新版内核
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
命令查看内核版本来确认新内核是否被启用。
安装 wireguard 内核模块
这个安装方式博主个人并不是很推荐,对于 Linux 不熟悉的人很容易出错,尤其是使用过改内核的脚本一顿骚操作改了一些未知来源的 “BBR 减速内核”。
KVM / HyperV / XEN HVM 等完整虚拟化的 VPS 主机,内核版本 5.6 以下可以尝试执行以下命令安装 wireguard 动态内核模块。
sudo apt install wireguard-dkms -y
安装后执行 modprobe wireguard
命令加载 WireGuard 内核模块。
最后执行 lsmod | grep wireguard
命令检查是否成功加载。
安装 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
WireGuard 安装教程结束啦~
WireGuard安装完成你就可以开始你的 WireGuard 折腾之旅了。
主要是因为WireGuard是UDP传输数据,部分地区运营商对UDP有干扰,很有可能导致断流等问题,暂不强烈推荐作为日常FQ手段使用,只不过在tcp协议被阻隔的VPS上同样是一种补救措施~。
本文为原创文章,版权归三条八主机所有,欢迎分享本文,转载请保留出处!
内容反馈