一个高速、安全、可以复活被墙IP的VPN —— WireGuard 服务端手动教程

本文最后更新于 2018年11月12日 09:02 可能会因为没有更新而失效。如已失效或需要修正,请留言!

从几个月前就有人跟我说过 WireGuard 这个下一代VPN协议,不过当时网上也没什么中文教程,官方又全是英文,零零散散的看不懂就给无视了。

最近一段时间,貌似 WireGuard 开始流行了,好多人都推荐给我,让我写教程。我搜索了下,找到了几个中文教程,虽然也是零零散散的,不过要重点感谢一下这个脚本,让我清楚了完整配置过程。

昨天下午和今天上午简单研究了下,差不多可以写教程啦~


客户端教程:WireGuard —— Windows/Android 客户端简单使用教程

WireGuard简单介绍

注意:WireGuard 是通过 UDP 协议传输数据的,这意味着它可以搭建在被墙的服务器上使用,复活被墙IP

同时:因为是 UDP 传输的,所以也不怕被墙,锐速、BBR 这类TCP加速工具也不会对其起到加速作用。

另外:如果你当地运营商对海外 UDP 链接进行 QOS 限速,那么速度可能不如使用 TCP 链接的代理软件理想。

至于该 VPN 是否容易被GFW针对封锁,目前还不得而知,至少目前 WireGuard 连 1.0 正式版都不算。

更少的代码

相比于 OpenVPN 、 IPSec 的几十万行代码,WireGuard 只有短短的四千行。

更容易部署

对于初次接触的人来说,相比于其他VPN协议,WireGuard 更容易部署。

更安全的加密

  • Curve25519 目前最高水平的秘钥交换算法。
  • ChaCha20 对称加解密算法,比 AES 更快更高效。
  • Poly1305 是一种 MAC (Message Authentication Code) 标准,用于验证数据的完整性和消息的真实性。
  • BLAKE2 一种更安全的 HASH 算法(类似的有 SHA1, SHA256, MD5)
  • SipHash24 另一种 HASH 算法。
  • HKDF 一种秘钥衍生算法。

Linux之父的评价:

Linus Torvalds, on the Linux Kernel Mailing List:
Can I just once again state my love for it and hope it gets merged soon? Maybe the code isn’t perfect, but I’ve skimmed it, and compared to the horrors that are OpenVPN and IPSec, it’s a work of art(它是一件艺术品).

官方网站:https://www.wireguard.com/


再多的我也编不出来了,大家凑活着看吧。

目前该地区对 VPN 的封锁日益加重,就连 Cisco AnyConnect VPN 思科VPN都在逐渐被干扰(前段时间开始不少人向我反馈频繁断开连接 和 干脆连不上),所以对 VPN 有需求的可以考虑一下 WireGuard ,而且WireGuard 还比 思科VPN配置简单,不需要导入证书什么的。

因为其链接特性,所以 WireGuard 有很好的稳定性,无论你怎么切换网络 或者 网络波动导致断开后,往往可以很快恢复链接,所以如果拿来加速游戏的话,可能效果不错(当然前提是你的代理服务器也要网络不错)。


前提要求

  • 系统要求:Debian 8 / 9、Ubuntu 14.04 / 16.04 / 18.04 / 18.10
  • 服务器要求:OpenVZ 虚拟化的服务器不支持安装该VPN,其他虚拟化均可。

如果担心出错,那么我推荐 Debian9、Ubuntu16.04 / 18.04 / 18.10 系统,这些较新的系统更不容易出错,相对来说 Ubuntu 系统安装更方便!

注意:如果你用的是 Vultr、DO,且你本地没有 IPv6 地址,那就不要勾选 Enable IPv6 ,否则可能客户端链接时可能会出错。

另外,请确保你的系统是纯净的,建议重装系统后直接开始本教程!

CentOS7 系统可以参考下官方给的安装代码,至于后面的配置步骤什么的全系统通用。因为时间有限,所以我目前只测试了各个 Debian Ubuntu 系统,有空的话我测试下 CentOS7,补充下手动教程。


Debian安装步骤

点击展开 查看更多


Ubuntu安装步骤

点击展开 查看更多


验证是否安装成功

点击展开 查看更多

配置步骤

点击展开 查看更多

启动WireGuard

点击展开 查看更多


其他说明

我也是昨天(11/09)才开始研究 WireGuard ,所以很多地方我也不懂,如果有哪里写错了请记得提醒我,有什么需要补充的也请告诉我,谢谢~


参考脚本:https://github.com/yobabyshark/wireguard

参考教程:https://www.wireguard.com/install/

参考教程:https://git.zx2c4.com/WireGuard/about/src/tools/man/wg-quick.8

转载请超链接注明:月下博客 » 一个高速、安全、可以复活被墙IP的VPN —— WireGuard 服务端手动教程
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!

留言评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code