iStoreOS + WireGuard 客户端踩坑
网络拓扑

遇到的问题
PC 连接 RDS 时,获取不到数据表相关的任何信息,navicat 客户端一直转圈,像是等待数据接受
问题排查
能ping通,说明 VPN 网络已经建立成功
在 ECS 上通过 tcpdump 命令抓包,并再次使用 nacivate 打开数据库
sudo tcpdump -w example.pcap将 example.pcap 下载到本地,通过 WireShark 打开查看

Fragmentation needed 服务端返回的包大小为 1515, 接收端只能接收的包大小为 1420,需要分包

解决方案
在 OpenWrt 中开启 MSS 钳制
MSS 钳制(Maximum Segment Size Clamping)是 TCP/IP 网络中的一种技术,用于调整 TCP 连接的最大段大小(MSS)参数。
什么是 MSS?
MSS(Maximum Segment Size)是 TCP 协议中的一个重要参数,表示 TCP 连接中能够传输的最大数据段大小(不包括 TCP 头)。它通常比 MTU(最大传输单元)小 40 字节(IPv4)或 60 字节(IPv6),为 IP 和 TCP 头留出空间。
MSS 钳制的作用
MSS 钳制主要用于解决以下问题:
- 路径 MTU 发现问题:当路径 MTU 发现失败时,MSS 钳制可以防止数据包过大导致分片
- 网络设备兼容性:某些网络设备可能无法正确处理大尺寸数据包
- 优化传输效率:通过调整 MSS 可以提高网络传输效率
实现方式
MSS 钳制通常在以下位置实现:
- 防火墙/路由器:在网络边界设备上修改 TCP SYN 包中的 MSS 选项
- 操作系统:在主机 TCP/IP 栈中设置 MSS 上限
常见应用场景
- VPN 连接中,由于额外封装头需要减小 MSS
- PPPoE 连接(通常 MTU 为 1492,MSS 相应减小)
- 避免 IP 分片,特别是在有 NAT 的环境中
WireGuard 安装
iStore 版本 22.03 branch git-24.034.55136-8c924fc
系统默认自带的镜像源中,wireguard 相关的包搜索不到,需要手动从 https://downloads.openwrt.org/releases/packages-22.03/x86_64/luci/ 下载,确认以下版本可以安装在 22.03 版本的 openwrt 中
luci-proto-wireguard_git-24.047.55738-270b737_all.ipk
luci-app-wireguard_git-23.018.72712-6d712c3_all.ipk
安装完成后重启
WireGuard 配置
- 网络 > 接口:添加新接口,协议中选择 WireGuard VPN

image 18 - 网络 > 接口:选择创建好的 WireGuard 接口,编辑

image 19 - 在常规选项卡中,填入 WireGuard 的私钥、公钥信息,因为不是作为 WireGuard 服务端,监听端口可以不填,ip 地址按照服务端预先设置好的规则填入(vpn网络的 ip 网段划分,IPv4,IPv6 都输入)

image 20 - 在对端选项卡中,添加 WireGuard 服务端的信息

image 21 - 在防火墙设置中,通过自定义新增一个 wiregurad 区域

image 22 - 网络 > 防火墙:转发相关设置
这里的 MSS 钳制非常重要,一开始没勾选,导致后面本地访问远程阿里云端的 MySQL 时,数据库响应异常

image 23 
image 24 
image 25 
image 26 - 网络 > 接口:重启 WireGuard 接口

image 27 - 状态 > WireGuard:查看 WireGuard 的状态

image 28
wg-eazy 重置密码
# https://wg-easy.github.io/wg-easy/v15.1/guides/cli/docker compose exec -it wg-easy cli db:admin:reset --password '123456789012'📎 参考文章
- https://ifconfiger.com/articles/disaster-by-mtu
- https://www.cnblogs.com/milton/p/15339908.html
- https://kyxie.me/zh/blog/tech/router/wireguard/
- https://www.right.com.cn/forum/thread-8297261-1-1.html
- https://blog.kuretru.com/posts/bf63e0c4/
- https://arthurchiao.art/blog/tcpdump-practice-zh/
- https://www.cnblogs.com/wongbingming/p/13212306.html
- https://ikula.org/istoreos作为旁路由安装wireguard/
- https://zhuanlan.zhihu.com/p/27783376221
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!













