SurfsharkVPN
SurfsharkVPN Logo
VPN 与加速器

WireGuard公钥配置示例及操作说明

适用环境与前置检查

WireGuard主要运行于Linux、SurfsharkVPNmacOS及支持该内核模块的Windows系统。在修改配置前,请确认当前用户拥有读写权限,Linux环境下通常需sudo。务必先备份现有配置,如将/etc/wireguard/wg0.conf复制至安全路径,以便出错时快速还原。使用只读命令wg show查看当前接口状态和Peer列表,确认现有连接是否正常。不要直接修改正在活动的配置文件,避免中断现有会话。

公钥获取与字段说明

公钥由私钥生成,命令为wg pubkey < private.key。在配置文件中,Client端的PublicKey字段必须严格匹配Server端private.key对应的公钥,反之亦然。注意AllowedIPs指令不仅定义路由目标,VPN下载还参与源地址校验。若客户端配置0.0.0.0/0,意味着所有未匹配更具体路由的流量均进入隧道,但局域网本地路由通常优先级更高,不会全部被吞掉。ListenPort字段定义UDP监听端口,TCP同号端口与此无关,二者是独立的监听端点。

配置示例与参数详解

以Linux Server为例,接口段包含[Interface]和ListenPort,指定私有密钥Privatekey。Peer段通过PublicKey指定对端公钥,AllowedIPs定义允许经由该Peer转发的网段,例如10.0.0.0/8。PersistentKeepalive参数仅对NAT后的客户端必要,单数字段名,避免误写为PersistentKeepalive。保持该参数为25秒或更低可维持NAT映射。修改后执行wg-quick up wg0加载配置,系统会自动完成密钥交换。

验证连接与数据流

配置生效后,使用wg show wg0确认Peers是否列出且Last Handshake时间戳在更新。若时间为空,检查UDP端口是否被防火墙阻断。通过ping 10.0.0.1测试网关连通性,再ping外网IP验证路由。若ping通但无法上网,检查客户端DNS配置是否正确指向隧道IP或外部DNS。单个测试成功不证明所有应用正常,部分应用可能因MTU或分片问题异常,可结合tcpdump在客户端抓包观察实际流量走向。

网络设备:WireGuard公钥:配置示(SurfsharkVPN)

在修改WireGuard配置前,务必备份现有文件并使用wg show检查接口状态。

故障恢复与清理

若连接中断或配置错误,立即停止接口wg-quick down wg0。若需彻底清除残留状态,执行wg close wg0。重启后加载备份配置,确保公私钥匹配。切勿在验证前删除原有Peer配置。遇到握手失败,优先检查时区同步和UDP端口可达性。若使用NAT环境,确认客户端PersistentKeepalive已设置。每次变更前后记录配置哈希,便于审计回溯。所有操作应在测试环境先行验证,避免直接影响生产网络。

手机连接编辑组 | Surfshark
整理 Android 与 iOS 的连接权限、后台运行和网络切换注意事项。
查看更多文章
连接指南

从一个连接问题开始

遇到服务端资源耗尽相关问题,可从“由管理员结合资源指标定位瓶颈”开始阅读。客户端更改参数不能代替服务端容量处理,需要结合具体环境判断。