如何在Ubuntu上设置WireGuard VPN(分步指南)
WireGuard是一款开源、免费、快速的VPN服务器,具有最先进的加密技术。它通过UDP传输流量,性能优于典型的两种隧道协议,即OpenVPN和IPsec。
WireGuard是一款专门为Linux内核设计的对等VPN。它在Linux内核中运行,允许您创建快速、现代和安全的VPN隧道。
WireGuard的工作原理是在每个对等设备上创建一个充当隧道的网络接口。对等体通过交换和验证公钥来相互验证,模仿SSH模型。
步骤1:在服务器上启用IP转发
您需要为VPN服务器启用IP转发,以便在VPN客户端和Internet之间路由数据包。打开
/etc/sysctl.conf
使用首选编辑器创建文件:
sudo vim/etc/sysctl.conf
注释掉(删除
#
前面的字符)以下行:

保存文件并应用更改:
sudo sysctl-p

步骤2:在Ubuntu上安装WireGuard
本教程的下一步是在Ubuntu机器上安装WireGuard,并将其设置为服务器。默认情况下,WireGuard包在Ubuntu默认存储库中可用。
sudo apt安装wireguard

安装完WireGuard软件包后,即可继续下一步操作。
步骤3:在Ubuntu上配置WireGuard VPN服务器
WireGuard的工作原理是在WireGuard网络中的每个设备之间交换公钥。现在您已经安装了WireGuard,下一步是为服务器生成私钥和公钥对。
步骤3.1:生成公用/专用键盘
运行以下命令以创建公钥/私钥对。文件将保存在
/etc/钢丝网/
目录
wg genkey | sudo tee/etc/wireguard/server_private.key | wg pubkey | sudo-teee/etc/wwireguard/server_public.key

这个
wg
命令是WireGuard的内置配置实用程序,用于获取和设置WireGuard配置。当您运行该命令时,您将收到一行base64编码的输出,即公钥(
server_public.key
)用于WireGuard服务器。
记住,私钥(
server_private.key
)永远不应该与任何人共享,并始终保持安全。
步骤3.2:配置隧道设备
接下来,您将需要为WireGuard创建一个网络接口。使用命令行文本编辑器(如vim)创建WireGuard配置文件。网络接口名称将为
wg0
.
sudo-vim/etc/wireguard/wg0.conf
添加以下内容:
[
界面
]
##
私有的
IP
住址
对于
这个
wg0
界面
##
住址
= 10.0.0.1/24
##
VPN
服务器
听
港口城市
##
侦听端口
= 51820
##
VPN
服务器
私有的
钥匙
##
私钥
=
mPIoWfKQWZP8lie2ISEZ6ul7vyESH9MqpFvxk1cxIWQ
=
##
防火墙
规则
##
张贴
=
iptables
-
A.
向前地
-
我
wg0
-
j
接受
;
iptables
-
t
nat
-
A.
后路由
-
o
enp10
-
j
伪装
PostDown
=
iptables
-
D
向前地
-
我
wg0
-
j
接受
;
iptables
-
t
nat
-
D
后路由
-
o
enp10
-
j
伪装
代码语言:
PHP
(
php
)
当然,您需要更换
私钥
与您生成的内容一起,存储在
/etc/wireguard/server_private.key
文件
您可以使用以下命令显示私钥的内容:
sudo猫/etc/wireguard/server_private.key

确保更换
enp10
之后
-后路由-o。。。
以匹配公共网络接口的名称。您可以很容易地找到它:
ip-o
4.
路线显示到
违约
|awk
“{打印$5}”
代码语言:
JavaScript
(
javascript
)

保存并关闭
wg0.conf
文件此外,将文件权限模式更改为只有根用户才能读取文件。
sudo chmod-R 600/等/钢丝网/
步骤4:启用并启动WireGuard VPN服务
在服务器上运行以下命令以在系统启动时启用自动启动并启动WireGuard。
sudo
systemctl
使可能
wg快速
@wg0
sudo systemctl启动wg-quick@wg0
代码语言:
CSS
(
css
)
使用以下命令检查其状态。你应该看看
忙碌的
在输出中:
sudo
systemctl
地位
wg快速
@wg0
服务
代码语言:
CSS
(
css
)

要检查接口状态和配置,请输入:
sudo wg show wg0

步骤5:安装和配置WireGuard客户端
首先,您必须在客户端计算机上安装WireGuard软件包。这类似于设置WireGuard服务器。
sudo apt安装wireguard

接下来,您需要使用在服务器上使用的确切步骤在对等端上生成一个公钥/私钥对。
wg genkey | sudo tee/etc/wireguard/client_private.key | wg pubkey | sudu tee/etc/wireguard/client _public.key

打开新的
/etc/wireguard/wg0.conf
使用首选编辑器在WireGuard客户端计算机上创建文件:
sudo-vim/etc/wireguard/wg0.conf
将以下行添加到文件中:
界面
##VPN客户端专用IP地址##
地址=10.0.2/24
##VPN客户端私钥##
私钥=0COkq1GMM86CmlF5blPFDYhU84iTX8iJ7lWoC1gLfnk=
同龄人
##VPN服务器公钥##
公钥=ZnD/WMx0kasJfGjFf0/uCtJoFbz0oNdq7EcieHXVaSc=
##VPN服务器公共IP地址和端口##
端点=192.168.122.101:51820
##通过VPN隧道路由所有流量##
允许的IP=0.0.0.0/0
##密钥连接处于活动状态##
PersistentKeepalive=15
更换
私钥
与您生成的内容一起,存储在
/etc/wireguard/client_private.key
文件。
sudo cat/etc/wireguard/client_private.key

替换服务器的公钥,该公钥可以在
/etc/wireguard/server_public.key
文件。
更换
端点
价值
192.168.122.101:51820
)使用服务器的公共IP地址和端口。
最后,保存并关闭文件。
您需要配置服务器端VPN选项,以允许客户端(对等)计算机和服务器之间的连接。因此,返回服务器并编辑
/etc/wireguard/wg0.conf
文件以添加客户端信息,如下所示:
sudo-vim/etc/wireguard/wg0.conf
同龄人
##客户端公钥##
PublicKey=
6.
FLtyfBQie9+EB3QYF5CR1FASca7vVYPReynlEccao=
##客户端IP地址##
允许的IP=
10
.0
2.
/
24
代码语言:
PHP
(
php
)
更换
PublicKey
文件的内容存储在
/etc/wireguard/client_public.key
文件
在客户端计算机上
.
服务器配置文件的最终版本应该如下所示:

保存文件并重新启动VPN服务器以应用更改:
sudo
systemctl
重新启动
wg快速
@wg0
服务
代码语言:
CSS
(
css
)
步骤6:将WireGuard客户端连接到服务器
运行以下命令
在客户端计算机上
将VPN客户端连接到VPN服务器:
sudo
systemctl
开始
wg快速
@wg0
代码语言:
CSS
(
css
)
现在,您应该连接到WireGuard VPN服务器,来自客户端机器的流量应该通过它进行路由。
仅此而已!客户端和服务器都必须使用Ubuntu上的对等WireGuard VPN进行安全连接。
要测试连接,请返回到VPN客户端并从中ping(
10.0.0.2
)到VPN服务器(
10.0.0.1
)看看隧道是否能正常工作。
发出砰的声响
c
3 10
.0
.0
1.
代码语言:
CSS
(
css
)

此外,您还可以通过以下方式检查连接:
sudo wg

要停止隧道传输,请关闭客户端计算机上的服务:
sudo
systemctl
停止
wg快速
@wg0
代码语言:
CSS
(
css
)
结论
祝贺我希望本教程能帮助您在Ubuntu上安装和配置WireGuard VPN服务器和客户端。此设置允许您通过将流量数据保密来匿名上网。
我强烈建议您阅读此处的WireGuard项目文档。
如果您觉得这篇文章很有帮助或遇到任何问题,请随时发表评论。
MySQL Server的5个最佳免费替换
MySQL已经成为世界上最流行的数据库引擎之一。它也被全球大多数网络托管提供商作为标准找到并支持。但有时,你的第一选择并不总是奏效。 有很多关系数据库管理系统(RDBMS)。有些侧重于特定领域;其他人的目标是完全取代。 MySQL可能是最受欢迎的选择,但它只是其中之一。 关系数据库仍然是许多不同类型应用程序的核心。为了帮助您为您的用例做出正确的选择,下面我们概述了MySQL Server的五个突出
笑话之外:Linux视角下的愚人节
Linux很有趣——是的。愚人节很有趣——是的。两天后的4月1日,XZ漏洞没有被发现,我对此表示感谢吗?对 享受是Linux生态系统的一个核心方面。坦率地说,它是一个重要的组件,为这个备受喜爱的操作系统的魅力做出了贡献。 本着这种精神,每年愚人节都会在各种开源项目之间引发一场非正式的竞赛,通过最具创意的恶作剧来展示他们的幽默感,并发布令人震惊的公告。 然而,尽管10多年前这很有趣,但如今,考虑到用
如何从Fedora 39升级到Fedora 40
你准备好将Fedora 39升级到新的Fedora 40了吗?你来对地方了! 新版本带来了许多更新,不仅是美学增强,还有使您的系统更安全、更高效的幕后改进。 在本指南中,我们将逐步引导您完成升级过程,确保您能够顺利过渡到Fedora 40,不会出现任何问题。 备份您的数据 首先,让我们确保您的所有重要数据都是安全的。因此,在执行其他操作之前,我们强烈建议您进行完整的系统备份,这样,如果出现问题,您
如何使用Apple的日志应用程序进行个性化日志
试着养成写日记的习惯,但每次尝试都会失去动力?苹果的日记本应用程序简化了记录你的想法和保存你的记忆的过程。从创建第一个条目到自定义它,以下是您需要知道的全部内容。 如何创建日记帐分录 之一 iOS 17.2更新带来的功能是一款名为《日记本》的应用,苹果设计这款应用是为了帮助你反思和练习感恩。一旦你将iPhone升级到iOS 17.2,Journal应用程序应该会出现在你的主屏幕上。以防您不小心将其
如何在Linux中解压缩文件(附示例)
通过压缩文件,在计算机和服务器之间传输数据变得简单高效。 当文件被压缩时,它们可以节省本地驱动器上的磁盘空间,并使从互联网下载文件变得更容易、更方便,在大多数情况下,使用的带宽远低于发送全尺寸文件。 所以你收到了 拉链 文件,而现在您正纠结于如何在Linux上解压缩它的内容?您可以使用unzip命令在Linux上提取(解压缩)文件。 首先,必须安装 解压缩 因为在大多数Linux发行版中默认情况下