很多刚接触WireGuard的用户都会卡在连通性问题上,排查到最后往往是Endpoint参数配置错误导致的,这个参数不是简单的服务器地址填写项,是用来指定对等节点公网可达位置、对接隧道两端的核心配置字段。本文结合家用OpenWrt软路由作为客户端、云服务器部署WireGuard作为服务端的实际场景,拆解WireGuard Endpoint的配置示例说明、实操步骤、验证方法和常见误区,帮大家避开配置过程中的常见问题。

家用软路由与云服务器端WireGuard隧道对接配置实操场景
配置前的前置检查要求
在修改Endpoint配置之前,首先要确认两端的网络基础条件符合要求:作为服务端的云服务器需要有至少一个客户端可以直接访问的公网地址,不管是IPv4还是IPv6都可以,同时服务端上WireGuard程序的监听UDP端口,已经在云服务商的外网安全组、服务器本地的防火墙规则里完成放通,只放通TCP协议的话WireGuard的数据包完全无法传输。
还要提前生成好两端的公私钥对,服务端的私钥仅保存在服务端本地,所有客户端的公钥都要提前录入到服务端的Peer配置段中,完成预授权。这一步是所有后续配置的基础,就算Endpoint的地址填写完全正确,没有完成密钥预授权的话,两端也无法完成握手建立隧道。
WireGuard Endpoint基础配置示例说明
常规的服务端配置文件里本身不需要填写任何指向客户端的Endpoint参数,所有的Endpoint配置都只需要写在客户端的Peer配置段里,用来指向你部署WireGuard服务端的公网地址,不需要在两端都做对称配置。
最通用的静态公网IP场景配置示例,直接在客户端的Peer段里填写服务端的固定公网IPv4地址加冒号加WireGuard的监听端口即可,写法参考Endpoint = 112.xx.xx.xx:51820,这种配置适合服务端有固定公网IP的场景,客户端启动后就会主动往这个指定地址的UDP端口发送握手请求。
如果服务端没有固定公网IP,用动态域名解析来绑定变动的公网地址,Endpoint字段可以直接填写域名加端口,写法参考Endpoint = wg-server.example.com:51820,WireGuard本身内置了域名解析能力,不需要在客户端额外部署动态域名解析客户端,就能自动识别域名对应的IP变动。
如果本地运营商分配的是内网IPv4地址,但是提供了公网IPv6地址,你也可以在Endpoint里填写服务端的公网IPv6地址,注意按照规范把IPv6地址放在方括号内,写法参考Endpoint = [240e:xxxx:xxxx::xxxx]:51820,这种配置不需要做内网穿透,就能直接通过IPv6网络和服务端建立隧道。
配置后的连通性验证步骤
写完配置保存后先重启WireGuard服务,不要第一时间尝试ping隧道内的虚拟地址,先在客户端本地用抓包工具监听WireGuard对应的物理网卡的UDP数据包,查看有没有往你填写的Endpoint地址持续发送握手包,如果完全没有对应的出站数据包,大概率是Endpoint字段的格式写错了,比如IPv6地址没有加方括号,或者端口参数填写了非数字字符。
如果能看到客户端一直在往目标地址发送握手包,狗急加速器但是完全收不到任何回应包,就回到服务端检查WireGuard的监听端口是否正常运行,用网络命令确认UDP端口处于正常监听状态,同时核对云服务商的安全组规则,确认对应UDP端口没有被拦截,很多新手配置时只放通了TCP端口,就会出现一直发握手包没有回应的问题。
确认握手包有正常回应之后,在任意一端的终端执行wg show命令,看到最新握手时间显示在两分钟以内,就说明WireGuard隧道已经正常建立,这时候再尝试ping隧道内的对端虚拟IP,基本都能正常连通。
常见配置误区排查
很多新手会错误地在服务端的Peer段里也填写客户端的Endpoint参数,如果客户端是家用路由器、手机这类处于内网环境、没有公网地址的设备,这么配置之后服务端会主动往客户端的内网地址发送数据包,这些数据包根本不可能跨公网抵达客户端,反而会干扰客户端主动发起的正常连接,常规内网客户端场景下,服务端的Peer段完全不需要填写Endpoint参数。
还有部分用户给Endpoint配置了动态域名之后,发现服务端IP变动之后隧道长时间断连,这是因为WireGuard默认只有在发起新握手的时候才会重新解析Endpoint的域名,你可以在客户端配置里添加PersistentKeepalive参数,设置为25秒,这样就算服务端的公网IP发生变动,客户端也会很快重新解析域名发起新的握手请求,自动恢复隧道连接。
整体来看WireGuard Endpoint的配置逻辑非常轻量化,本质上就是给客户端指定一个可以正常访问到服务端的网络地址,狗急官网下载不需要额外的复杂封装,只要地址可达、端口放通、密钥匹配,基本都能顺利完成隧道搭建,不需要添加多余的冗余配置。

