如何在Fedora Linux上设置WireGuard VPN

更新时间

虚拟私人网络(VPN)在现代网络中被广泛使用。如今,有多种解决方案可供用户访问各种资源,同时保持其机密性和隐私。在众多VPN协议中,WireGuard因其简单性、速度和安全性而受到广泛使用。WireGuard最初在Linux内核中实现,现在也可用于其他平台,如iOS和Android等。

WireGuard的基本原理

WireGuard使用UDP作为其传输协议,并基于Critokey Routing (CKR)进行点对点通信。每个节点(无论是服务器还是客户端)都有一对密钥(公钥和私钥),公钥与允许的IP地址之间存在链接。

WireGuard设置步骤

本文将介绍如何在两个节点(PeerA和PeerB)之间设置WireGuard。两个节点均运行Fedora Linux,并使用NetworkManager进行持久配置。

第一步:安装必要的包

在PeerA和PeerB上安装wireguard-tools包:

```bash $ sudo -i

```

此包在Fedora Linux更新库中可用。它会在/etc/wireguard/目录下创建配置目录,您将在此创建密钥和接口配置文件。

第二步:生成密钥对

接下来,使用wg工具在每个节点上生成公钥和私钥:

```bash

```

第三步:配置PeerA的WireGuard接口

WireGuard接口使用名称wg0wg1等。为WireGuard接口创建配置文件,您需要以下信息:

  • 在PeerA节点上配置的IP地址和子网掩码。
  • 此Peer监听的UDP端口。
  • PeerA的私钥。

创建配置文件/etc/wireguard/wg0.conf

```bash

[Interface] Address = 172.16.1.254/24 SaveConfig = true ListenPort = 60001 PrivateKey = mAoO2RxlqRvCZZoHhUDiW3+zAazcZoELrYbgl+TpPEc=

[Peer] PublicKey = IOePXA9igeRqzCSzw4dhpl4+6l/NiQvkDSAnj5LtShw= AllowedIPs = 172.16.1.2/32 EOF ```

允许UDP流量通过此Peer将监听的端口:

```bash

```

最后,将接口配置文件导入NetworkManager,以便在重启后保持WireGuard接口的持久性:

```bash

```

成功添加连接后,您可以通过以下命令验证设备wg0的状态:

```bash

```

配置PeerB的WireGuard接口

现在,您需要为第二个Peer创建wg0接口的配置文件。确保您拥有以下信息:

  • 在PeerB上配置的IP地址和子网掩码。
  • PeerB的私钥。
  • PeerA的公钥。
  • PeerA的IP地址或主机名及其监听WireGuard流量的UDP端口。

创建配置文件/etc/wireguard/wg0.conf

```bash

[Interface] Address = 172.16.1.2/32 SaveConfig = true PrivateKey = UBiF85o7937fBK84c2qLFQwEr6eDhLSJsb5SAq1lF3c=

[Peer] PublicKey = FEPcisOjLaZsJbYSxb0CI5pvbXwIB3BCjMUPxuaLrH8= AllowedIPs = 172.16.1.254/32 Endpoint = peera.example.com:60001 EOF ```

同样,将此接口配置文件导入NetworkManager:

```bash

```

验证PeerB的wg0设备状态:

```bash

```

验证节点之间的连通性

在执行上述步骤后,两个Peer可以通过VPN连接相互通信。您可以使用以下ICMP测试验证连通性:

bash [root@peerb ~]# ping 172.16.1.254 -c 4

如果一切设置正确,您应该能看到类似如下的输出,表明Peer之间的连接正常。

总结

通过上述步骤,您可以在Fedora Linux上成功设置WireGuard VPN。WireGuard以其简单性和高效性,成为了现代VPN解决方案中受欢迎的选择。希望本指南能帮助您顺利搭建VPN连接,确保网络安全与隐私。

更新时间