yyhhyy's blog

yyhhyy

解决 WSL2 与 Tunnel 模式网络冲突:MTU 设置妙招

105
2024-09-26

1. 起因

最近由于条件问题,没法使用公司服务器,但是部署dify的最佳条件是在Linux上,本来想继续沿用我以前的做法,装VMware。后面了解到有WSL这一虚拟机,因此决定使用其作为部署dify的设备。且dify又得内网都能使用,这边参考了一篇blog,因此只能使用WSL2的镜像模式了。附上.wslconfig配置:

[experimental]
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
hostAddressLoopback=true

2. 具体问题

我的Windows本机是常年开启mihomo的,并且我也经常使用的是tunnel模式。但是我发现,一旦我开启tunnel模式,WSL2里面的网络环境就会异常,基本上就是处于无法上网的情形。看了不少文章,说改stackgVisor就行,然而实际测试下来是不行的。

3. 解决方案

只需要在mihomo中的tun部分的mtu改成1500即可

tun:
  enable: true
  stack: system
  device: utunmiho
  dns-hijack:
    - any:53
    - "tcp://any:53"
  auto-route: true
  auto-detect-interface: true
  strict-route: true
  mtu: 1500

至此 问题直接迎刃而解,具体缘由不太清楚,后续如果有深入再做补充,也请有相关经验的朋友给予帮助~