记录一次奇怪的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,能救命。
- 3
- 
              
              
  分享
