【译文】如何轻松配置 WireGuard
在网上搜索 WireGuard 时机缘巧合发现的一篇非常不错的教程,之所以说机缘巧合,是先在知乎专栏发现了一篇机翻的文章,虽然机翻质量很差,但浏览发现确实是我需要的资料,遂找到原文翻译,光荣属于原作者 Stavros Korokithakis,glory belongs to Stavros Korokithakis :)。原文链接 How to easily configure WireGuard 以下是译文。
WireGuard非常棒!
最近你可能注意到了网络上关于 WireGuard 的口碑谈论。WireGuard 是一个非常简单的VPN,它使用最先进的密码技术。其口碑既来自于 WireGuard 本身的简单好用,也来自它将默认包含于 Linux 内核。Linus Torvalds 本人说他很喜欢 WireGuard,这在软件社区风靡一时,因为我们并不知道 Linus 居然能够表达爱或者除了憎恶之外的任何情感。
我在 WireGuard 使用中遇到的唯一问题是缺少文档,更准确地说是缺少预期的文档。快速入门指南提到了一个配置文件,但它从未告诉你应该如何编写这个配置文件,而且它还假设你比我更熟悉网络知识。
因为宇宙形成的初始条件决定了一切,所以 WireGuard 的文档终将不足,我将违背造物主向你展示如何轻松配置和运行它。我们开始吧!
简短概述 #
一个看起来有点结实的守卫,确保你不会下意识地觉得这个帖子干燥无聊。
WireGuard 的核心是创建从一台计算机到另一台计算机的接口。它实际上不能让你访问网络任何一端的其他计算机或通过 VPN 服务器转发所有流量,或类似的任何内容。它只是直接、快速且安全地连接两台计算机。
要做除此之外的任何事情,你需要为它配置网络,而这并不再 WireGuard 文档的范围内,但就 VPN 来说这很重要。幸运的是,WireGuard 附带了一个帮助脚本wg-quick
,几乎可以满足普通用户的所有需求。注意 wg-quick
的配置文件与wg可执行文件不兼容,但我们只需要wg-quick
,所以不用担心这个。
让我们开始设置一切。
安装和设置 #
要安装 WireGuard,请参阅安装页面,它应该非常简单。安装后,你需要为访问 VPN 的每台计算机生成一个私钥和一个公钥。由于 WireGuard 的设计,一个链接两端的计算机都需要拥有对方的公钥。
让我们生成这些密钥。在位于 VPN 中的每台计算机上,创建目录 /etc/wireguard/
,并在每台计算机上刚刚创建的目录中,执行这些命令:
$ umask 077 # This makes sure credentials don't leak in a race condition.
$ wg genkey | tee privatekey | wg pubkey> publickey
这将在每台计算机上生成两个文件privatekey
和publickey
。publickey
文件用于告诉全世界,privatekey
文件是秘密的,应该保留在生成它的计算机上。