wsl2 镜像网络模式与 clash tun 模式冲突的解决方案

查看 42|回复 1
作者:kuingsmile   
参考 /t/975098?p=2 中有人提到的,同时设置了 wsl2 镜像网络模式和 clash 的 tun 模式之后,wsl2 内的 https 访问会无法连接的问题。
经过测试发现原因是由于 clash 的 tun 模式默认 MTU 为 9000 ,修改为 1500 就正常了。
先使用命令ifconfig,查找 ip 地址为198.18.0.1的网卡的名字,比如eth4,然后 root 用户执行ip link set eth4 mtu 1500就可以了。
想开机自动执行的话,在/etc/systemd/system目录下添加一个文件mtufix.service,内容:
[Unit]
Description=clash tun mtu fix
After=network-online.target
[Service]
ExecStart=/usr/sbin/ip link set eth4 mtu 1500
[Install]
WantedBy=multi-user.target
然后执行
systemctl enable mtufix.service
systemctl start mtufix.service

MTU, eth4, rvi, Clash

zuotun   
解决方案是别用镜像模式, 宿主机都访问不了虚拟机的端口....
docker 暴露一个端口, WSL 用 Windows 对外 IP 可以访问, Windows 用相同 IP 或者 127 都不通, 这算什么事?
不仅如此, 还连带我其他 Windows 上直接起的也不行, node 项目唤起浏览器然后 localhost:3000 不通....
我甚至都没开什么 clash, 关闭镜像网络重启之后就好了, 过程中 Docker Desktop 会断开连接别的也没什么.
您需要登录后才可以回帖 登录 | 立即注册

返回顶部