WSL2 固定IP與區域網訪問

Heei發表於2024-05-03

前言

  • 新版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執行的服務本機和區域網內都可以訪問到了

相關文章