飞机加速器我的账户
飞机加速器
VPN 基础

WireGuardEndpoint配置方法与实战配置示例

本文面向有基础网络配置经验的运维人员,完整梳理WireGuard场景下Endpoint字段的核心作用、前置检查逻辑,结合云服务器与本地软路由打通的实际场景给出可落地的配置步骤,同时覆盖配置后的验证方法与常见故障定位思路,所有操作均基于官方开源WireGuard版本实现,不涉及第三方定制化功能。

WireGuard Endpoint的核心配置原理

WireGuard配置中的Endpoint字段,本质是给当前节点标记对端对等体的公网可达地址加UDP端口,它不属于节点自身的绑定参数,而是专门用于指定对端节点的接入位置,和OpenVPN等传统VPN的对端地址配置逻辑有明显差异。

网络设备:WireGuard Endpo

运维人员调试软路由与云服务器的WireGuard隧道对接参数

当两个对等体其中一方处于NAT内网环境、没有固定公网IP时,只有配置了正确Endpoint的节点会主动向对端发起握手请求,飞机VPN不需要额外部署端口转发服务,只要两端的公网路由可达,就能完成隧道初始化。

配置前的前置检查项

正式填写Endpoint参数前,首先要完成基础连通性校验,以云服务器加家庭软路由的常见场景为例,先在本地软路由上ping云服务器的公网IP,确认公网路由没有被运营商拦截,再登录云服务器的控制台,在安全组规则里放通WireGuard使用的UDP端口,避免端口层面的访问被拦截。

接下来要提前生成两个节点的独立公私钥对,每个节点的私钥仅保存在本地,公钥可以在对等体之间任意分发,同时提前规划好WireGuard专属的内网网段,不要和两端本地的现有内网网段冲突,避免后续出现路由环路。

如果其中一个节点处于家庭内网没有公网IP,不要在有公网IP的节点的Peer段填写无效的Endpoint地址,只需要在处于内网的节点配置里填写有公网IP节点的Endpoint信息,就可以实现主动握手。

WireGuard Endpoint:配置示例说明

我们以公网IP为112.xx.xx.xx、WireGuard监听端口为51820的云服务器,和部署在家庭内网的OpenWrt软路由两个节点为例,云服务器的WireGuard内网IP设置为10.0.0.1,飞机VPN本地软路由的WireGuard内网IP设置为10.0.0.2。

在本地软路由的WireGuard配置文件的[Peer]段中,填写指向云服务器的完整参数:PublicKey填入云服务器的公钥字符串,AllowedIPs填写10.0.0.1/32,Endpoint填写112.xx.xx.xx:51820,同时添加PersistentKeepalive参数,数值设为25,这样软路由会定期向云服务器发起保活请求,飞机哪怕软路由处于运营商NAT后面,也能维持隧道的连通性。

如果是两个异地机房的对等体,两端都持有独立公网IP,那么两边的[Peer]段都可以填写对方的公网IP加对应监听端口作为Endpoint,不需要配置持久保活参数,任意一端都可以主动发起握手请求,适合跨地域的内网资源互通场景。

配置后的验证与常见误区排查

所有参数填写完成后,执行wg-quick up wg0命令启动隧道,再执行wg show命令查看运行状态,如果输出内容里出现latest handshake字段,且后面的时间是几秒前的记录,就说明Endpoint配置生效,两端已经完成了加密握手。

新手最常遇到的误区是把Endpoint字段填成本端的公网IP,这种情况下本端节点会尝试和自己建立连接,永远无法完成握手,排查时可以先ping你填写的Endpoint字段里的IP地址,确认路由可达之后再核对地址是否填错。

部分用户会在Endpoint里填入动态域名,这种用法本身是官方支持的,但要注意WireGuard默认不会定期自动重新解析域名,只有在隧道重启或者握手失败触发重连的时候,才会重新解析域名对应的IP,如果对端的动态域名解析记录发生变更,需要手动触发一次重连才能更新最新的地址。

如果确认Endpoint地址填写正确但始终没有握手记录,可以在两端分别用tcpdump抓对应WireGuard端口的UDP包,查看握手报文是在传输过程中被丢弃,还是对端节点没有正确返回响应,逐步定位链路层面的拦截点。

VPN 基础编辑组
VPN 基础编辑组 ·内容编辑
解释加密隧道、连接协议与出口地址,帮助理解 VPN 的工作方式。
查看更多文章
配置入门

从一个连接问题开始

遇到长期空闲设备重新启用VPN相关问题,可从“先核对授权状态再进行基本连通验证”开始阅读。过去曾经可用不能代替当前验证,需要结合具体环境判断。