8.16. 使用 nm-connection-editor 配置 WireGuard 客户端
您可以通过在 NetworkManager 中创建连接配置集来配置 WireGuard 客户端。使用此方法让 NetworkManager 管理 WireGuard 连接。
先决条件
- 您已为服务器和客户端生成了公钥和私钥。
您知道以下信息:
- 客户端的私钥
- 客户端的静态隧道 IP 地址和子网掩码
- 服务器的公钥
- 服务器的静态隧道 IP 地址和子网掩码
流程
打开终端窗口,输入:
nm-connection-editor
# nm-connection-editorCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 点 按钮添加新连接。
- 选择 WireGuard 连接类型,然后单击 。
- 可选:更新连接名称。
- 可选:在 General 选项卡中,选择 Connect automatically with priority。
在 WireGuard 选项卡上:
-
输入虚拟接口的名称,如
wg0,这是 NetworkManager 应分配给连接的名称。 - 输入客户端的私钥。
点 添加对等点:
- 输入服务器的公钥。
设置 Allowed IPs 字段。例如,将其设置为:
- 服务器隧道 IP 地址,以仅允许服务器与此客户端通信。
0.0.0.0/0;::/0;允许任何远程 IPv4 和 IPv6 地址与此客户端进行通信。使用此设置通过隧道路由所有流量,并使用 WireGuard 服务器作为默认网关。请注意,通过隧道路由所有流量可能会影响到其他主机的连接,具体取决于服务器路由和防火墙配置。
-
在 Endpoint 字段中输入 WireGuard 服务器的主机名或 IP 地址及端口。使用以下格式:
<hostname_or_IP<:<port_number> - 可选: 如果您在带有网络地址转换(NAT)的网络中使用客户端,或者防火墙在一定时间不活动状态后关闭 UDP 连接,则设置持久的间隔(以秒为单位)。在这个间隔,客户端会向服务器发送一个实时数据包。
- 点。
-
输入虚拟接口的名称,如
在 IPv4 Settings 选项卡上:
- 在 Method 列表中选择 Manual。
- 单击 来输入隧道 IPv4 地址和子网掩码。
如果要通过隧道路由所有流量,请在 Gateway 字段中设置服务器的隧道 IPv4 地址。否则,将字段留空。
通过隧道路由所有 IPv4 流量需要您在此客户端上的 Allowed IP 字段中包含
0.0.0.0/0。
在 IPv6 Settings 选项卡上:
- 在 Method 列表中选择 Manual。
- 单击 来输入隧道 IPv6 地址和子网掩码。
如果要通过隧道路由所有流量,请在 Gateway 字段中设置服务器的隧道 IPv6 地址。否则,将字段留空。
通过隧道路由所有 IPv4 流量需要您在此客户端上的 Allowed IP 字段中包含
::/0。
- 点 存储连接配置集。
- 如果您在具有 DHCP 或无状态地址自动配置(SLAAC)的网络中使用此主机,则连接可能容易被重定向。有关详情和缓解步骤,请参阅将 VPN 连接分配给专用路由表,以防止连接绕过隧道。
验证
Ping 服务器的 IP 地址:
ping 192.0.2.1 ping6 2001:db8:1::1
# ping 192.0.2.1 # ping6 2001:db8:1::1Copy 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