2022年lede固件默认编译的时候已经支持WireGuard进固件保持固件是最新即可
如果编译的时候取消了 后面安装是很麻烦的 因为内核不匹配,和仓库有兼容性问题
最好的办法就是编译的时候就已经选择,后面也不要取消

openwrt WireGuard 连接局域网 2022

下载客户端生成密钥

https://www.wireguard.com/install/

生成密钥

我们生成两个隧道 一个作为服务端 一个作为客户端 没错逻辑和ssh一模一样。

生成的密钥

openwrt 服务端配置

然后我们就登录到OP的web界面找到网络-接口-添加新接口 添加一个名称为WG0 新接口协议

WireGuard VPN 然后我们点击提交

创建接口

然后到我们刚刚用客户端生成的1openwrt 点击编辑 把 PrivateKey私钥复制到基本设置-私钥

复制1openwrt私钥

并填写相关配置监听端口随意比如说我的4399 IP地址为10.0.0.1/24

基本设置

配置Peers

复制2win客户端的公钥

复制2win客户端公钥

点击添加 复制2win客户端的公钥 添加到Peers公钥 选项并填写允许IP为10.0.0.0/24 配置如下

点击保存&应用 其他不用配置

Peers设置

配置防火墙并开启端口

接口-WG0-防火墙设置 选择lan区域 点击保存&应用

设置防火墙区域

防火墙-通信规则-打开路由器端口 自定义名字WG0 协议选择UDP 外部端口选择4399 点击添加 在最下面点击保存&应用

打开路由器端口

WIN客户端配置

点击编辑2win 复制下面参数 从Address开始复制 把Peer选项中PublicKey公钥 替换为1openwrt的公钥

好好理解这段话 其实和ssh的过程一样 都是两个端之间交换公钥来互相通信,其中192.168.100.0/24为我局域网网段作用为远程访问openwrt lan下地址

[Interface]
PrivateKey = sAueVLI2sdRY42jmjcMoXDYFns4M1Qd/47GN0DpsA3E=
Address = 10.0.0.2/24
DNS = 1.1.1.1

[Peer]
PublicKey = H0DDIv4uZHKJ/BGG4Mqxp5734f/0cGtmZ7SOOzYMZig=
AllowedIPs = 192.168.100.0/24, 10.0.0.0/24
Endpoint = x.gao4.top:4399
PersistentKeepalive = 25 

点击保存 再点击连接进行测试 接受有流量就代表我们连接成功,反之没有流量显示已连接其实没有连接成功2win客户端1

客户端配置2

测试连接

测试连接vpn网段

 ping局域网ip

测试局域网网段连接性

后言

配置很简单 就是有时候理解不了,为什么这么配置 本教程合适已经有些配置经验的老哥,

后续更新

2022年4月24日
在同一网段 不同网关的情况下 添加防火墙规则 防火墙-自定义规则
例子 在局域网里 我系统A地址是 192.168.100.196 网关是192.168.100.1 openwrt软路由 系统B地址是 192.168.100.187网关是192.168.100.4 那么就需要添加下面规则 规则来源于IOIOX博客https://www.ioiox.com/archives/143.html

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o br-lan -j MASQUERADE
# 注意此条防火墙网段 10.0.0.0/24 需和上文服务端 IP 网段保持一致.