1118 字
6 分钟

测试immoralwrt和手机安装使用wireguard隧道连接功能

Wireguard官网地址,需要魔法

1. 路由器设置#

1.1 安装#

luci-proto-wireguard
wireguard-tools

1.2 重启路由器#

1.3 网络—>接口—>添加新接口:#

  • 名称:wg0
  • 协议:选WireGuard VPN
  • 创建接口

1.3.1 常规设置:#

  • 点击生成新的密钥对
  • 设置监听端口:23456
  • IP地址:10.66.66.1/24

1.3.2 高级设置:#

  • MTU:1380
  • 去掉勾选:使用该接口的网关作为默认网关

1.3.3 防火墙设置:#

自定义,名称wg0,本处创建一个防火墙,具体配置要在 1.4.1配置

1.3.4 DHCP服务器:#

  • 不设置

1.3.5 对端:#

添加对端:

  • 點擊生成新的密钥对
  • 允许的 IP 填写10.66.66.2/32
  • 持续保持连接 填写 25

多个对端ip向后排,在接口ip网段的范围内,掩码必须是32位,避免路由表冲突覆盖

1.4 网络—>防火墙#

1.4.1 編輯1.3.3創建的防火墻#

常规设置:

  • 名称 wg0
  • 入站数据: 接受
  • 出站数据: 接受
  • 区域内转发: 接受
  • IP动态伪装(Masquerading): 可选
  • 涵盖的网络(Covered networks):wg0
  • 允许转发到 目标区域(Allow forward to destination zones):lan
  • 允许来自 源区域 的转发(Allow forward from source zones):留空

高级设置

保持默认

  • 覆盖的设备:未指定
  • 覆盖的子网:留空
  • IPv6 伪装:不勾选
  • 地址族限制:默认 IPv4 和 IPv6
  • 将 IP 动态伪装源地址限制在指定子网:0.0.0.0/0
  • 将 IP 动态伪装目的地址限制在指定子网:0.0.0.0/0
  • 启用此区域的日志记录:不勾

连接跟踪设置

保持默认

  • 允许“无效”流量: 不勾
  • 自动助手分配:默认,勾选

1.4.2 通信规则—>添加#

常规设置

  • 名称:自定义 allow wireguard
  • 协议:UDP
  • 源区域:wan wan6
  • 源地址: 默认不做配置
  • 源端口: 任意
  • 目标区域:设备(输入)
  • 目标端口:自定义,与1.3.1端口相同23456
  • 操作:接受

高级设置:默认

时间限制:默认

2. 手机端操作#

2.1 在路由器网页生产二维码#

网络 → 接口 → wg0 → 编辑 → 对端 → 编辑 → 最下方的生成配置二维码(不要保存,完成2.3步之后再保存)

2.2 WireGuard App#

添加 → 扫描二维码 → 起名字 → 保存

2.3 返回第2.1步路由器网页生产二维码操作#

返回对端配置—>删除路由器里面的peer里的私钥,然后保存—>上一级保存,最后上一级保存并应用,避免服务端异常、多个peer只有一个能用问题

2.4 编辑刚才保存的节点#

MTU 1380
对端 把IP地址改成动态域名
若只需要访问内网设备,把最下面的**路由的IP地址(段)**改成:内网网段,例如192.168.1.0/24

区别:

写法意义
0.0.0.0/0手机上所有流量走 VPN
192.168.1.0/24只访问家里内网,目的地址非这个网段的都走手机本身的出口

3. 避坑#

3.1 peer都不能握手#

如果客户端开启了wg节点,但是不显示上次握手时间,也就是隧道无效果,那么重启wg0接口,或者重启路由器,再测试。

3.2 AllowedIPs 掩码坑#

服务端 peer 写成 /24,多个peer情况,路由表会冲突被覆盖,结果仅一个peer可握手

解决办法:

1.3.1 常规设置章节的,设置一个大段用来容纳多个peer,各个peer的允许ip,既在接口ip网段内,又不能相互覆盖网段,最好都用32位掩码。例如:

位置掩码
接口 IP/24
Peer AllowedIPs/32

3.2.1 多 peer 正确结构举例:#

服务端客户端(peer)
wg0: 10.66.66.1/24
peer1: 10.66.66.2/32
peer2: 10.66.66.3/32
peer3: 10.66.66.4/32
Address = 10.66.66.X/24
Address = 10.66.66.X/24

3.3 服务端不能填写 peer 私钥#

在 OpenWrt 里,给 peer 填了:私钥,会导致只有一个peer正常连接,因此在保存完peer配置后,必须’删除peer的私钥’并保存应用

  • OpenWrt 生成一个“本地 peer 接口”
  • 内核状态异常
  • 新 peer 握手失败
  • 或覆盖旧 peer

WireGuard 正确的密钥关系:

服务端(wg0 接口)每个 Peer(客户端)
有自己的私钥
有自己的 公钥
只填写 客户端的公钥
❌ 不应该填写客户端私钥
❌ 服务端绝对不应该保存客户端私钥

3.4 peer用同公网出口冲突#

peer使用相同公网出口,wireguard服务端只会记住最后一个,其他都忽略,因此,peer不能使用同一个公网出口

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

测试immoralwrt和手机安装使用wireguard隧道连接功能
https://blog.rax.pp.ua/posts/openwrt-wireguard/
作者
DH
发布于
2026-02-15
许可协议
CC BY-NC-SA 4.0
最后更新于 2026-02-15,距今已过 39 天

部分内容可能已过时

目录