8.16. 使用 nm-connection-editor 配置 WireGuard 客户端
您可以通过在 NetworkManager 中创建连接配置集来配置 WireGuard 客户端。使用此方法让 NetworkManager 管理 WireGuard 连接。
先决条件
- 您已为服务器和客户端生成了公钥和私钥。
您知道以下信息:
- 客户端的私钥
- 客户端的静态隧道 IP 地址和子网掩码
- 服务器的公钥
- 服务器的静态隧道 IP 地址和子网掩码
流程
打开终端窗口,输入:
# nm-connection-editor
- 点 按钮添加新连接。
- 选择 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
。
- 点 存储连接配置集。
验证
Ping 服务器的 IP 地址:
# ping 192.0.2.1 # ping6 2001:db8:1::1
显示
wg0
设备的接口配置:# wg show wg0 interface: wg0 public key: bnwfQcC8/g2i4vvEqcRUM2e6Hi3Nskk6G9t4r26nFVM= private key: (hidden) listening port: 51820 peer: UtjqCJ57DeAscYKRfp7cFGiQqdONRn69u249Fa4O6BE= endpoint: server.example.com:51820 allowed ips: 192.0.2.1/32, 2001:db8:1::1/128 latest handshake: 1 minute, 41 seconds ago transfer: 824 B received, 1.01 KiB sent persistent keepalive: every 20 seconds
要在输出中显示私钥,请使用
WG_HIDE_KEYS=never wg show wg0
命令。请注意,如果您已经通过 VPN 隧道发送流量,则输出只有
latest handshake
和transfer
条目。显示
wg0
设备的 IP 配置:# ip address show wg0 10: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000 link/none inet 192.0.2.2/24 brd 192.0.2.255 scope global noprefixroute wg0 valid_lft forever preferred_lft forever inet6 2001:db8:1::2/32 scope global noprefixroute valid_lft forever preferred_lft forever inet6 fe80::73d9:6f51:ea6f:863e/64 scope link noprefixroute valid_lft forever preferred_lft forever
其他资源
-
您系统上的
wg (8)
手册页