求大神指导下 wsl2 的网络配置

查看 73|回复 6
作者:wxyoung   
我在 wsl 里,设置了/etc/wsl.conf ,就无法访问外网,ping 不通,一旦删除/etc/wsl.conf 就可以访问了,但是无法使用 service 了,不知道哪里出的问题,下面是配置信息
Windows 11 专业工作站版 23H2
WSL 版本:2.2.4.0
内核版本:5.15.153.1-2
WSLg 版本:1.0.61
MSRDC 版本:1.2.5326
Direct3D 版本:1.611.1-81528511
DXCore 版本:10.0.26091.1-240325-1447.ge-release
Windows 版本:10.0.22631.3447
.wslconfig(windows)配置如下
[wsl2]
memory=20GB                   #限制最大内存
processors=8                  #限制线程数
localhostforwarding=true
nestedVirtualization=true
guiApplications=true
[experimental]
autoMemoryReclaim=gradual  # gradual  | dropcache | disabled
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
sparseVhd=true
[network]
generateResolvConf = false
我的/etc/wsl.config 配置如下
[boot]
systemd=true
[network]
generateResolvConf = false
[user]
default = root
我的/etc/resolv.conf 配置如下:
nameserver 8.8.8.8
nameserver 8.8.4.4
javazero   
改桥接试试,目测是 dns 的问题。
wxyoung
OP
  
@javazero 改桥接的话,windows 如何访问 wsl 里的 nginx ,应该不是固定 ip 吧
zed1018   
试试不要把 generateResolvConf 设为 false ,让 wsl2 用 windows 的 dns 。
这是我的配置
[wsl2]
networkingMode=mirrored
dnsTunneling=true
autoProxy=true
firewall=true
[experimental]
sparseVhd=true
autoMemoryReclaim=gradual
hostAddressLoopback=true
wxyoung
OP
  
@zed1018 你的/etc/wsl.conf 是什么
liuhaitaoSB   
看你的需求应该是想访问 wsl2 里面的服务,并且 让 wsl2 能访问外网.
generateResolvConf = true 或者删除.
重启瞎 wsl
再进入 wsl,查看/etc/resolv.conf
打开 powershell ,ipconfig 看看上面 ip 对应的网卡, 比如说 以太网适配器 vEthernet (WSL (Hyper-V firewall)):
然后,管理员执行
New-NetFirewallRule -DisplayName "WSL_Hyper-V firewall" -Direction Inbound -InterfaceAlias "vEthernet (WSL (Hyper-V firewall))" -Action Allow
这时, 就可以用 resolv 里面的 ip 乃访问 wsl 了.
liuhaitaoSB   
@wxyoung 桥接的时候可以指定 ip 啊.
您需要登录后才可以回帖 登录 | 立即注册

返回顶部