7.11. 使用 nmtui 配置 WireGuard 客户端
您可以通过在 NetworkManager 中创建连接配置集来配置 WireGuard 客户端。使用此方法让 NetworkManager 管理 WireGuard 连接。
此流程假设以下设置:
Client:
-
Private key:
aPUcp5vHz8yMLrzk8SsDyYnV33IhE/k20e52iKJFV0A=
-
隧道 IPv4 地址:
192.0.2.2/24
-
频道 IPv6 地址:
2001:db8:1::2/32
-
Private key:
server:
-
公钥:
UtjqCJ57DeAscYKRfp7cFGiQqdONRn69u249Fa4O6BE=
-
隧道 IPv4 地址:
192.0.2.1/24
-
频道 IPv6 地址:
2001:db8:1::1/32
-
公钥:
先决条件
- 您已为服务器和客户端生成了公钥和私钥。
您知道以下信息:
- 客户端的私钥
- 客户端的静态隧道 IP 地址和子网掩码
- 服务器的公钥
- 服务器的静态隧道 IP 地址和子网掩码
-
已安装
NetworkManager-tui
软件包
流程
启动
nmtui
应用程序:nmtui
# nmtui
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 选择 Edit a connection,然后按 Enter。
- 选择 ,然后按 Enter 键。
- 选择列表中的 WireGuard 连接类型,然后按 Enter 键。
在 Edit connection 窗口中:
-
输入连接名称和虚拟接口,如
wg0
,以便 NetworkManager 应分配给连接。 输入客户端的私钥。
点 Peers 窗格旁的 :
- 输入服务器的公钥。
设置 Allowed IPs 字段。例如,将其设置为:
- 服务器隧道 IP 地址,以仅允许服务器与此客户端通信。
-
0.0.0.0/0,::/0
以允许任何远程 IPv4 和 IPv6 地址与此客户端通信。使用此设置通过隧道路由所有流量,并使用 WireGuard 服务器作为默认网关。
-
在 Endpoint 字段中输入 WireGuard 服务器的主机名或 IP 地址和端口。使用以下格式:
<hostname_or_IP>:<port_number>
- 可选:如果您在带有网络地址转换(NAT)的网络中使用客户端,或者防火墙在一段时间不活动后关闭了 UDP 连接,请以秒为单位设置持久性 keepalive 间隔。在这个间隔中,客户端向服务器发送一个保留数据包。
选择
,然后按 Enter 键。
选择 IPv4 Configuration 旁边的 ,然后按 Enter 键。
- 选择 IPv4 配置方法 Manual。
- 输入隧道 IPv4 地址和子网掩码。将 Gateway 字段留空。
选择 IPv6 Configuration 旁边的 ,然后按 Enter 键。
- 选择 IPv6 配置方法 Manual。
- 输入隧道 IPv6 地址和子网掩码。将 Gateway 字段留空。
- 可选:选择 Automatically connect。
选择
,然后按 Enter键
-
输入连接名称和虚拟接口,如
- 在带有连接列表的窗口中,选择 ,然后按 Enter 键。
- 在 NetworkManager TUI 主窗口中,选择 ,然后按 Enter 键。
- 如果您在具有 DHCP 或无状态地址自动配置(SLAAC)的网络中使用此主机,则连接可能容易被重定向。有关详情和缓解步骤,请参阅 将 VPN 连接分配给专用的路由表,以防止连接绕过隧道。
验证
Ping 服务器的 IP 地址:
ping 192.0.2.1 ping6 2001:db8:1::1
# ping 192.0.2.1 # ping6 2001:db8:1::1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示
wg0
设备的接口配置:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要在输出中显示私钥,请使用
WG_HIDE_KEYS=never wg show wg0
命令。请注意,如果已经通过 VPN 隧道发送流量,输出只会包含
latest handshake
和transfer
条目。显示
wg0
设备的 IP 配置:Copy to Clipboard Copied! Toggle word wrap Toggle overflow