记录WSL的一些配置(网络,header文件)

发布时间 2023-11-15 09:18:11作者: MJ未来

一、WSL2配置网络

WSL 2 发布了最新版本 2.0.0,这个版本开始,自带支持新的镜像网络解决所有的网络相关问题。

需要条件:Windows 11 22H2以上的版本,安装好的WSL2和linux。

更新 WSL:wsl --update --pre-release

在用户目录 %USERPROFILE% 下面创建一个配置文件 .wslconfig,写入以下内容:

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

如果你遇到 docker 无法从 Windows 访问的问题,这个是 iptables 的问题,在 /etc/docker/daemon.json 里添加一句 "iptables": false 就好了。

二、安装WSL2头文件

前提条件:安装好的WSL2,并已选用。

  1. 首先,到 Releases · microsoft/WSL2-Linux-Kernel · GitHub 这里下载你内核对应版本的源码
  2. 安装依赖:sudo apt install libelf-dev build-essential pkg-config
  3. 安装依赖:sudo apt install bison build-essential flex libssl-dev libelf-dev bc
  4. 内核源码下载后,先 cp 到wsl里面的home目录,千万不能直接在windows目录里,那样子会失败的
  5. 执行解压缩:tar -zxvf xxxx.tar.gz
  6. 进入源码文件夹,执行 cp Microsoft/config-wsl .config
  7. 上一步执行完毕,参照bpftrace的要求,在.config文件末尾加上bpftrace/INSTALL.md at master · iovisor/bpftrace (github.com) 这里提到要加的配置项
  8. 再执行 make oldconfig && make prepare
  9. 执行 make scripts
  10. 再执行 sudo make modules && sudo make modules_install

 

参考资料:

WSL2 网络的最终解决方案 - 知乎 (zhihu.com)

WSL升级到最新版本Linux内核headers的方法 - 知乎 (zhihu.com)