WSL2 固定IP与局域网访问

前言

  • 新版WSL2已经支持镜像模式网络 可以将WSL2的IP固定为与主机相同 镜像模式网络
  • 但是在启用后WSL2中Docker运行的服务本机无法访问 issues 10494
  • 结合上述issues给出自己的使用新的帮助大家避坑

环境

  • Win11 23H2win + r > winver
  • WSL 2.1.5.0win + r > cmd > wsl --version

步骤

  • 编辑wslconfig开启镜像网络 wsl-config
  • win + r 输入 %UserProfile% 新建 .wslconfig 建议内容如下
[wsl2]
memory=8GB #内存最大值
swap=8GB #虚拟内存最大值
processors=4 #cpu核最大值
networkingMode=mirrored # 开启镜像网络
dnsTunneling=true # 开启 DNS Tunneling
firewall=true # 开启 Windows 防火墙
autoProxy=true # 开启自动同步代理

[experimental]
sparseVhd=true # 开启自动释放 WSL2 虚拟硬盘空间
autoMemoryReclaim=gradual # 开启自动回收内存
hostAddressLoopback=true # 允许容器通过分配给主机的 IP 地址连接到主机
  • 开放防火墙 管理员权限打开PowerShell运行
Set-NetFirewallHyperVVMSetting -Name ‘{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}’ -DefaultInboundAction Allow
  • 重启WSL2之后本机和局域网即可通过本机IP访问WSL2中的服务

开启Docker并使其可访问

  • 按照官方步骤安装WSL2 install
  • 安装Docker(docker-ce)
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 等待20s自动安装Docker
  • 编辑/etc/docker/daemon.json文件添加如下内容
{
  "iptables": false
}
  • 重启WSL2之后WSL2中Docker运行的服务本机和局域网内都可以访问到了
posted @ 2024-05-03 21:54  Heei  阅读(3215)  评论(0编辑  收藏  举报