第 8 章 设置 WireGuard VPN
WireGuard 是一个在 Linux 内核中运行的高性能 VPN 解决方案。它使用现代加密机制,并且比许多其他 VPN 解决方案更容易配置。另外,WireGuard 的小代码库降低了安全攻击的攻击面,因此提高安全性。对于身份验证和加密,WireGuard 使用类似于 SSH 的键。
WireGuard 只作为技术预览提供。红帽产品服务级别协议(SLA)不支持技术预览功能,且其功能可能并不完善,因此红帽不建议在生产环境中使用它们。这些预览可让用户早期访问将来的产品功能,让用户在开发过程中测试并提供反馈意见。
如需有关 技术预览功能支持范围 的信息,请参阅红帽客户门户网站中的技术预览功能支持范围。
请注意,参与 WireGuard VPN 的所有主机都是同级的。本文档使用术语 客户端
来描述建立连接的主机,使用 服务器
来描述固定主机名或客户端连接的 IP 地址的主机,并可选通过这个服务器路由所有流量。
要设置 WireGuard VPN,您必须完成以下步骤。您可以使用不同的选项执行大多数步骤:
- 为 VPN 中的每个主机创建公钥和私钥。
- 使用 nmcli,nmtui、RHEL web 控制台、nm-connection-editor 或 wg-quick 服务配置 WireGuard 服务器。
- 使用 命令行、RHEL web 控制台 或 图形界面 在 WireGuard 服务器上配置 firewalld。
- 使用 nmcli,nmtui、RHEL web 控制台、nm-connection-editor 或 wg-quick 服务配置 WireGuard 客户端。
WireGuard 在网络层(层 3)上运行。因此,您无法使用 DHCP,且必须为服务器和客户端上的隧道设备分配静态 IP 地址或 IPv6 本地链接地址。
只有在禁用 RHEL 中的 Federal Information Processing Standard(FIPS)模式时,才能使用 WireGuard。
8.1. WireGuard 使用的协议和原语
WireGuard 使用以下协议和原语: