记录一次奇怪的VPN问题WireGuard| 能ping能smb但网页全挂
编辑最近遇到一个很离谱的问题,记录一下,希望对以后踩坑的自己有用,也帮到碰到类似现象的人。
🧩 问题现象
我在单位一直通过 WireGuard VPN 连回家里,目标是访问家里的设备(群晖NAS、PVE服务器等)。用起来一直是没有问题的,但是最近使用单位的网络突然出现了一下情况:
-
✅ 可以 ping 通家里的 NAS 和 PVE
-
✅ 可以通过 SMB 访问 NAS 里的共享文件夹
-
❌ 但就是群晖的网页(5000端口)和 PVE 管理界面(8006端口)打不开
浏览器里直接超时,curl 也没有返回,使用手机开热点访问却没有问题。
🔍 排查过程
-
NAT 转发做了,MASQUERADE 没问题
-
防火墙没开,或者说相关段都已放行
-
AllowedIPs 配置也包含了
10.0.0.0/24
-
甚至把 NAS 的服务监听从特定 IP 改成 0.0.0.0,都没用
-
用 ping 测试也都是通的,延迟很低
唯一的共同点是:网页访问失败,ping 和 SMB 正常
一开始怀疑是 PVE 和群晖只监听局域网 IP,但抓包发现请求根本没到。
于是我怀疑是不是 MTU 有问题。
⚙️ 解决方法
试着在 WireGuard 客户端配置里加上一行:
MTU = 1280
这是我当前的客户端配置(简化版):
[Interface]
PrivateKey = xxxxx
Address = 10.6.0.2/24
DNS = 192.168.1.1
MTU = 1280
[Peer]
PublicKey = xxxxx
Endpoint = my-home.ddns.net:51820
AllowedIPs = 192.168.1.0/24, 10.6.0.1/32
保存后重连,结果立刻就好了:
-
群晖 DSM 网页秒开
-
PVE 8006 管理界面也顺利打开
-
再也没有“能 ping 不能访问网页”的问题了
💡 为什么会这样?
大概率是因为单位 Wi-Fi 或中间链路的 MTU 设置较小,WireGuard 默认的 MTU(比如 1420)过大,导致 TCP 包被丢弃或无法重组,从而出现奇怪现象:
-
小包能通过(ping、SMB)
-
大包不通(网页加载)
把 MTU 降低到 1280 后,所有流量都能稳定传输了。
✅ 小结
这问题真的有点阴间,属于那种“明明网络通了却用不了”的典型案例。
如果你也遇到:
-
WireGuard 能连上
-
ping 正常,SMB 正常
-
但网页打不开(群晖、PVE、Unraid、HomeAssistant等)
优先试试把 MTU 设置成 1280,能救命。
- 0
-
分享