WireGuard是一种现代、快速且安全的虚拟专用网络 (VPN) 通信协议和免费开源软件。WireGuard易于使用、性能高效。它利用了最新的加密技术,提供了比IPsec和OpenVPN 等传统 VPN 协议更好的性能和更强大的功能。WireGuard协议通过UDP传递流量,速度和安全性有显著优势。它设计简单、高效,适用于范围广。本文介绍在OpenWrt中搭建WireGuarde服务器,并通过手机远程连接的方法。
本文使用的固件:ImmortalWrt 23.05.3。其他固件的配置方法可能与本文不尽相同。
安装软件
导航到系统>软件包,搜索并安装luci-proto-wireguard和qrencode两个软件包,其中luci-proto-wireguard 是WireGuard的核心包,qrencode用来生成客户端二维码。
安装后重启一次网络服务,也便让接口生成WireGuard VPN协议,也可以重启OpenWrt,否则无法进行下一步!
转到系统>启动项,找到network,点击右侧的重启按钮即可。
配置服务
1、创建接口
WireGuard在OpenWrt中是以接口的形式来配置和使用,转到网络>接口,添加一个接口,协议选WireGuard VPN。
接口配置选项如下:
在常规则设置栏,点击生成新的密钥对,输入监听地址和IP地址,该IP地址是WireGrard VPN隧道使用的地址,不能与LAN接口地址在同一网段。
高级设置部分,选中使用默认网关选项,通过openwrt来路由流量,其他选项保持默认即可。
防火墙区域,设置为与LAN在同一区域,方便访问内网资源。
添加一个远程端点,点击生成新的密钥对,输入远程端点的IP地址,该IP地址必须与WireGuard服务器的IP地址在同一网段。
防火墙配置
放行WireGrard入站端口。转到网络>防火墙,通信规则选项卡,添加一条放行规则,源区域为WAN,目标区域为设备,目标IP端口为WireGuard服务器设置的监听端口,操作选接受。
添加完成以后如下图所示:
至次,OpenWrt的WireGuard服务器就配置完成了。
客户端配置
在WireGuard接口的对端中打开目标对端的详情页,点击生成配置按钮,此页面上半部分设置导出给客户端配置的连接端点、路由、DNS和IP 等信息,下半部分则是对应的配置二维码。
如果是动态公网,可以在连接端点处输入动态域名,回车确认后会生成新的连接二维码。
Windows系统只需要在WireGuard新建一个空隧道,然后复制上面的配置文本即可建立隧道。
检查测试
手机客户端关闭WIFI,使用5G连接,打开WireGuard软件的VPN连接,测试是否可以正常访问OpenWrt 。如果OpenWrt设置了代理,那么手机客户端也能正常访问google、Youtube等网站。WireGuard连接状态可以在状态>WireGuard处查看。
步骤和配置都没有问题,但是死活连不上,实例也没有对端出现,试试重启一下OpenWrt,可能会解决问题。