如何在Ubuntu上安装和配置WireGuard VPN

更新时间

WireGuard是一款开源、免费的快速VPN服务器,采用最先进的加密技术。它通过UDP传输流量,性能优于典型的两种隧道协议,即OpenVPN和IPsec。WireGuard是一个点对点的VPN,专门为Linux内核设计,能够在Linux内核内部运行,允许您创建快速、现代和安全的VPN隧道。

步骤1:在服务器上启用IP转发

为了让VPN服务器能够在VPN客户端和互联网之间路由数据包,您需要启用IP转发。使用您喜欢的编辑器打开/etc/sysctl.conf文件:

bash sudo vim /etc/sysctl.conf

找到以下行并去掉前面的#字符:

```bash

```

保存文件并应用更改:

bash sudo sysctl -p

步骤2:在Ubuntu上安装WireGuard

接下来,我们需要在Ubuntu机器上安装WireGuard并将其设置为服务器。默认情况下,WireGuard软件包可在Ubuntu默认的存储库中找到。

bash sudo apt install wireguard

安装完成后,可以继续下一步。

步骤3:在Ubuntu上配置WireGuard VPN服务器

WireGuard通过在WireGuard网络中的每个设备之间交换公钥来工作。现在您已经安装了WireGuard,下一步是为服务器生成私钥和公钥对。

步骤3.1:生成公钥/私钥对

运行以下命令以创建公钥/私钥对。文件将保存在/etc/wireguard/目录下。

bash wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key

wg命令是WireGuard的内置配置工具,用于获取和设置WireGuard的配置。运行此命令后,您将获得一行Base64编码输出,即WireGuard服务器的公钥(server_public.key)。

请记住,私钥(server_private.key)绝不能与任何人分享,始终保持安全。

步骤3.2:配置隧道设备

接下来,您需要为WireGuard创建一个网络接口。使用命令行文本编辑器(如vim)创建WireGuard配置文件,网络接口名称将为wg0。

bash sudo vim /etc/wireguard/wg0.conf

添加以下内容:

```plaintext [Interface]

wg0接口的私有IP地址

Address = 10.0.0.1/24

VPN服务器监听端口

ListenPort = 51820

VPN服务器私钥

PrivateKey = mPIoWfKQWZP8lie2ISEZ6ul7vyESH9MqpFvxk1cxIWQ=

防火墙规则

PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o enp1s0 -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o enp1s0 -j MASQUERADE ```

当然,您需要将PrivateKey替换为您在/etc/wireguard/server_private.key文件中生成的内容。您可以通过以下命令显示私钥的内容:

bash sudo cat /etc/wireguard/server_private.key

确保将enp1s0替换为您的公共网络接口的名称。您可以使用以下命令轻松找到它:

bash ip -o -4 route show to default | awk '{print $5}'

保存并关闭wg0.conf文件。此外,将文件权限模式更改为仅根用户可以读取这些文件。

bash sudo chmod -R 600 /etc/wireguard/

步骤4:启用并启动WireGuard VPN服务

运行以下命令以启用在系统启动时自动启动并启动WireGuard。

bash sudo systemctl enable wg-quick

wg0

使用以下命令检查其状态。您应该在输出中看到“active”:

bash sudo systemctl status wg-quick

wg0.service

步骤6:将WireGuard客户端连接到服务器

在客户端机器上运行以下命令以连接VPN客户端到VPN服务器:

bash sudo systemctl start wg-quick

wg0

结论

恭喜!希望本教程能帮助您在Ubuntu上安装和配置WireGuard VPN服务器和客户端。此设置使您能够匿名浏览网页,保持流量数据的私密性。

我强烈建议您阅读WireGuard项目文档。如果您觉得这篇文章对您有所帮助或遇到任何问题,请随时发表评论。

更新时间