WSL2 在 Windows10下的 网卡 配置问题
在用户目录 %USERPROFILE% 下面创建一个配置文件 .wslconfig。然后输入'wsl --shutdown'停止wsl,然后再次输入wsl。以上在win11上可行,但在win10上会有如下报错。根据讨论来看,就算把它写成json格式也并不生效。这个issue对应讨论已经提交在github上。编辑 /etc/wsl.conf。网络上的大部分解决方案是。
文章共413字 · 阅读需要大约2分钟
一键AI生成摘要,助你高效阅读
问答
·
网络上的大部分解决方案是
在Hyper-V 的WSL的虚拟交换机中的连接类型改成外部网络
然后在用户目录 %USERPROFILE%
下面创建一个配置文件 .wslconfig
[wsl2]
networkingMode=bridged # 桥接模式
vmSwitch=WSL # 你想使用的网卡
ipv6=true # 启用 IPv6
以上在win11上可行,但在win10上会有如下报错
虚拟机或容器 JSON 文档无效。
Error code: Wsl/Service/CreateInstance/CreateVm/ConfigureNetworking/0x8037010d
这个issue对应讨论已经提交在github上
https://github.com/microsoft/WSL/discussions/9227github.com/microsoft/WSL/discussions/9227
根据讨论来看,就算把它写成json格式也并不生效。
摘录下colin4k 大佬的解决方法
在 .wlsconfig 中,它应该是:
{
"networkingMode": "bridged",
"vmSwitch": "WSL",
"dhcp": "false",
"ipv6": "true",
"localhostForwarding": "true"
}
然后你需要创建一个文件,路径为:/usr/lib/systemd/network/wsl_external.network,然后输入:
[Match]
Name=eth0
[Network]
Description=WSLBridge
DHCP=false
Address=192.168.1.222/24
Gateway=192.168.1.1
DNS=192.168.1.1
编辑 /etc/wsl.conf
[boot]
systemd=true
[network]
generateResolvConf = false
然后进行操作
rm -f /etc/resolv.conf
echo "nameserver 192.168.1.1" > /etc/resolv.conf
systemctl list-unit-files --type=service
systemctl enable systemd-networkd
systemctl restart systemd-networkd
systemctl enable systemd-resolved.service
systemctl restart systemd-resolved.service
然后输入'wsl --shutdown'停止wsl,然后再次输入wsl
更多推荐
已为社区贡献1条内容
所有评论(0)