路由器上连接Windows VPN提示MTU过小的解放方案

  • 内容
  • 评论
  • 相关
文章目录
[隐藏]

起因

最近看路由器日志里一堆错误,都是

May 24 16:28:43 kernel: mppe_compress[5]: osize too small! (have: 1408 need: 1412)
May 24 16:28:43 kernel: ppp5: ppp: compressor dropped pkt
May 24 16:28:43 kernel: mppe_compress[5]: osize too small! (have: 1408 need: 1412)
May 24 16:28:43 kernel: ppp5: ppp: compressor dropped pkt
May 24 16:28:43 kernel: mppe_compress[5]: osize too small! (have: 1408 need: 1412)
May 24 16:28:43 kernel: ppp5: ppp: compressor dropped pkt
May 24 16:29:25 kernel: mppe_compress[5]: osize too small! (have: 1408 need: 1412)
May 24 16:29:25 kernel: ppp5: ppp: compressor dropped pkt
May 24 16:29:25 kernel: mppe_compress[5]: osize too small! (have: 1408 need: 1412)
May 24 16:29:25 kernel: ppp5: ppp: compressor dropped pkt
May 24 16:29:25 kernel: mppe_compress[5]: osize too small! (have: 1408 need: 1412)
May 24 16:29:25 kernel: ppp5: ppp: compressor dropped pkt
May 24 16:29:25 kernel: mppe_compress[5]: osize too small! (have: 1408 need: 1412)
May 24 16:29:25 kernel: ppp5: ppp: compressor dropped pkt

因为我上网是通过连接网络中心的VPN(搭建在Windows Server)解决的,虽然出现这个错误时不影响联网。但是强迫症迫使我要解决掉它。

过程

一开始我以为是路由器设置原因,但是看路由器上有关MTU的设置均大于提示的1408。后来发现原来是Windows VPN服务器的问题,在Windows的cmd中输入netsh interface ipv4 show subinterfaces。会发现它将所有的VPN连接的MTU限制在了1400。然后在路由器的shell中输入ifconfig ppp5会发现路由器与Windows VPN协商后将MTU限制为1400。

解决方案

既然是Windows的问题,于是我尝试着将Windows VPN的MTU提高,但是实测无效,只能在路由器上执行ifconfig ppp5 mtu 1404强行将MTU提高,问题解决。