最近升级了软路由器,在配置VPN服务,openwrt上基于luci-app-openvpn插件搭建openvpn服务,记录下了OpenVPN Server的搭建过程,而且过程中发现了另一种方案搭建VPN:WireGuard
WireGuard介绍
WireGuard 是一个现代 VPN 协议,由 Jason Donenfeld 开发,于 2020 年正式并入 Linux 内核。
设计目标只有三个:
- 简单(Simple)
- 快速(Fast)
- 安全(Secure)
相比 OpenVPN 二十多年的历史包袱,WireGuard 几乎是从零重新设计的。它只有约 4000 行代码,而 OpenVPN 的代码量达到数十万行,因此更容易审计和维护。
而且资源占用很低,所以这里我准备换一个VPN方案
安装WireGuard
一般来说可以在系统-软件包里搜索luci-proto-wireguard安装,但是有时会出现kmod-wireguard这个内核模块缺失,因为我是自己编译的ImmortalWrt,我重新编译把Luci里的这个软件包选上即可,内核会自动依赖进来。
安装完成以后,服务里并不会出现新的插件菜单,而是在网络 - 接口里添加新接口,会出现新的协议:WireGuard VPN
配置WireGuard
添加新接口,取名wg0,选择WireGuard VPN协议,创建接口
点击生成新的密钥对,监听端口默认填写51820,IP地址填写10.8.0.1/24
在切换到对端Tab配置,添加对端,给一个名称描述比如iPhone,同样要生成新的密钥对,允许的IP填写10.8.0.2/32,勾选为允许的对端 IP 创建路由,勾选这个才会自动把内网请求路由到VPN上。后面的对端地址、对端端口都不用填写,直接生成配置即可,会生成二维码手机WireGuard App扫码即可创建成功,如果软路由有配置DDNS则会自动把Endpoint带入DDNS的域名
使用
对端配置完成后最好重启一下网络,使用这个命令:/etc/init.d/network restart
不重启的话状态 - WireGuard里有时会出不来对端,确认状态 - WireGuard里已经有了配置好的对端后,直接连接即可
评论区